Remove dead and broken EmbeddedDatabases configuration
As found out in 98c0b208 "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 (ee11cb63), corresponding values (for HSQLDB) to officecfg/registry/data/org/openoffice/Office/DataAccess.xcu (60c5f0af), 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 a68938bc). 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 (473a3ccf, "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 (79bbd382), but left the EmbeddedDatabases schema data in officecfg/registry/schema/org/openoffice/Office/DataAccess.xcs untouched. Then, b88a62cc "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>
Showing
Please
register
or
sign in
to comment