Add embedded firebird loading code, set as default db.

Change-Id: I993d7d7bacec710bb57d9e8f91d3cd01b0fbf616
This commit is contained in:
Andrzej J.R. Hunt
2013-07-08 09:39:55 +01:00
parent 002e9c5a83
commit 99dfc26327
4 changed files with 16 additions and 2 deletions

View File

@@ -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)

View File

@@ -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
} }
} }
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
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
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);

View File

@@ -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,

View File

@@ -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;