From 752a1e27246e768984fed43153f3327379b76c99 Mon Sep 17 00:00:00 2001 From: Rene Engelhard Date: Mon, 7 May 2018 15:20:01 +0000 Subject: [PATCH] (try to) fix dbaccess firebird-related tests after 1c5c9b84df270e41c68e68bb69fbf183fc20eed2 Move headless check into test and add missing component file for firebird... Also check for ENABLE_FIREBIRD_SDBC... Change-Id: I27ea9fb08ebcce701a54686a8986e5071a8bcf96 Reviewed-on: https://gerrit.libreoffice.org/53940 Tested-by: Jenkins Reviewed-by: Michael Stahl --- config_host/config_firebird.h.in | 2 ++ configure.ac | 1 + dbaccess/CppunitTest_dbaccess_RowSetClones.mk | 1 + dbaccess/CppunitTest_dbaccess_hsqldb_test.mk | 1 + .../source/core/dataaccess/datasource.cxx | 21 +++++++++++-------- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/config_host/config_firebird.h.in b/config_host/config_firebird.h.in index c6aa43ac54f32..b56056cf6ae9f 100644 --- a/config_host/config_firebird.h.in +++ b/config_host/config_firebird.h.in @@ -5,6 +5,8 @@ Settings for Firebird #ifndef CONFIG_FIREBIRD_H #define CONFIG_FIREBIRD_H +#define ENABLE_FIREBIRD_SDBC 0 + #define HAVE_FIREBIRD_30 0 #endif diff --git a/configure.ac b/configure.ac index cef6c29400197..f92435da0dfb5 100644 --- a/configure.ac +++ b/configure.ac @@ -8769,6 +8769,7 @@ int fb_api_is_30(void) { return 0; } BUILD_TYPE="$BUILD_TYPE FIREBIRD" ENABLE_FIREBIRD_SDBC="TRUE" + AC_DEFINE(ENABLE_FIREBIRD_SDBC) fi fi AC_SUBST(ENABLE_FIREBIRD_SDBC) diff --git a/dbaccess/CppunitTest_dbaccess_RowSetClones.mk b/dbaccess/CppunitTest_dbaccess_RowSetClones.mk index 98b23d539a954..27e47b40ce064 100644 --- a/dbaccess/CppunitTest_dbaccess_RowSetClones.mk +++ b/dbaccess/CppunitTest_dbaccess_RowSetClones.mk @@ -68,6 +68,7 @@ $(eval $(call gb_CppunitTest_use_components,dbaccess_RowSetClones,\ comphelper/util/comphelp \ configmgr/source/configmgr \ connectivity/source/drivers/hsqldb/hsqldb \ + $(if $(ENABLE_FIREBIRD_SDBC),connectivity/source/drivers/firebird/firebird_sdbc) \ connectivity/source/drivers/jdbc/jdbc \ connectivity/source/manager/sdbc2 \ dbaccess/util/dba \ diff --git a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk index 66f89c1b54c0d..27a4b43500e9e 100644 --- a/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk +++ b/dbaccess/CppunitTest_dbaccess_hsqldb_test.mk @@ -47,6 +47,7 @@ $(eval $(call gb_CppunitTest_use_components,dbaccess_hsqldb_test,\ configmgr/source/configmgr \ connectivity/source/cpool/dbpool2 \ connectivity/source/drivers/hsqldb/hsqldb \ + $(if $(ENABLE_FIREBIRD_SDBC),connectivity/source/drivers/firebird/firebird_sdbc) \ connectivity/source/drivers/jdbc/jdbc \ connectivity/source/manager/sdbc2 \ dbaccess/util/dba \ diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx index 19a91e6143c6e..ffe45b4521a0c 100644 --- a/dbaccess/source/core/dataaccess/datasource.cxx +++ b/dbaccess/source/core/dataaccess/datasource.cxx @@ -74,6 +74,8 @@ #include #include +#include + using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::sdbcx; using namespace ::com::sun::star::sdb; @@ -581,25 +583,24 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString Reference< XDriverManager > xManager; - OUString sMigrEnvVal; - osl_getEnvironment(OUString("DBACCESS_HSQL_MIGRATION").pData, - &sMigrEnvVal.pData); +#if ENABLE_FIREBIRD_SDBC bool bNeedMigration = false; if(m_pImpl->m_sConnectURL == "sdbc:embedded:hsqldb") { - OUString sSalUseVclplugin; - osl_getEnvironment(OUString("SAL_USE_VCLPLUGIN").pData, - &sSalUseVclplugin.pData); - if(!sMigrEnvVal.isEmpty() || sSalUseVclplugin == "svp") + OUString sMigrEnvVal; + osl_getEnvironment(OUString("DBACCESS_HSQL_MIGRATION").pData, + &sMigrEnvVal.pData); + if(!sMigrEnvVal.isEmpty()) bNeedMigration = true; else { MigrationWarnDialog aWarnDlg{nullptr}; bNeedMigration = aWarnDlg.run() == RET_OK; } + if (bNeedMigration) + m_pImpl->m_sConnectURL = "sdbc:embedded:firebird"; } - if(bNeedMigration) - m_pImpl->m_sConnectURL = "sdbc:embedded:firebird"; +#endif try { xManager.set( ConnectionPool::create( m_pImpl->m_aContext ), UNO_QUERY_THROW ); @@ -712,6 +713,7 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString throwGenericSQLException( sMessage, static_cast< XDataSource* >( this ), makeAny( aContext ) ); } +#if ENABLE_FIREBIRD_SDBC if( bNeedMigration ) { Reference< css::document::XDocumentSubStorageSupplier> xDocSup( @@ -720,6 +722,7 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString xDocSup->getDocumentSubStorage("database",ElementModes::READWRITE) ); importer.importHsqlDatabase(); } +#endif return xReturn; }