[Libreoffice-commits] core.git: connectivity/Jar_ConnectivityTools.mk connectivity/qa dbaccess/CppunitTest_dbaccess_hsqldb_test.mk dbaccess/CppunitTest_dbaccess_RowSetClones.mk dbaccess/Module_dbaccess.mk dbaccess/qa dbaccess/source

Tamas Bunth tamas.bunth at collabora.co.uk
Sat Apr 14 15:45:29 UTC 2018


 connectivity/Jar_ConnectivityTools.mk                    |    1 
 connectivity/qa/connectivity/tools/CRMDatabase.java      |   16 -
 connectivity/qa/connectivity/tools/FirebirdDatabase.java |  205 ---------------
 dbaccess/CppunitTest_dbaccess_RowSetClones.mk            |    3 
 dbaccess/CppunitTest_dbaccess_hsqldb_test.mk             |    5 
 dbaccess/Module_dbaccess.mk                              |   11 
 dbaccess/qa/complex/dbaccess/ApplicationController.java  |    8 
 dbaccess/qa/complex/dbaccess/DataSource.java             |    4 
 dbaccess/qa/complex/dbaccess/Query.java                  |    2 
 dbaccess/qa/complex/dbaccess/RowSet.java                 |   18 -
 dbaccess/qa/extras/testdocuments/RowSetClones.odb        |binary
 dbaccess/qa/unit/data/hsqldb_migration_test.odb          |binary
 dbaccess/qa/unit/hsql_binary_import.cxx                  |    9 
 dbaccess/source/core/dataaccess/datasource.cxx           |    6 
 14 files changed, 46 insertions(+), 242 deletions(-)

New commits:
commit 3bb1f0b3a8f71807c221fda22433571f9a0497d2
Author: Tamas Bunth <tamas.bunth at collabora.co.uk>
Date:   Sat Apr 14 16:13:02 2018 +0200

    Revert HSQLDB related unit tests
    
    Revert changes making HSQLDB related unit tests test Firebird migration.
    They should still test the HSQLDB driver.
    
    It reverts part of 159dd28651788a19848eae56693ad06ed947414d
    
    Change-Id: If2b9207e95055418bd1dc1dc6e472335de311d1e
    Reviewed-on: https://gerrit.libreoffice.org/52873
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Tamás Bunth <btomi96 at gmail.com>

diff --git a/connectivity/Jar_ConnectivityTools.mk b/connectivity/Jar_ConnectivityTools.mk
index 3920a49bac12..fc8a861f2b8a 100644
--- a/connectivity/Jar_ConnectivityTools.mk
+++ b/connectivity/Jar_ConnectivityTools.mk
@@ -32,7 +32,6 @@ $(eval $(call gb_Jar_add_sourcefiles,ConnectivityTools,\
 	connectivity/qa/connectivity/tools/DatabaseAccess \
 	connectivity/qa/connectivity/tools/DataSource \
 	connectivity/qa/connectivity/tools/DbaseDatabase \
-	connectivity/qa/connectivity/tools/FirebirdDatabase \
 	connectivity/qa/connectivity/tools/FlatFileDatabase \
 	connectivity/qa/connectivity/tools/HsqlColumnDescriptor \
 	connectivity/qa/connectivity/tools/HsqlDatabase \
diff --git a/connectivity/qa/connectivity/tools/CRMDatabase.java b/connectivity/qa/connectivity/tools/CRMDatabase.java
index a4ee92c3a057..3d33926280c3 100644
--- a/connectivity/qa/connectivity/tools/CRMDatabase.java
+++ b/connectivity/qa/connectivity/tools/CRMDatabase.java
@@ -43,7 +43,7 @@ public class CRMDatabase
     private static final String INTEGER = "INTEGER";
     private static final String VARCHAR50 = "VARCHAR(50)";
     private final XMultiServiceFactory        m_orb;
-    private final FirebirdDatabase            m_database;
+    private final HsqlDatabase                m_database;
     private final Connection                  m_connection;
 
     /** constructs the CRM database
@@ -52,7 +52,7 @@ public class CRMDatabase
     {
         m_orb = _orb;
 
-        m_database = new FirebirdDatabase( m_orb );
+        m_database = new HsqlDatabase( m_orb );
 
         if ( _withUI )
         {
@@ -81,14 +81,14 @@ public class CRMDatabase
     {
         m_orb = _orb;
 
-        m_database = new FirebirdDatabase( m_orb, _existingDocumentURL );
+        m_database = new HsqlDatabase( m_orb, _existingDocumentURL );
         m_connection = m_database.defaultConnection();
     }
 
 
     /** returns the database document underlying the CRM database
      */
-    public final FirebirdDatabase getDatabase()
+    public final HsqlDatabase getDatabase()
     {
         return m_database;
     }
@@ -141,7 +141,7 @@ public class CRMDatabase
                 new HsqlColumnDescriptor( "ID",INTEGER, HsqlColumnDescriptor.PRIMARY ),
                 new HsqlColumnDescriptor( "Name",VARCHAR50),
                 new HsqlColumnDescriptor( "Description", "VARCHAR(1024)" ),
-                new HsqlColumnDescriptor( "Image", "BLOB SUB_TYPE -9546" ) } );
+                new HsqlColumnDescriptor( "Image", "LONGVARBINARY" ) } );
         m_database.createTable( table, true );
 
         m_database.executeSQL( "INSERT INTO \"categories\" ( \"ID\", \"Name\" ) VALUES ( 1, 'Food' )" );
@@ -166,7 +166,7 @@ public class CRMDatabase
                 new HsqlColumnDescriptor( "Address",VARCHAR50),
                 new HsqlColumnDescriptor( "City",VARCHAR50),
                 new HsqlColumnDescriptor( "Postal",VARCHAR50),
-                new HsqlColumnDescriptor( "Comment","BLOB SUB_TYPE 1")} );
+                new HsqlColumnDescriptor( "Comment","LONGVARCHAR")} );
         m_database.createTable( table, true );
 
         m_database.executeSQL( "INSERT INTO \"customers\" VALUES(1,'Food, Inc.','Down Under','Melbourne','509','Preferred') " );
@@ -182,8 +182,8 @@ public class CRMDatabase
                 new HsqlColumnDescriptor( "ShipDate", "DATE" ) } );
         m_database.createTable( table, true );
 
-        m_database.executeSQL( "INSERT INTO \"orders\" (\"ID\", \"CustomerID\", \"OrderDate\") VALUES(1, 1, DATE '2009-01-01')" );
-        m_database.executeSQL( "INSERT INTO \"orders\" VALUES(2, 2, DATE '2009-01-01', DATE '2009-01-23')" );
+        m_database.executeSQL( "INSERT INTO \"orders\" (\"ID\", \"CustomerID\", \"OrderDate\") VALUES(1, 1, {D '2009-01-01'})" );
+        m_database.executeSQL( "INSERT INTO \"orders\" VALUES(2, 2, {D '2009-01-01'}, {D '2009-01-23'})" );
 
         table = new HsqlTableDescriptor( "orders_details",
             new HsqlColumnDescriptor[] {
diff --git a/connectivity/qa/connectivity/tools/FirebirdDatabase.java b/connectivity/qa/connectivity/tools/FirebirdDatabase.java
deleted file mode 100644
index 46ad4709a812..000000000000
--- a/connectivity/qa/connectivity/tools/FirebirdDatabase.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- *   Licensed to the Apache Software Foundation (ASF) under one or more
- *   contributor license agreements. See the NOTICE file distributed
- *   with this work for additional information regarding copyright
- *   ownership. The ASF licenses this file to you under the Apache
- *   License, Version 2.0 (the "License"); you may not use this file
- *   except in compliance with the License. You may obtain a copy of
- *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-package connectivity.tools;
-
-import com.sun.star.beans.PropertyValue;
-import com.sun.star.beans.PropertyState;
-import com.sun.star.beans.XPropertySet;
-import com.sun.star.container.ElementExistException;
-import com.sun.star.frame.XStorable;
-import com.sun.star.lang.XMultiServiceFactory;
-import com.sun.star.sdb.XOfficeDatabaseDocument;
-import com.sun.star.sdbc.SQLException;
-import com.sun.star.sdbcx.XAppend;
-import com.sun.star.sdbcx.XTablesSupplier;
-import com.sun.star.uno.UnoRuntime;
-
-import helper.URLHelper;
-import java.io.File;
-import java.util.HashMap;
-import java.util.Map;
-import org.junit.Assert;
-
-public class FirebirdDatabase extends AbstractDatabase
-{
-
-
-    public FirebirdDatabase(final XMultiServiceFactory orb) throws Exception
-    {
-        super(orb);
-        createDBDocument();
-    }
-
-
-    public FirebirdDatabase(final XMultiServiceFactory orb, final String _existingDocumentURL) throws Exception
-    {
-        super(orb, _existingDocumentURL);
-    }
-
-    /** creates an empty database document in a temporary location
-     */
-    private void createDBDocument() throws Exception
-    {
-        Assert.assertNull(m_documentFile);
-        m_documentFile = File.createTempFile("testdb", ".odb");
-        if ( m_documentFile.exists() )
-            m_documentFile.delete();
-        m_databaseDocumentFile = URLHelper.getFileURLFromSystemPath(m_documentFile);
-
-        m_databaseDocument = UnoRuntime.queryInterface(
-                XOfficeDatabaseDocument.class, m_orb.createInstance("com.sun.star.sdb.OfficeDatabaseDocument"));
-        m_dataSource = new DataSource(m_databaseDocument.getDataSource());
-
-        final XPropertySet dsProperties = UnoRuntime.queryInterface(XPropertySet.class, m_databaseDocument.getDataSource());
-        dsProperties.setPropertyValue("URL", "sdbc:embedded:hsqldb");
-
-        final XStorable storable = UnoRuntime.queryInterface(XStorable.class, m_databaseDocument);
-        storable.storeAsURL( m_databaseDocumentFile, new PropertyValue[]
-            {   new PropertyValue( "PickListEntry", 0, false, PropertyState.DIRECT_VALUE )
-            } );
-    }
-
-    @Override protected final void delete() {
-        if (m_documentFile != null) {
-            boolean ok = m_documentFile.delete();
-            //TODO: fails on Windows: Assert.assertTrue("delete " + m_documentFile.getPath(), ok);
-        }
-    }
-
-    /** drops the table with a given name
-
-    @param _name
-    the name of the table to drop
-     */
-    private void dropTable(final String _name) throws SQLException
-    {
-        final StringBuffer dropStatement = new StringBuffer("EXECUTE BLOCK AS BEGIN"
-               + " if (exists(select 1 from rdb$relations where rdb$relation_name ='");
-        dropStatement.append(_name);
-        dropStatement.append("')) then execute statement 'DROP TABLE ");
-        dropStatement.append(_name);
-        dropStatement.append("';  END");
-        executeSQL(dropStatement.toString());
-    }
-
-    public void createTable(final HsqlTableDescriptor _tableDesc, final boolean _dropIfExists) throws SQLException
-    {
-        if (_dropIfExists)
-        {
-            dropTable(_tableDesc.getName());
-        }
-        createTable(_tableDesc);
-    }
-
-    /** creates a table
-     */
-    public void createTable(final HsqlTableDescriptor _tableDesc) throws SQLException
-    {
-        StringBuffer createStatement = new StringBuffer("CREATE TABLE \"");
-        createStatement.append(_tableDesc.getName());
-        createStatement.append("\" ( ");
-
-        String primaryKeyList = "";
-
-        final HashMap<String, String> foreignKeys = new HashMap<String, String>();
-        final HashMap<String, String> foreignKeyRefs = new HashMap<String, String>();
-
-        final HsqlColumnDescriptor[] columns = _tableDesc.getColumns();
-        for (int i = 0; i < columns.length; ++i)
-        {
-            if (i > 0)
-            {
-                createStatement.append(", ");
-            }
-
-            createStatement.append("\"").append(columns[i].getName());
-            createStatement.append("\" ").append(columns[i].getTypeName());
-
-            if (columns[i].isRequired())
-            {
-                createStatement.append(" NOT NULL");
-            }
-
-            if (columns[i].isPrimaryKey())
-            {
-                if (primaryKeyList.length() > 0)
-                {
-                    primaryKeyList += ", ";
-                }
-                primaryKeyList += "\"" + columns[i].getName() + "\"";
-            }
-
-            if (columns[i].isForeignKey())
-            {
-                final String foreignTable = columns[i].getForeignTable();
-
-                String foreignKeysForTable = foreignKeys.containsKey(foreignTable) ? foreignKeys.get(foreignTable) : "";
-                if (foreignKeysForTable.length() > 0)
-                {
-                    foreignKeysForTable += ", ";
-                }
-                foreignKeysForTable += "\"" + columns[i].getName() + "\"";
-                foreignKeys.put(foreignTable, foreignKeysForTable);
-
-                final StringBuffer foreignKeyRefsForTable = new StringBuffer(foreignKeyRefs.containsKey(foreignTable) ? foreignKeyRefs.get(foreignTable) : "");
-                if (foreignKeyRefsForTable.length() > 0)
-                {
-                    foreignKeyRefsForTable.append(", ");
-                }
-                foreignKeyRefsForTable.append("\"").append(columns[i].getForeignColumn()).append("\"");
-                foreignKeyRefs.put(foreignTable, foreignKeyRefsForTable.toString());
-            }
-        }
-
-        if (primaryKeyList.length() > 0)
-        {
-            createStatement.append(", PRIMARY KEY (");
-            createStatement.append(primaryKeyList);
-            createStatement.append(')');
-        }
-
-        for (Map.Entry<String, String> foreignKey : foreignKeys.entrySet())
-        {
-            final String foreignTable = foreignKey.getKey();
-
-            createStatement.append(", FOREIGN KEY (");
-            createStatement.append(foreignKey.getValue());
-            createStatement.append(") REFERENCES \"");
-            createStatement.append(foreignTable);
-            createStatement.append("\"(");
-            createStatement.append(foreignKeyRefs.get(foreignTable));
-            createStatement.append(')');
-        }
-
-        createStatement.append(')');
-
-        executeSQL(createStatement.toString());
-    }
-
-    /** creates a table in the database. using the SDBCX-API
-     */
-    public void createTableInSDBCX(final HsqlTableDescriptor _tableDesc) throws SQLException, ElementExistException
-    {
-        final XPropertySet sdbcxDescriptor = _tableDesc.createSdbcxDescriptor(defaultConnection());
-        final XTablesSupplier suppTables = UnoRuntime.queryInterface( XTablesSupplier.class, defaultConnection().getXConnection() );
-        final XAppend appendTable = UnoRuntime.queryInterface( XAppend.class, suppTables.getTables() );
-        appendTable.appendByDescriptor(sdbcxDescriptor);
-    }
-
-    private File m_documentFile;
-}
diff --git a/dbaccess/CppunitTest_dbaccess_RowSetClones.mk b/dbaccess/CppunitTest_dbaccess_RowSetClones.mk
index ddf69296cb28..98b23d539a95 100644
--- a/dbaccess/CppunitTest_dbaccess_RowSetClones.mk
+++ b/dbaccess/CppunitTest_dbaccess_RowSetClones.mk
@@ -67,7 +67,8 @@ $(eval $(call gb_CppunitTest_use_components,dbaccess_RowSetClones,\
     basic/util/sb \
     comphelper/util/comphelp \
     configmgr/source/configmgr \
-    connectivity/source/drivers/firebird/firebird_sdbc \
+    connectivity/source/drivers/hsqldb/hsqldb \
+    connectivity/source/drivers/jdbc/jdbc \
     connectivity/source/manager/sdbc2 \
     dbaccess/util/dba \
     dbaccess/util/dbu \
diff --git a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk
index bb4fd0c8e2d6..66f89c1b54c0 100644
--- a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk
+++ b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk
@@ -22,7 +22,7 @@ $(eval $(call gb_CppunitTest_use_libraries,dbaccess_hsqldb_test, \
     cppuhelper \
     dbaxml \
     dbtools \
-    firebird_sdbc \
+    jvmfwk \
     sal \
     subsequenttest \
     utl \
@@ -46,7 +46,8 @@ $(eval $(call gb_CppunitTest_use_components,dbaccess_hsqldb_test,\
     comphelper/util/comphelp \
     configmgr/source/configmgr \
     connectivity/source/cpool/dbpool2 \
-    connectivity/source/drivers/firebird/firebird_sdbc \
+    connectivity/source/drivers/hsqldb/hsqldb \
+    connectivity/source/drivers/jdbc/jdbc \
     connectivity/source/manager/sdbc2 \
     dbaccess/util/dba \
     dbaccess/source/filter/xml/dbaxml \
diff --git a/dbaccess/Module_dbaccess.mk b/dbaccess/Module_dbaccess.mk
index bbef2fc119be..a97578c02508 100644
--- a/dbaccess/Module_dbaccess.mk
+++ b/dbaccess/Module_dbaccess.mk
@@ -48,7 +48,7 @@ $(eval $(call gb_Module_add_check_targets,dbaccess,\
 	CppunitTest_dbaccess_hsqlschema_import \
 ))
 
-ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
+ifeq ($(ENABLE_JAVA),TRUE)
 $(eval $(call gb_Module_add_check_targets,dbaccess,\
     CppunitTest_dbaccess_hsqldb_test \
 	CppunitTest_dbaccess_RowSetClones \
@@ -58,23 +58,20 @@ endif
 # This runs a suite of performance tests on embedded firebird and HSQLDB.
 # Instructions on running the test can be found in qa/unit/embeddedb_performancetest
 ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
+ifeq ($(ENABLE_JAVA),TRUE)
 $(eval $(call gb_Module_add_check_targets,dbaccess,\
     CppunitTest_dbaccess_embeddeddb_performancetest \
 ))
 endif
-
-ifeq ($(ENABLE_FIREBIRD_SDBC),TRUE)
-$(eval $(call gb_Module_add_subsequentcheck_targets,dbaccess,\
-	JunitTest_dbaccess_complex \
-))
 endif
 
 $(eval $(call gb_Module_add_subsequentcheck_targets,dbaccess,\
+	JunitTest_dbaccess_complex \
     JunitTest_dbaccess_unoapi \
 ))
 
 ifneq ($(DISABLE_PYTHON),TRUE)
-ifneq ($(ENABLE_FIREBIRD_SDBC),)
+ifneq ($(ENABLE_JAVA),)
 $(eval $(call gb_Module_add_subsequentcheck_targets,dbaccess,\
 	PythonTest_dbaccess_python \
 ))
diff --git a/dbaccess/qa/complex/dbaccess/ApplicationController.java b/dbaccess/qa/complex/dbaccess/ApplicationController.java
index 459571db067c..eafc32dba65f 100644
--- a/dbaccess/qa/complex/dbaccess/ApplicationController.java
+++ b/dbaccess/qa/complex/dbaccess/ApplicationController.java
@@ -30,7 +30,7 @@ import com.sun.star.sdbcx.XTablesSupplier;
 import com.sun.star.uno.Exception;
 import com.sun.star.uno.UnoRuntime;
 import connectivity.tools.HsqlColumnDescriptor;
-import connectivity.tools.FirebirdDatabase;
+import connectivity.tools.HsqlDatabase;
 import connectivity.tools.HsqlTableDescriptor;
 import java.io.IOException;
 
@@ -47,7 +47,7 @@ import static org.junit.Assert.*;
 public class ApplicationController extends TestCase
 {
 
-    private FirebirdDatabase m_database;
+    private HsqlDatabase m_database;
     private XOfficeDatabaseDocument m_databaseDocument;
     private XDatabaseDocumentUI m_documentUI;
 
@@ -76,8 +76,8 @@ public class ApplicationController extends TestCase
 
         // create/load the new database document
         m_database = (_documentURL == null)
-                ? new FirebirdDatabase(getMSF())
-                : new FirebirdDatabase(getMSF(), _documentURL);
+                ? new HsqlDatabase(getMSF())
+                : new HsqlDatabase(getMSF(), _documentURL);
         m_databaseDocument = m_database.getDatabaseDocument();
 
         // load it into a frame
diff --git a/dbaccess/qa/complex/dbaccess/DataSource.java b/dbaccess/qa/complex/dbaccess/DataSource.java
index d2b1d3f4263b..0413a6e07b69 100644
--- a/dbaccess/qa/complex/dbaccess/DataSource.java
+++ b/dbaccess/qa/complex/dbaccess/DataSource.java
@@ -21,7 +21,7 @@ import com.sun.star.container.XNameAccess;
 import com.sun.star.uno.UnoRuntime;
 import com.sun.star.uno.XNamingService;
 import connectivity.tools.CRMDatabase;
-import connectivity.tools.FirebirdDatabase;
+import connectivity.tools.HsqlDatabase;
 
 // ---------- junit imports -----------------
 import org.junit.Test;
@@ -32,7 +32,7 @@ import static org.junit.Assert.*;
 public class DataSource extends TestCase
 {
 
-    FirebirdDatabase m_database;
+    HsqlDatabase m_database;
     connectivity.tools.DataSource m_dataSource;
 
 
diff --git a/dbaccess/qa/complex/dbaccess/Query.java b/dbaccess/qa/complex/dbaccess/Query.java
index a8357ed7bcb3..8881bb3edecb 100644
--- a/dbaccess/qa/complex/dbaccess/Query.java
+++ b/dbaccess/qa/complex/dbaccess/Query.java
@@ -34,7 +34,7 @@ import static org.junit.Assert.*;
 public class Query extends TestCase
 {
 
-    connectivity.tools.FirebirdDatabase m_database;
+    connectivity.tools.HsqlDatabase m_database;
 
 
     private void createTestCase()
diff --git a/dbaccess/qa/complex/dbaccess/RowSet.java b/dbaccess/qa/complex/dbaccess/RowSet.java
index e1e5f9b191f8..4c5fcc6da793 100644
--- a/dbaccess/qa/complex/dbaccess/RowSet.java
+++ b/dbaccess/qa/complex/dbaccess/RowSet.java
@@ -41,7 +41,7 @@ import com.sun.star.uno.UnoRuntime;
 
 import connectivity.tools.CRMDatabase;
 import connectivity.tools.DataSource;
-import connectivity.tools.FirebirdDatabase;
+import connectivity.tools.HsqlDatabase;
 import connectivity.tools.sdb.Connection;
 import java.lang.reflect.Method;
 import java.util.Random;
@@ -59,7 +59,7 @@ public class RowSet extends TestCase
     static final int MAX_FETCH_ROWS = 10;
     private static final String NEXT = "next";
     private static final String TEST21 = "Test21";
-    FirebirdDatabase m_database;
+    HsqlDatabase m_database;
     DataSource m_dataSource;
     XRowSet m_rowSet;
     XResultSet m_resultSet;
@@ -220,10 +220,8 @@ public class RowSet extends TestCase
 
     void createStructure() throws SQLException
     {
-        m_database.executeSQL("EXECUTE BLOCK AS BEGIN"
-               + " if (not exists(select 1 from rdb$relations where rdb$relation_name = '\"TEST1\"')) then"
-               + " execute statement 'CREATE TABLE \"TEST1\" (\"ID\" integer not null primary key, \"col2\" varchar(50) )';"
-               + " END");
+        m_database.executeSQL("DROP TABLE \"TEST1\" IF EXISTS");
+        m_database.executeSQL("CREATE TABLE \"TEST1\" (\"ID\" integer not null primary key, \"col2\" varchar(50) )");
 
         final Connection connection = m_database.defaultConnection();
         final XPreparedStatement prep = connection.prepareStatement("INSERT INTO \"TEST1\" values (?,?)");
@@ -933,12 +931,12 @@ public class RowSet extends TestCase
         // use an own RowSet instance, not the one which is also used for the other cases
 
         testTableParameters();
-        //testParametrizedQuery();
-        //testParametersInFilter();
+        testParametrizedQuery();
+        testParametersInFilter();
 
-        //testParametersAfterNormalExecute();
+        testParametersAfterNormalExecute();
 
-        //testParametersInteraction();
+        testParametersInteraction();
     }
 }
 
diff --git a/dbaccess/qa/extras/testdocuments/RowSetClones.odb b/dbaccess/qa/extras/testdocuments/RowSetClones.odb
index a0e6a8cfa2b4..91ed328ac8e9 100644
Binary files a/dbaccess/qa/extras/testdocuments/RowSetClones.odb and b/dbaccess/qa/extras/testdocuments/RowSetClones.odb differ
diff --git a/dbaccess/qa/unit/data/hsqldb_migration_test.odb b/dbaccess/qa/unit/data/hsqldb_migration_test.odb
index b20adbfbcc92..99b6b5d9a69d 100644
Binary files a/dbaccess/qa/unit/data/hsqldb_migration_test.odb and b/dbaccess/qa/unit/data/hsqldb_migration_test.odb differ
diff --git a/dbaccess/qa/unit/hsql_binary_import.cxx b/dbaccess/qa/unit/hsql_binary_import.cxx
index 33f63db60e10..8bc81c0587b1 100644
--- a/dbaccess/qa/unit/hsql_binary_import.cxx
+++ b/dbaccess/qa/unit/hsql_binary_import.cxx
@@ -27,6 +27,8 @@ class HsqlBinaryImportTest : public DBTestBase
 public:
     void testBinaryImport();
 
+    virtual void setUp() override;
+
     CPPUNIT_TEST_SUITE(HsqlBinaryImportTest);
 
     CPPUNIT_TEST(testBinaryImport);
@@ -34,6 +36,13 @@ public:
     CPPUNIT_TEST_SUITE_END();
 };
 
+void HsqlBinaryImportTest::setUp()
+{
+    DBTestBase::setUp();
+    SvtMiscOptions aMiscOptions;
+    osl_setEnvironment(OUString{ "DBACCESS_HSQL_MIGRATION" }.pData, OUString{ "1" }.pData);
+}
+
 void HsqlBinaryImportTest::testBinaryImport()
 {
     uno::Reference<XOfficeDatabaseDocument> xDocument
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx
index c1c4c0b04f7f..9093cd622925 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -582,7 +582,11 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString
     Reference< XDriverManager > xManager;
 
     bool bNeedMigration = false;
-    if( m_pImpl->m_sConnectURL == "sdbc:embedded:hsqldb")
+    OUString sMigrEnvVal;
+    osl_getEnvironment(OUString("DBACCESS_HSQL_MIGRATION").pData,
+            &sMigrEnvVal.pData);
+    if( m_pImpl->m_sConnectURL == "sdbc:embedded:hsqldb" &&
+            !sMigrEnvVal.isEmpty())
     {
         m_pImpl->m_sConnectURL = "sdbc:embedded:firebird";
         bNeedMigration = true;


More information about the Libreoffice-commits mailing list