diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2019-02-07 11:26:14 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2019-02-13 10:24:09 +0100 |
commit | 74f9830db4f515856adefcbc936094ceca1b78fa (patch) | |
tree | 9aafc35ba2e2f4322b0f908799efbd0b49091bff /dbaccess/source/ui | |
parent | 8f225cf31c678c6f9861f9233718074bc85ae7e4 (diff) |
Remove dead and broken EmbeddedDatabases configuration
As found out in 98c0b20864af965c3bb99a32f8ea57be7402e534 "Make Firebird the
(unconditional) default for new databases": "(Curiously,
ODsnTypeCollection::getEmbeddedDatabase would read a DefaultEmbeddedDatabase
value from the configuration before resorting to the hardcoded default, but
`git log -SDefaultEmbeddedDatabase` makes it look like there has never been any
code to actually write that setting.)"
Digging deeper, the story appears to be as follows: First, "INTEGRATION: CWS
hsqldb" commits in 2004 had addded the EmbeddedDatabases group (and accompanying
templates) to officecfg/registry/schema/org/openoffice/Office/DataAccess.xcs
(ee11cb6373f6bbb28b1cdf57daa73465d030fda5), corresponding values (for HSQLDB)
to officecfg/registry/data/org/openoffice/Office/DataAccess.xcu
(60c5f0af740265ab81b620208205fe9e74be452f), and code to read those values
(lcl_getEmbeddedDatabase in dbaccess/source/ui/misc/dsntypes.cxx;
ODsnTypeCollection::getEmbeddedDatabaseURL et al in
dbaccess/source/ui/misc/dsntypes.cxx; all
a68938bc908c8f852912f3310d2f4bec779a3cea). This looks like it actually worked.
Then, "INTEGRATION: CWS dba24b" commits in 2007 removed the EmbeddedDatabases
configuration data from
officecfg/registry/data/org/openoffice/Office/DataAccess.xcu
(473a3ccf63cc36ac3fa992dcb72d581496cb1bbf, "during #i80930#: The approach to
read the concrete type of the embedded DB from the configuration does not work,
there are enough places where we silently assume 'embedded == embedded HSQLDB'")
and removed the code reading it (79bbd382beb13a8f4031cc9b61332d0794878699), but
left the EmbeddedDatabases schema data in
officecfg/registry/schema/org/openoffice/Office/DataAccess.xcs untouched.
Then, b88a62cc97613e5dc00c806f59982cb57f9d1dc8 "CWS-TOOLING: integrate CWS
dbaperf2" in 2009 reintroduced code that attempts to read the configuration data
as ODsnTypeCollection::getEmbeddedDatabase
(dbaccess/source/core/misc/dsntypes.cxx). The reason for that may be
"2009-05-06 14:22:21 +0200 oj r271589 : #i101587# use config for the drivers"
as listed in the commit message. The code added as
ODsnTypeCollection::getEmbeddedDatabase back then remained effectively unchanged
until today, but looks fundamentally broken: It starts out with trying to read
an /org.openoffice.Office.DataAccess/EmbeddedDatabases/DefaultEmbeddedDatabase/
Value property that can never be present per the schema (an
/org.openoffice.Office.DataAccess/EmbeddedDatabases/DefaultEmbeddedDatabase
property could be); so no data is ever actually read from the configuration by
ODsnTypeCollection::getEmbeddedDatabase. (And the commit also didn't add back
any configuration data to
officecfg/registry/data/org/openoffice/Office/DataAccess.xcu that could have
been read in the first place, nor any code to generate such data
programmatically.)
So remove the broken code to read configuration data from
ODsnTypeCollection::getEmbeddedDatabase (which means it can be a static member
function now) and also remove the obviously unused EmbeddedDatabases group (and
accompanying templates) from
officecfg/registry/schema/org/openoffice/Office/DataAccess.xcs.
Change-Id: Icc9b34075b9b7e960df6c236d3595b7fabe71f9d
Reviewed-on: https://gerrit.libreoffice.org/67494
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'dbaccess/source/ui')
-rw-r--r-- | dbaccess/source/ui/dlg/generalpage.cxx | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/dbaccess/source/ui/dlg/generalpage.cxx b/dbaccess/source/ui/dlg/generalpage.cxx index ba609c6a89b4..567b1a2d65ae 100644 --- a/dbaccess/source/ui/dlg/generalpage.cxx +++ b/dbaccess/source/ui/dlg/generalpage.cxx @@ -251,7 +251,7 @@ namespace dbaui if (m_pCollection && bValid) { - implSetCurrentType( m_pCollection->getEmbeddedDatabase() ); + implSetCurrentType( dbaccess::ODsnTypeCollection::getEmbeddedDatabase() ); sDisplayName = m_pCollection->getTypeDisplayName( m_eCurrentSelection ); } @@ -486,7 +486,7 @@ namespace dbaui get( m_pPB_OpenDatabase, "openDatabase" ); // If no driver for embedded DBs is installed, and no dBase driver, then hide the "Create new database" option - sal_Int32 nCreateNewDBIndex = m_pCollection->getIndexOf( m_pCollection->getEmbeddedDatabase() ); + sal_Int32 nCreateNewDBIndex = m_pCollection->getIndexOf( dbaccess::ODsnTypeCollection::getEmbeddedDatabase() ); if ( nCreateNewDBIndex == -1 ) nCreateNewDBIndex = m_pCollection->getIndexOf( "sdbc:dbase:" ); bool bHideCreateNew = ( nCreateNewDBIndex == -1 ); |