summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2013-11-09 18:39:18 +0100
committerLionel Elie Mamane <lionel@mamane.lu>2013-11-09 18:39:18 +0100
commit7b9a9a49862e4ec42ab9ffd85f94713960a94c3a (patch)
tree49651bf8de82b3be196fe62529cf727d49cfb1dd
parentoups (diff)
downloadcore-7b9a9a49862e4ec42ab9ffd85f94713960a94c3a.tar.gz
core-7b9a9a49862e4ec42ab9ffd85f94713960a94c3a.zip
make firebird-sdbc an experimental feature
Change-Id: I0f2453e23d18597cfe1ad2a4cd4902b15f0a8f7d
-rw-r--r--connectivity/CppunitTest_connectivity_commontools.mk1
-rw-r--r--connectivity/Library_dbase.mk1
-rw-r--r--connectivity/Library_dbtools.mk1
-rw-r--r--connectivity/Library_firebird_sdbc.mk1
-rw-r--r--connectivity/source/commontools/DriversConfig.cxx7
-rw-r--r--connectivity/source/drivers/firebird/Driver.cxx6
-rw-r--r--dbaccess/CppunitTest_dbaccess_firebird_test.mk1
-rw-r--r--dbaccess/qa/unit/firebird.cxx10
8 files changed, 26 insertions, 2 deletions
diff --git a/connectivity/CppunitTest_connectivity_commontools.mk b/connectivity/CppunitTest_connectivity_commontools.mk
index 1fbcee4c3cb7..dc726dcd4b42 100644
--- a/connectivity/CppunitTest_connectivity_commontools.mk
+++ b/connectivity/CppunitTest_connectivity_commontools.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_CppunitTest_use_libraries,connectivity_commontools, \
unotest \
utl \
tl \
+ svt \
$(gb_UWINAPI) \
))
diff --git a/connectivity/Library_dbase.mk b/connectivity/Library_dbase.mk
index c19731d6e917..059a7231a086 100644
--- a/connectivity/Library_dbase.mk
+++ b/connectivity/Library_dbase.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_Library_use_libraries,dbase,\
file \
utl \
comphelper \
+ svt \
$(gb_UWINAPI) \
))
diff --git a/connectivity/Library_dbtools.mk b/connectivity/Library_dbtools.mk
index 22d58333736f..c4708b8aff57 100644
--- a/connectivity/Library_dbtools.mk
+++ b/connectivity/Library_dbtools.mk
@@ -38,6 +38,7 @@ $(eval $(call gb_Library_use_libraries,dbtools,\
comphelper \
i18nlangtag \
$(gb_UWINAPI) \
+ svt \
))
ifeq ($(filter-out NETBSD MACOSX,$(OS)),)
diff --git a/connectivity/Library_firebird_sdbc.mk b/connectivity/Library_firebird_sdbc.mk
index b1fbf7923c39..3f46e6e68d8b 100644
--- a/connectivity/Library_firebird_sdbc.mk
+++ b/connectivity/Library_firebird_sdbc.mk
@@ -30,6 +30,7 @@ $(eval $(call gb_Library_use_libraries,firebird_sdbc, \
sal \
salhelper \
utl \
+ svt \
vcl \
$(gb_UWINAPI) \
))
diff --git a/connectivity/source/commontools/DriversConfig.cxx b/connectivity/source/commontools/DriversConfig.cxx
index 7d0f5768540f..b1cb506db3f7 100644
--- a/connectivity/source/commontools/DriversConfig.cxx
+++ b/connectivity/source/commontools/DriversConfig.cxx
@@ -18,6 +18,7 @@
*/
#include "connectivity/DriversConfig.hxx"
#include <tools/wldcrd.hxx>
+#include <svtools/miscopt.hxx>
using namespace connectivity;
using namespace utl;
@@ -102,6 +103,8 @@ void DriversConfigImpl::Load(const uno::Reference< uno::XComponentContext >& _rx
if ( m_aInstalled.isValid() )
{
+ SvtMiscOptions aMiscOptions;
+
const uno::Sequence< OUString > aURLPatterns = m_aInstalled.getNodeNames();
const OUString* pPatternIter = aURLPatterns.getConstArray();
const OUString* pPatternEnd = pPatternIter + aURLPatterns.getLength();
@@ -109,7 +112,9 @@ void DriversConfigImpl::Load(const uno::Reference< uno::XComponentContext >& _rx
{
TInstalledDriver aInstalledDriver;
lcl_readURLPatternNode(m_aInstalled,*pPatternIter,aInstalledDriver);
- if ( !aInstalledDriver.sDriverFactory.isEmpty() )
+ if ( !aInstalledDriver.sDriverFactory.isEmpty() &&
+ ( aMiscOptions.IsExperimentalMode() ||
+ !aInstalledDriver.sDriverFactory.equals("com.sun.star.comp.sdbc.firebird.Driver") ))
m_aDrivers.insert(TInstalledDrivers::value_type(*pPatternIter,aInstalledDriver));
}
} // if ( m_aInstalled.isValid() )
diff --git a/connectivity/source/drivers/firebird/Driver.cxx b/connectivity/source/drivers/firebird/Driver.cxx
index b15514cccbbc..932eae6b5680 100644
--- a/connectivity/source/drivers/firebird/Driver.cxx
+++ b/connectivity/source/drivers/firebird/Driver.cxx
@@ -28,6 +28,7 @@
#include <comphelper/processfactory.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <osl/process.h>
+#include <svtools/miscopt.hxx>
using namespace com::sun::star;
using namespace com::sun::star::uno;
@@ -153,7 +154,10 @@ Reference< XConnection > SAL_CALL FirebirdDriver::connect(
sal_Bool SAL_CALL FirebirdDriver::acceptsURL( const OUString& url )
throw(SQLException, RuntimeException)
{
- return url.equals("sdbc:embedded:firebird") || url.startsWith("sdbc:firebird:");
+ SvtMiscOptions aMiscOptions;
+
+ return aMiscOptions.IsExperimentalMode() &&
+ (url.equals("sdbc:embedded:firebird") || url.startsWith("sdbc:firebird:"));
}
Sequence< DriverPropertyInfo > SAL_CALL FirebirdDriver::getPropertyInfo(
diff --git a/dbaccess/CppunitTest_dbaccess_firebird_test.mk b/dbaccess/CppunitTest_dbaccess_firebird_test.mk
index 157a01912124..1cb545d955ca 100644
--- a/dbaccess/CppunitTest_dbaccess_firebird_test.mk
+++ b/dbaccess/CppunitTest_dbaccess_firebird_test.mk
@@ -22,6 +22,7 @@ $(eval $(call gb_CppunitTest_use_libraries,dbaccess_firebird_test, \
firebird_sdbc \
sal \
subsequenttest \
+ svt \
test \
unotest \
xo \
diff --git a/dbaccess/qa/unit/firebird.cxx b/dbaccess/qa/unit/firebird.cxx
index 78b7e6695893..a5852703dee6 100644
--- a/dbaccess/qa/unit/firebird.cxx
+++ b/dbaccess/qa/unit/firebird.cxx
@@ -15,6 +15,7 @@
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/sdbc/XRow.hpp>
#include <com/sun/star/sdbc/XStatement.hpp>
+#include <svtools/miscopt.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::sdb;
@@ -28,12 +29,21 @@ public:
void testEmptyDBConnection();
void testIntegerDatabase();
+ virtual void setUp();
+
CPPUNIT_TEST_SUITE(FirebirdTest);
CPPUNIT_TEST(testEmptyDBConnection);
CPPUNIT_TEST(testIntegerDatabase);
CPPUNIT_TEST_SUITE_END();
};
+void FirebirdTest::setUp()
+{
+ DBTestBase::setUp();
+ SvtMiscOptions aMiscOptions;
+ aMiscOptions.SetExperimentalMode(sal_True);
+}
+
/**
* Test the loading of an "empty" file, i.e. the embedded database has not yet
* been initialised (as occurs when a new .odb is created and opened by base).