summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrzej J.R. Hunt <andrzej@ahunt.org>2013-07-08 09:39:55 +0100
committerAndrzej J.R. Hunt <andrzej@ahunt.org>2013-07-08 09:39:55 +0100
commit2c3eeb2f63a9e7898da4b145c51d451fcb039961 (patch)
tree4fb73e0b5e1160e95f37768da103cbe4a0df5b43
parent765461ea665a0a9cf38cdf7347e01589fa9357d8 (diff)
Add embedded firebird loading code, set as default db.
Change-Id: I993d7d7bacec710bb57d9e8f91d3cd01b0fbf616
-rw-r--r--connectivity/source/drivers/firebird/FDriver.cxx5
-rw-r--r--dbaccess/source/core/misc/dsntypes.cxx9
-rw-r--r--dbaccess/source/inc/dsntypes.hxx1
-rw-r--r--dbaccess/source/ui/dlg/generalpage.cxx3
4 files changed, 16 insertions, 2 deletions
diff --git a/connectivity/source/drivers/firebird/FDriver.cxx b/connectivity/source/drivers/firebird/FDriver.cxx
index e55a1bcfda5f..7f7b44a1a362 100644
--- a/connectivity/source/drivers/firebird/FDriver.cxx
+++ b/connectivity/source/drivers/firebird/FDriver.cxx
@@ -147,7 +147,10 @@ sal_Bool SAL_CALL FirebirdDriver::acceptsURL( const ::rtl::OUString& url )
{
// here we have to look if we support this url format
// change the URL format to your needs, but please aware that the first on who accepts the URl wins.
- return url.startsWith("sdbc:firebird:");
+ // This could be extended to allow for external dbs using e.g. sdbc:firebird:url
+ // in addition to embedded dbs.
+// return url.startsWith("sdbc:firebird:");
+ return url.equals("sdbc:embedded:firebird");
}
// --------------------------------------------------------------------------------
Sequence< DriverPropertyInfo > SAL_CALL FirebirdDriver::getPropertyInfo( const ::rtl::OUString& url, const Sequence< PropertyValue >& info ) throw(SQLException, RuntimeException)
diff --git a/dbaccess/source/core/misc/dsntypes.cxx b/dbaccess/source/core/misc/dsntypes.cxx
index 0c02d64d6949..806e117bbd84 100644
--- a/dbaccess/source/core/misc/dsntypes.cxx
+++ b/dbaccess/source/core/misc/dsntypes.cxx
@@ -206,6 +206,7 @@ OUString ODsnTypeCollection::getDatasourcePrefixFromMediaType(const OUString& _s
bool ODsnTypeCollection::isShowPropertiesEnabled( const OUString& _sURL ) const
{
return !( _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:embedded:hsqldb",sizeof("sdbc:embedded:hsqldb")-1)
+ || _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:embedded:firebird",sizeof("sdbc:embedded:firebird")-1)
|| _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:outlook",sizeof("sdbc:address:outlook")-1)
|| _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:outlookexp",sizeof("sdbc:address:outlookexp")-1)
|| _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:mozilla:",sizeof("sdbc:address:mozilla:")-1)
@@ -321,7 +322,11 @@ OUString ODsnTypeCollection::getEmbeddedDatabase() const
}
}
if ( sEmbeddedDatabaseURL.isEmpty() )
+#ifdef ENABLE_FIREBIRD_SDBC
+ sEmbeddedDatabaseURL = "sdbc:embedded:firebird";
+#else
sEmbeddedDatabaseURL = "sdbc:embedded:hsqldb";
+#endif
return sEmbeddedDatabaseURL;
}
//-------------------------------------------------------------------------
@@ -361,6 +366,9 @@ DATASOURCE_TYPE ODsnTypeCollection::determineType(const OUString& _rDsn) const
if (sDsn.equalsIgnoreAsciiCase("sdbc:embedded:hsqldb"))
return DST_EMBEDDED_HSQLDB;
+ if (sDsn.equalsIgnoreAsciiCase("sdbc:embedded:firebird"))
+ return DST_EMBEDDED_FIREBIRD;
+
// find second :
nSeparator = sDsn.indexOf(static_cast<sal_Unicode>(':'), nSeparator + 1);
if (-1 == nSeparator)
@@ -489,6 +497,7 @@ void ODsnTypeCollection::fillPageIds(const OUString& _sURL,::std::vector<sal_Int
case DST_KAB:
case DST_MACAB:
case DST_EMBEDDED_HSQLDB:
+ case DST_EMBEDDED_FIREBIRD:
break;
default:
_rOutPathIds.push_back(PAGE_DBSETUPWIZARD_USERDEFINED);
diff --git a/dbaccess/source/inc/dsntypes.hxx b/dbaccess/source/inc/dsntypes.hxx
index eec1af661c00..e7c42af97fcb 100644
--- a/dbaccess/source/inc/dsntypes.hxx
+++ b/dbaccess/source/inc/dsntypes.hxx
@@ -61,6 +61,7 @@ enum DATASOURCE_TYPE
DST_EMBEDDED_HSQLDB = 23,
DST_MYSQL_NATIVE = 24,
DST_MYSQL_NATIVE_DIRECT = 25,
+ DST_EMBEDDED_FIREBIRD = 26,
DST_USERDEFINE1, /// first user defined driver
DST_USERDEFINE2,
diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx
index 3eea60ae223c..836a6e0d906f 100644
--- a/dbaccess/source/ui/dlg/generalpage.cxx
+++ b/dbaccess/source/ui/dlg/generalpage.cxx
@@ -276,7 +276,8 @@ namespace dbaui
_inout_rDisplayName = String();
}
- if ( eType == ::dbaccess::DST_EMBEDDED_HSQLDB )
+ if ( eType == ::dbaccess::DST_EMBEDDED_HSQLDB
+ || eType == ::dbaccess::DST_EMBEDDED_FIREBIRD )
_inout_rDisplayName = String();
return _inout_rDisplayName.getLength() > 0;