summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamas Bunth <tamas.bunth@collabora.co.uk>2018-04-14 16:13:02 +0200
committerTamás Bunth <btomi96@gmail.com>2018-04-14 17:44:48 +0200
commit3bb1f0b3a8f71807c221fda22433571f9a0497d2 (patch)
treeba115dd93458981785c308b752c794cf12547492
parentc760ebc55f0d0a9838256e9dc6374d85d12ee93e (diff)
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@libreoffice.org> Reviewed-by: Tamás Bunth <btomi96@gmail.com>
-rw-r--r--connectivity/Jar_ConnectivityTools.mk1
-rw-r--r--connectivity/qa/connectivity/tools/CRMDatabase.java16
-rw-r--r--connectivity/qa/connectivity/tools/FirebirdDatabase.java205
-rw-r--r--dbaccess/CppunitTest_dbaccess_RowSetClones.mk3
-rw-r--r--dbaccess/CppunitTest_dbaccess_hsqldb_test.mk5
-rw-r--r--dbaccess/Module_dbaccess.mk11
-rw-r--r--dbaccess/qa/complex/dbaccess/ApplicationController.java8
-rw-r--r--dbaccess/qa/complex/dbaccess/DataSource.java4
-rw-r--r--dbaccess/qa/complex/dbaccess/Query.java2
-rw-r--r--dbaccess/qa/complex/dbaccess/RowSet.java18
-rw-r--r--dbaccess/qa/extras/testdocuments/RowSetClones.odbbin33726 -> 33734 bytes
-rw-r--r--dbaccess/qa/unit/data/hsqldb_migration_test.odbbin4019 -> 3949 bytes
-rw-r--r--dbaccess/qa/unit/hsql_binary_import.cxx9
-rw-r--r--dbaccess/source/core/dataaccess/datasource.cxx6
14 files changed, 46 insertions, 242 deletions
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
--- a/dbaccess/qa/extras/testdocuments/RowSetClones.odb
+++ b/dbaccess/qa/extras/testdocuments/RowSetClones.odb
Binary files 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
--- a/dbaccess/qa/unit/data/hsqldb_migration_test.odb
+++ b/dbaccess/qa/unit/data/hsqldb_migration_test.odb
Binary files 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;