Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-51935

Implement Oracle database schema to accept VARCHAR2 datatype for Confluence database column.

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • None
    • None
    • None
    • 15
    • 2
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

      NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.

      Confluence upgrade task will failed if the pre-upgrade Oracle DB dialect uses column data types that do not support Unicode (VARCHAR data type). This will need a modification of the database column that uses VARCHAR2 datatype to NVARCHAR2 datatype as per knowledge base article below:

      Therefore, it is much convenient if we could implement a schema to accept the VARCHAR2 datatype for ease of upgrading Confluence.

      Snippet from Oracle documentation which recommend using VARCHAR2 over NVARCHAR2 datatype:

      Link: http://docs.oracle.com/database/121/NLSPG/ch6unicode.htm#NLSPG319

          Form Name

            [CONFSERVER-51935] Implement Oracle database schema to accept VARCHAR2 datatype for Confluence database column.

            As stated in your document, Atlassian recommand "net.sf.hibernate.dialect.OracleIntlDialect" as the dialect.

            But when Confluence start, it always change the dialect to "com.atlassian.confluence.impl.hibernate.dialect.OracleDialect.

            A mistyped dialect will lead to an error, so I supposed that this is changed by a check-routine...

             

            Is it true to say that when using a none international dialect, it will lead to create VARCHAR2 AO tables ?

             

            Michael

             

            Michael Regelin added a comment - As stated in your document, Atlassian recommand "net.sf.hibernate.dialect.OracleIntlDialect" as the dialect. But when Confluence start, it always change the dialect to "com.atlassian.confluence.impl.hibernate.dialect.OracleDialect. A mistyped dialect will lead to an error, so I supposed that this is changed by a check-routine...   Is it true to say that when using a none international dialect, it will lead to create VARCHAR2 AO tables ?   Michael  

            Hi,

            We are using UNICODE, so NVARCHAR2 is useless.

            We should have only VARCHAR2 in this case.

             

            I hope, that we could soon get rid of NVARCHAR2 columns. This is the more logical in our situation and the most simple.

            Therefore, I vouch for this implementation.

             

            Michael

            Michael Regelin added a comment - Hi, We are using UNICODE, so NVARCHAR2 is useless. We should have only VARCHAR2 in this case.   I hope, that we could soon get rid of NVARCHAR2 columns. This is the more logical in our situation and the most simple. Therefore, I vouch for this implementation.   Michael

              Unassigned Unassigned
              dazmi Dayana
              Votes:
              10 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated: