[Libreoffice-commits] core.git: 4 commits - connectivity/registry connectivity/source

Andrzej J.R. Hunt andrzej at ahunt.org
Wed Jul 24 11:38:43 PDT 2013


 connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu |   49 +++--
 connectivity/source/drivers/firebird/FConnection.cxx                        |   58 ++++++
 connectivity/source/drivers/firebird/FDatabaseMetaData.cxx                  |   88 +++++-----
 connectivity/source/drivers/firebird/FDriver.hxx                            |    5 
 connectivity/source/drivers/firebird/FStatement.cxx                         |   17 -
 connectivity/source/drivers/firebird/FStatement.hxx                         |    3 
 connectivity/source/drivers/firebird/StatementCommonBase.cxx                |   16 -
 connectivity/source/drivers/firebird/StatementCommonBase.hxx                |    1 
 8 files changed, 152 insertions(+), 85 deletions(-)

New commits:
commit 56435965c5ebd28c7e3af7d1a1a7489af938063e
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Wed Jul 24 20:09:39 2013 +0200

    Tidy up / implement identifier metadata (firebird-sdbc).
    
    Change-Id: Ifcfcd3434b4fa50b9018365b738fcc922e03d9b2

diff --git a/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu b/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu
index 2c3fc4f..84ca47c 100644
--- a/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu
+++ b/connectivity/registry/firebird/org/openoffice/Office/DataAccess/Drivers.xcu
@@ -55,9 +55,24 @@
             <value>false</value>
           </prop>
         </node>
-      </node>
+        <node oor:name="UseCatalog" oor:op="replace">
+          <prop oor:name="Value" oor:type="xs:boolean">
+            <value>false</value>
+          </prop>
+        </node>
+      </node><!--Properties-->
       <node oor:name="Features">
-      </node>
+        <node oor:name="UseCatalogInSelect" oor:op="replace">
+          <prop oor:name="Value" oor:type="xs:boolean">
+            <value>false</value>
+          </prop>
+        </node>
+        <node oor:name="UseSchemaInSelect" oor:op="replace">
+          <prop oor:name="Value" oor:type="xs:boolean">
+            <value>false</value>
+          </prop>
+        </node>
+      </node><!--Features-->
       <node oor:name="MetaData">
       </node>
     </node>
@@ -83,23 +98,23 @@
             <value>false</value>
           </prop>
         </node>
+        <node oor:name="UseCatalog" oor:op="replace">
+          <prop oor:name="Value" oor:type="xs:boolean">
+            <value>false</value>
+          </prop>
+        </node>
       </node>
       <node oor:name="Features">
-        <!-- These entries enable the "Advanced Settings" UI to change the settings
-             whose default is set in node "Properties" above;
-             as this is guaranteed not to work with PostgreSQL,
-             we don't let people shoot themselves in the foot and don't enable the UI. -->
-      <!--   <node oor:name="EscapeDateTime" oor:op="replace"> -->
-      <!--     <prop oor:name="Value" oor:type="xs:boolean"> -->
-      <!--       <value>false</value> -->
-      <!--     </prop> -->
-      <!--   </node> -->
-        <!--   Confusingly, this corresponds to "EnableOuterJoinEscape" in the Properties -->
-      <!--   <node oor:name="UseBracketedOuterJoinSyntax" oor:op="replace"> -->
-      <!--     <prop oor:name="Value" oor:type="xs:boolean"> -->
-      <!--       <value>false</value> -->
-      <!--     </prop> -->
-      <!--   </node> -->
+        <node oor:name="UseCatalogInSelect" oor:op="replace">
+          <prop oor:name="Value" oor:type="xs:boolean">
+            <value>false</value>
+          </prop>
+        </node>
+        <node oor:name="UseSchemaInSelect" oor:op="replace">
+          <prop oor:name="Value" oor:type="xs:boolean">
+            <value>false</value>
+          </prop>
+        </node>
       </node>
       <node oor:name="MetaData">
        <node oor:name="Authentication" oor:op="replace">
diff --git a/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx b/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
index 3545970..5857fc4 100644
--- a/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/firebird/FDatabaseMetaData.cxx
@@ -87,7 +87,7 @@ OUString SAL_CALL ODatabaseMetaData::getCatalogSeparator() throw(SQLException, R
 
 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCatalogNameLength() throw(SQLException, RuntimeException)
 {
-    return 0;
+    return -1;
 }
 
 OUString SAL_CALL ODatabaseMetaData::getCatalogTerm() throw(SQLException, RuntimeException)
@@ -148,7 +148,7 @@ sal_Int32 SAL_CALL ODatabaseMetaData::getMaxCharLiteralLength() throw(SQLExcepti
 
 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnNameLength() throw(SQLException, RuntimeException)
 {
-    return 32;
+    return 31;
 }
 
 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxColumnsInIndex() throw(SQLException, RuntimeException)
@@ -196,36 +196,68 @@ sal_Bool SAL_CALL ODatabaseMetaData::doesMaxRowSizeIncludeBlobs(  ) throw(SQLExc
 {
     return sal_False;
 }
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseQuotedIdentifiers(  ) throw(SQLException, RuntimeException)
+
+// ---- Identifiers -----------------------------------------------------------
+// Only quoted identifiers are case sensitive, unquoted are case insensitive
+OUString SAL_CALL ODatabaseMetaData::getIdentifierQuoteString()
+    throw(SQLException, RuntimeException)
 {
-    return sal_False;
+    OUString aVal('"');
+    return aVal;
 }
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseIdentifiers(  ) throw(SQLException, RuntimeException)
+
+sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseQuotedIdentifiers(  ) throw(SQLException, RuntimeException)
+{
+    return sal_True;
+}
+
+sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseQuotedIdentifiers()
+    throw(SQLException, RuntimeException)
 {
     return sal_False;
 }
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseQuotedIdentifiers(  ) throw(SQLException, RuntimeException)
+
+sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseQuotedIdentifiers()
+    throw(SQLException, RuntimeException)
+{
+    // TODO: confirm this -- the documentation is highly ambiguous
+    // However it seems this should be true as quoted identifiers ARE
+    // stored mixed case.
+    return sal_True;
+}
+
+sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseQuotedIdentifiers()
+    throw(SQLException, RuntimeException)
 {
     return sal_False;
 }
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseIdentifiers(  ) throw(SQLException, RuntimeException)
+
+// ---- Unquoted Identifiers -------------------------------------------------
+// All unquoted identifers are stored upper case.
+sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseIdentifiers()
+    throw(SQLException, RuntimeException)
 {
     return sal_False;
 }
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseQuotedIdentifiers(  ) throw(SQLException, RuntimeException)
+
+sal_Bool SAL_CALL ODatabaseMetaData::storesLowerCaseIdentifiers()
+    throw(SQLException, RuntimeException)
 {
     return sal_False;
 }
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseIdentifiers(  ) throw(SQLException, RuntimeException)
+
+sal_Bool SAL_CALL ODatabaseMetaData::storesMixedCaseIdentifiers()
+    throw(SQLException, RuntimeException)
 {
     return sal_False;
 }
+
+sal_Bool SAL_CALL ODatabaseMetaData::storesUpperCaseIdentifiers()
+    throw(SQLException, RuntimeException)
+{
+    return sal_True;
+}
+
 // -------------------------------------------------------------------------
 sal_Bool SAL_CALL ODatabaseMetaData::supportsAlterTableWithAddColumn(  ) throw(SQLException, RuntimeException)
 {
@@ -248,13 +280,6 @@ sal_Bool SAL_CALL ODatabaseMetaData::supportsNonNullableColumns(  ) throw(SQLExc
     return sal_True;
 }
 // -------------------------------------------------------------------------
-OUString SAL_CALL ODatabaseMetaData::getIdentifierQuoteString(  ) throw(SQLException, RuntimeException)
-{
-    // normally this is "
-    OUString aVal("\"");
-    return aVal;
-}
-// -------------------------------------------------------------------------
 OUString SAL_CALL ODatabaseMetaData::getExtraNameCharacters(  ) throw(SQLException, RuntimeException)
 {
     OUString aVal;
@@ -365,13 +390,13 @@ sal_Int32 SAL_CALL ODatabaseMetaData::getMaxStatements(  ) throw(SQLException, R
 // -------------------------------------------------------------------------
 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxProcedureNameLength(  ) throw(SQLException, RuntimeException)
 {
-    sal_Int32 nValue = 0; // 0 means no limit
+    sal_Int32 nValue = 31; // TODO: confirm
     return nValue;
 }
 // -------------------------------------------------------------------------
 sal_Int32 SAL_CALL ODatabaseMetaData::getMaxSchemaNameLength(  ) throw(SQLException, RuntimeException)
 {
-    sal_Int32 nValue = 0; // 0 means no limit
+    sal_Int32 nValue = -1; // 0 means no limit
     return nValue;
 }
 
@@ -494,16 +519,6 @@ sal_Bool SAL_CALL ODatabaseMetaData::supportsUnionAll(  ) throw(SQLException, Ru
     return sal_True;
 }
 // -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseIdentifiers(  ) throw(SQLException, RuntimeException)
-{
-    return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL ODatabaseMetaData::supportsMixedCaseQuotedIdentifiers(  ) throw(SQLException, RuntimeException)
-{
-    return sal_False;
-}
-// -------------------------------------------------------------------------
 sal_Bool SAL_CALL ODatabaseMetaData::nullsAreSortedAtEnd(  ) throw(SQLException, RuntimeException)
 {
     return sal_False;
@@ -841,8 +856,9 @@ uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTypeInfo(  ) throw(S
     pResultSet->setRows(aRows);
     return xResultSet;
 }
-// -----------------------------------------------------------------------------
-uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getSchemas(  ) throw(SQLException, RuntimeException)
+
+uno::Reference< XResultSet > SAL_CALL ODatabaseMetaData::getSchemas()
+    throw(SQLException, RuntimeException)
 {
     return NULL;
 }
commit 5d7573df1d7551535230e93f439c0fa46c2efca3
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Wed Jul 24 20:06:32 2013 +0200

    Remove unneded string sanitisation (firebird-sdbc).
    
    This was only needed because of the incorrect sql dialect
    previousy used which didn't permit quoted identifiers.
    
    Change-Id: I31b50add0363f14c8a8cc228f3dfbe084fe42d1c

diff --git a/connectivity/source/drivers/firebird/FStatement.cxx b/connectivity/source/drivers/firebird/FStatement.cxx
index 9f4a58c..907e57c 100644
--- a/connectivity/source/drivers/firebird/FStatement.cxx
+++ b/connectivity/source/drivers/firebird/FStatement.cxx
@@ -95,15 +95,13 @@ void SAL_CALL OStatement::release() throw()
 }
 
 // ---- XStatement -----------------------------------------------------------
-sal_Int32 SAL_CALL OStatement::executeUpdate(const OUString& sqlIn)
+sal_Int32 SAL_CALL OStatement::executeUpdate(const OUString& sql)
     throw(SQLException, RuntimeException)
 {
     // TODO: close ResultSet if existing -- so so in all 3 execute methods.
     MutexGuard aGuard(m_pConnection->getMutex());
     checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
 
-    const OUString sql = sanitizeSqlString(sqlIn);
-
     int aErr = isc_dsql_execute_immediate(m_statusVector,
                                           &m_pConnection->getDBHandle(),
                                           &m_pConnection->getTransaction(),
@@ -122,14 +120,12 @@ sal_Int32 SAL_CALL OStatement::executeUpdate(const OUString& sqlIn)
 }
 
 
-uno::Reference< XResultSet > SAL_CALL OStatement::executeQuery(const OUString& sqlIn)
+uno::Reference< XResultSet > SAL_CALL OStatement::executeQuery(const OUString& sql)
     throw(SQLException, RuntimeException)
 {
     MutexGuard aGuard(m_pConnection->getMutex());
     checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
 
-    const OUString sql = sanitizeSqlString(sqlIn);
-
     XSQLDA* pOutSqlda = 0;
     isc_stmt_handle aStatementHandle = 0;
     int aErr = 0;
@@ -166,11 +162,11 @@ uno::Reference< XResultSet > SAL_CALL OStatement::executeQuery(const OUString& s
     return m_xResultSet;
 }
 
-sal_Bool SAL_CALL OStatement::execute(const OUString& sqlIn)
+sal_Bool SAL_CALL OStatement::execute(const OUString& sql)
     throw(SQLException, RuntimeException)
 {
     SAL_INFO("connectivity.firebird", "executeQuery(). "
-             "Got called with sql: " << sqlIn);
+             "Got called with sql: " << sql);
 
     MutexGuard aGuard(m_pConnection->getMutex());
     checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
@@ -179,8 +175,6 @@ sal_Bool SAL_CALL OStatement::execute(const OUString& sqlIn)
     isc_stmt_handle aStatementHandle = 0;
     int aErr = 0;
 
-    const OUString sql = sanitizeSqlString(sqlIn);
-
     aErr = prepareAndDescribeStatement(sql,
                                        aStatementHandle,
                                        pOutSqlda);
diff --git a/connectivity/source/drivers/firebird/FStatement.hxx b/connectivity/source/drivers/firebird/FStatement.hxx
index 3853298..bbe2ade 100644
--- a/connectivity/source/drivers/firebird/FStatement.hxx
+++ b/connectivity/source/drivers/firebird/FStatement.hxx
@@ -45,9 +45,6 @@ namespace connectivity
     namespace firebird
     {
 
-        // The name OStatementStatement_BASE is temporary and will be changed
-        // once the general restructuring of Statement/PreparedStatement is
-        // complete.
         typedef ::cppu::ImplHelper1< ::com::sun::star::sdbc::XStatement >
             OStatement_Base;
 
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.cxx b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
index fe6c6a2..87bbb02 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.cxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
@@ -122,24 +122,13 @@ void SAL_CALL OStatementCommonBase::close(  ) throw(SQLException, RuntimeExcepti
     dispose();
 }
 
-
-OUString OStatementCommonBase::sanitizeSqlString(const OUString& sqlIn)
-{
-    // TODO: verify this is all we need.
-    static const sal_Unicode pattern('"');
-    static const sal_Unicode empty(' ');
-    return sqlIn.replace(pattern, empty);
-}
-
-int OStatementCommonBase::prepareAndDescribeStatement(const OUString& sqlIn,
+int OStatementCommonBase::prepareAndDescribeStatement(const OUString& sql,
                                                  isc_stmt_handle& aStatementHandle,
                                                  XSQLDA*& pOutSqlda,
                                                  XSQLDA* pInSqlda)
 {
     MutexGuard aGuard(m_pConnection->getMutex());
 
-    const OUString sql = sanitizeSqlString(sqlIn);
-
     if (!pOutSqlda)
     {
         pOutSqlda = (XSQLDA*) malloc(XSQLDA_LENGTH(10));
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.hxx b/connectivity/source/drivers/firebird/StatementCommonBase.hxx
index cd8f935..9896538 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.hxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.hxx
@@ -103,7 +103,6 @@ namespace connectivity
                                                   isc_stmt_handle& aStatementHandle,
                                                   XSQLDA*& pOutSqlda,
                                                   XSQLDA* pInSqlda=0);
-            ::rtl::OUString sanitizeSqlString(const OUString& sqlIn);
         public:
 
             ::cppu::OBroadcastHelper& rBHelper;
commit b3f6b5e934a4bbe694cbb33404e6afa719b2b942
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Wed Jul 24 19:58:42 2013 +0200

    Allow specifying username/password (firebird-sdbc).
    
    This shouldn't be used with embedded dbs as that tries
    to load the non-existing security.fdb -- embedded
    dbs work without any user specified.
    
    Change-Id: I1576695e68b226344b2defb45d1c5a92aa6e08b1

diff --git a/connectivity/source/drivers/firebird/FConnection.cxx b/connectivity/source/drivers/firebird/FConnection.cxx
index ed9e367..6407dad 100644
--- a/connectivity/source/drivers/firebird/FConnection.cxx
+++ b/connectivity/source/drivers/firebird/FConnection.cxx
@@ -225,12 +225,58 @@ void OConnection::construct(const ::rtl::OUString& url, const Sequence< Property
         }
     }
 
+    char dpbBuffer[1 + 3 + 257 + 257 ]; // Expand as needed
+    int dpbLength = 0;
+    {
+        char* dpb;
+        char userName[256] = "";
+        char userPassword[256] = "";
+
+        dpb = dpbBuffer;
+        *dpb++ = isc_dpb_version1;
+
+        *dpb++ = isc_dpb_sql_dialect;
+        *dpb++ = 1; // 1 byte long
+        *dpb++ = FIREBIRD_SQL_DIALECT;
+        // Do any more dpbBuffer additions here
+
+        if (!m_bIsEmbedded) // TODO: || m_bIsLocalFile
+        {
+            // TODO: parse password from connection string as needed?
+        }
+
+        if (strlen(userName))
+        {
+            int nUsernameLength = strlen(userName);
+            *dpb++ = isc_dpb_user_name;
+            *dpb++ = (char) nUsernameLength;
+            strcpy(dpb, userName);
+            dpb+= nUsernameLength;
+        }
+
+        if (strlen(userPassword))
+        {
+            int nPasswordLength = strlen(userPassword);
+            *dpb++ = isc_dpb_password;
+            *dpb++ = (char) nPasswordLength;
+            strcpy(dpb, userPassword);
+            dpb+= nPasswordLength;
+        }
+
+        dpbLength = dpb - dpbBuffer;
+    }
+
     ISC_STATUS_ARRAY status;            /* status vector */
 
     if (bIsNewDatabase)
     {
-        if (isc_create_database(status, m_sURL.getLength(), OUStringToOString(m_sURL, RTL_TEXTENCODING_UTF8).getStr(),
-                                                            &m_DBHandler, 0, NULL, 0))
+        if (isc_create_database(status,
+                                m_sURL.getLength(),
+                                OUStringToOString(m_sURL,RTL_TEXTENCODING_UTF8).getStr(),
+                                &m_DBHandler,
+                                dpbLength,
+                                dpbBuffer,
+                                0))
         {
             if(pr_error(status, "create new database"))
                 return;
@@ -238,8 +284,12 @@ void OConnection::construct(const ::rtl::OUString& url, const Sequence< Property
     }
     else
     {
-        if (isc_attach_database(status, m_sURL.getLength(), OUStringToOString(m_sURL, RTL_TEXTENCODING_UTF8).getStr(),
-                                                        &m_DBHandler, 0, NULL))
+        if (isc_attach_database(status,
+                                m_sURL.getLength(),
+                                OUStringToOString(m_sURL, RTL_TEXTENCODING_UTF8).getStr(),
+                                &m_DBHandler,
+                                dpbLength,
+                                dpbBuffer))
             if (pr_error(status, "attach database"))
                 return;
     }
commit dc318a35680e799ef5b728c9ff1ae0203edf0c72
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date:   Wed Jul 24 19:23:15 2013 +0200

    Define SQL dialect driver-wide and change to 3. (firebird-sdbc)
    
    Previously the driver used firebird sql dialect = 1 (IB 5.5 or earlier)
    however we need support for delimited identifiers, DATE, TIME, TIMESTAMP
    etc. which are all available from IB6 onwards ie. sql dialect 3. Currently
    this is the latest dialect supported by firebird.
    
    Change-Id: Ia2302bf69bda877d81f8995843cce6c606e7ed43

diff --git a/connectivity/source/drivers/firebird/FDriver.hxx b/connectivity/source/drivers/firebird/FDriver.hxx
index e5752e2..ac53662 100644
--- a/connectivity/source/drivers/firebird/FDriver.hxx
+++ b/connectivity/source/drivers/firebird/FDriver.hxx
@@ -45,6 +45,11 @@ namespace connectivity
 {
     namespace firebird
     {
+        // The SQL dialect in use
+        // Has to be used in various isc_* calls.
+        // 3: Is IB6 -- minimum required for delimited identifiers.
+        static const int FIREBIRD_SQL_DIALECT = 3;
+
         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL FirebirdDriver_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception );
 
         typedef ::cppu::WeakComponentImplHelper2<   ::com::sun::star::sdbc::XDriver,
diff --git a/connectivity/source/drivers/firebird/FStatement.cxx b/connectivity/source/drivers/firebird/FStatement.cxx
index 0469c6c..9f4a58c 100644
--- a/connectivity/source/drivers/firebird/FStatement.cxx
+++ b/connectivity/source/drivers/firebird/FStatement.cxx
@@ -33,6 +33,7 @@
  *
  *************************************************************************/
 
+#include "FDriver.hxx"
 #include "FStatement.hxx"
 #include "FConnection.hxx"
 #include "FResultSet.hxx"
@@ -108,7 +109,7 @@ sal_Int32 SAL_CALL OStatement::executeUpdate(const OUString& sqlIn)
                                           &m_pConnection->getTransaction(),
                                           0,
                                           OUStringToOString(sql, RTL_TEXTENCODING_UTF8).getStr(),
-                                          1,
+                                          FIREBIRD_SQL_DIALECT,
                                           NULL);
 
     if (aErr)
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.cxx b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
index 4f99d5b..fe6c6a2 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.cxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
@@ -33,6 +33,7 @@
  *
  *************************************************************************/
 
+#include "FDriver.hxx"
 #include "FResultSet.hxx"
 #include "StatementCommonBase.hxx"
 #include "Util.hxx"
@@ -164,7 +165,7 @@ int OStatementCommonBase::prepareAndDescribeStatement(const OUString& sqlIn,
                                 &aStatementHandle,
                                 0,
                                 OUStringToOString(sql, RTL_TEXTENCODING_UTF8).getStr(),
-                                1,
+                                FIREBIRD_SQL_DIALECT,
                                 pInSqlda);
     }
 


More information about the Libreoffice-commits mailing list