Kaydet (Commit) 99dfc263 authored tarafından Andrzej J.R. Hunt's avatar Andrzej J.R. Hunt

Add embedded firebird loading code, set as default db.

Change-Id: I993d7d7bacec710bb57d9e8f91d3cd01b0fbf616
üst 002e9c5a
...@@ -147,7 +147,10 @@ sal_Bool SAL_CALL FirebirdDriver::acceptsURL( const ::rtl::OUString& url ) ...@@ -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 // 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. // 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) Sequence< DriverPropertyInfo > SAL_CALL FirebirdDriver::getPropertyInfo( const ::rtl::OUString& url, const Sequence< PropertyValue >& info ) throw(SQLException, RuntimeException)
......
...@@ -206,6 +206,7 @@ OUString ODsnTypeCollection::getDatasourcePrefixFromMediaType(const OUString& _s ...@@ -206,6 +206,7 @@ OUString ODsnTypeCollection::getDatasourcePrefixFromMediaType(const OUString& _s
bool ODsnTypeCollection::isShowPropertiesEnabled( const OUString& _sURL ) const bool ODsnTypeCollection::isShowPropertiesEnabled( const OUString& _sURL ) const
{ {
return !( _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:embedded:hsqldb",sizeof("sdbc:embedded:hsqldb")-1) 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:outlook",sizeof("sdbc:address:outlook")-1)
|| _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:outlookexp",sizeof("sdbc:address:outlookexp")-1) || _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:outlookexp",sizeof("sdbc:address:outlookexp")-1)
|| _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:mozilla:",sizeof("sdbc:address:mozilla:")-1) || _sURL.matchIgnoreAsciiCaseAsciiL("sdbc:address:mozilla:",sizeof("sdbc:address:mozilla:")-1)
...@@ -321,7 +322,11 @@ OUString ODsnTypeCollection::getEmbeddedDatabase() const ...@@ -321,7 +322,11 @@ OUString ODsnTypeCollection::getEmbeddedDatabase() const
} }
} }
if ( sEmbeddedDatabaseURL.isEmpty() ) if ( sEmbeddedDatabaseURL.isEmpty() )
#ifdef ENABLE_FIREBIRD_SDBC
sEmbeddedDatabaseURL = "sdbc:embedded:firebird";
#else
sEmbeddedDatabaseURL = "sdbc:embedded:hsqldb"; sEmbeddedDatabaseURL = "sdbc:embedded:hsqldb";
#endif
return sEmbeddedDatabaseURL; return sEmbeddedDatabaseURL;
} }
//------------------------------------------------------------------------- //-------------------------------------------------------------------------
...@@ -361,6 +366,9 @@ DATASOURCE_TYPE ODsnTypeCollection::determineType(const OUString& _rDsn) const ...@@ -361,6 +366,9 @@ DATASOURCE_TYPE ODsnTypeCollection::determineType(const OUString& _rDsn) const
if (sDsn.equalsIgnoreAsciiCase("sdbc:embedded:hsqldb")) if (sDsn.equalsIgnoreAsciiCase("sdbc:embedded:hsqldb"))
return DST_EMBEDDED_HSQLDB; return DST_EMBEDDED_HSQLDB;
if (sDsn.equalsIgnoreAsciiCase("sdbc:embedded:firebird"))
return DST_EMBEDDED_FIREBIRD;
// find second : // find second :
nSeparator = sDsn.indexOf(static_cast<sal_Unicode>(':'), nSeparator + 1); nSeparator = sDsn.indexOf(static_cast<sal_Unicode>(':'), nSeparator + 1);
if (-1 == nSeparator) if (-1 == nSeparator)
...@@ -489,6 +497,7 @@ void ODsnTypeCollection::fillPageIds(const OUString& _sURL,::std::vector<sal_Int ...@@ -489,6 +497,7 @@ void ODsnTypeCollection::fillPageIds(const OUString& _sURL,::std::vector<sal_Int
case DST_KAB: case DST_KAB:
case DST_MACAB: case DST_MACAB:
case DST_EMBEDDED_HSQLDB: case DST_EMBEDDED_HSQLDB:
case DST_EMBEDDED_FIREBIRD:
break; break;
default: default:
_rOutPathIds.push_back(PAGE_DBSETUPWIZARD_USERDEFINED); _rOutPathIds.push_back(PAGE_DBSETUPWIZARD_USERDEFINED);
......
...@@ -61,6 +61,7 @@ enum DATASOURCE_TYPE ...@@ -61,6 +61,7 @@ enum DATASOURCE_TYPE
DST_EMBEDDED_HSQLDB = 23, DST_EMBEDDED_HSQLDB = 23,
DST_MYSQL_NATIVE = 24, DST_MYSQL_NATIVE = 24,
DST_MYSQL_NATIVE_DIRECT = 25, DST_MYSQL_NATIVE_DIRECT = 25,
DST_EMBEDDED_FIREBIRD = 26,
DST_USERDEFINE1, /// first user defined driver DST_USERDEFINE1, /// first user defined driver
DST_USERDEFINE2, DST_USERDEFINE2,
......
...@@ -276,7 +276,8 @@ namespace dbaui ...@@ -276,7 +276,8 @@ namespace dbaui
_inout_rDisplayName = String(); _inout_rDisplayName = String();
} }
if ( eType == ::dbaccess::DST_EMBEDDED_HSQLDB ) if ( eType == ::dbaccess::DST_EMBEDDED_HSQLDB
|| eType == ::dbaccess::DST_EMBEDDED_FIREBIRD )
_inout_rDisplayName = String(); _inout_rDisplayName = String();
return _inout_rDisplayName.getLength() > 0; return _inout_rDisplayName.getLength() > 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment