drop firebird test of initial experimental period fdb-only format

Initially when the firebird embedded database support was first
experimental we saved the fdb firebird file format.

A test was added by 3f114eb4a2 around then
(2013) to test loading firebird odbs

Then with

commit de899f0b35
Date:   Thu Jun 2 11:56:10 2016 +0200

    connectivity: firebird: use ODS12 test database for Firebird 3

if building with firebird 3 a replacement odb was created in firebird
3.X ODS12 format to use instead of the 2.X ODS11 file.

Those fdb file formats were endian specific and database version
specific. Which was a well known problem documented in tdf#72987 and a
blocker for leaving 'experimental' at that point in time.

So finally with

commit 0cc1ddf2d8
Date:   Thu Aug 11 12:02:56 2016 +0200

    tdf#72987 GSoC Use Firebird backup format

the save was changed to save the backup fbk file format and load
restores the database from that fbk file format (2016) when available.

later in

commit 860ecb9e58
Date:   Thu Jan 5 12:58:26 2017 +0100

    require firebird 3.0 for build (don't allow 2.5)

the firebird 2.X (ODS11) test of loading the fdb format was
dropped leaving just the firebird 3.X (ODS12) fdb case because firebird
3.X cannot directly load the ODS11 format

Now with the appearance of firebird 4 the same problem arises that
firebird doesn't load older binary formats directly.

In the end all we established here is that an odb containing only a fdb
is endian and version specific and a bad idea wrt compatibility so we
shouldn't do that. But we knew that, so embedded firebird databases were
an experiemental curosity until 0cc1ddf2d8
enabled use of the fbk format.

We're not gaining anything with the test of loading the binary only case
because we know that's an unsustainable route we abandoned.

Change-Id: I9f1715a817392de9f3f6e891966bbd838a9ce933
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116981
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
This commit is contained in:
Caolán McNamara 2021-06-10 12:06:16 +01:00
parent eee3b63561
commit a774d3295f
5 changed files with 0 additions and 182 deletions

View file

@ -1,70 +0,0 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_CppunitTest_CppunitTest,dbaccess_firebird_regression_test))
$(eval $(call gb_CppunitTest_use_external,dbaccess_firebird_regression_test,boost_headers))
$(eval $(call gb_CppunitTest_add_exception_objects,dbaccess_firebird_regression_test, \
dbaccess/qa/unit/firebird-regression \
))
$(eval $(call gb_CppunitTest_use_libraries,dbaccess_firebird_regression_test, \
comphelper \
cppu \
dbaxml \
firebird_sdbc \
sal \
subsequenttest \
svt \
test \
unotest \
utl \
xo \
))
$(eval $(call gb_CppunitTest_use_api,dbaccess_firebird_regression_test,\
offapi \
oovbaapi \
udkapi \
))
$(eval $(call gb_CppunitTest_use_ure,dbaccess_firebird_regression_test))
$(eval $(call gb_CppunitTest_use_vcl,dbaccess_firebird_regression_test))
$(eval $(call gb_CppunitTest_use_components,dbaccess_firebird_regression_test,\
basic/util/sb \
comphelper/util/comphelp \
configmgr/source/configmgr \
connectivity/source/drivers/firebird/firebird_sdbc \
connectivity/source/manager/sdbc2 \
dbaccess/util/dba \
dbaccess/source/filter/xml/dbaxml \
dbaccess/util/dbu \
filter/source/config/cache/filterconfig1 \
framework/util/fwk \
i18npool/util/i18npool \
linguistic/source/lng \
package/source/xstor/xstor \
package/util/package2 \
sax/source/expatwrap/expwrap \
sfx2/util/sfx \
svl/source/fsstor/fsstorage \
svl/util/svl \
toolkit/util/tk \
ucb/source/core/ucb1 \
ucb/source/ucp/file/ucpfile1 \
unotools/util/utl \
uui/util/uui \
xmloff/util/xo \
))
$(eval $(call gb_CppunitTest_use_configuration,dbaccess_firebird_regression_test))
# vim: set noet sw=4 ts=4:

View file

@ -42,12 +42,6 @@ $(eval $(call gb_Module_add_check_targets,dbaccess,\
$(if $(ENABLE_JAVA),CppunitTest_dbaccess_tdf126268) \
))
# remove if we have a be file for this
ifeq ($(ENDIANNESS),little)
$(eval $(call gb_Module_add_check_targets,dbaccess,\
CppunitTest_dbaccess_firebird_regression_test \
))
endif
$(eval $(call gb_Module_add_check_targets,dbaccess,\
CppunitTest_dbaccess_firebird_test \
))

View file

@ -1,106 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include "dbtest_base.cxx"
#include <com/sun/star/sdb/XOfficeDatabaseDocument.hpp>
#include <com/sun/star/sdbc/XColumnLocate.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/sdbc/XResultSet.hpp>
#include <com/sun/star/sdbc/XRow.hpp>
#include <com/sun/star/sdbc/XStatement.hpp>
using namespace ::com::sun::star;
using namespace ::com::sun::star::sdb;
using namespace ::com::sun::star::sdbc;
using namespace ::com::sun::star::uno;
class FirebirdTest
: public DBTestBase
{
public:
void testEmptyDBConnection();
void testIntegerDatabase();
CPPUNIT_TEST_SUITE(FirebirdTest);
CPPUNIT_TEST(testEmptyDBConnection);
CPPUNIT_TEST(testIntegerDatabase);
CPPUNIT_TEST_SUITE_END();
};
/**
* Test the loading of an "empty" file, i.e. the embedded database has not yet
* been initialised (as occurs when a new .odb is created and opened by base).
*/
void FirebirdTest::testEmptyDBConnection()
{
#ifdef OSL_BIGENDIAN
auto const tmp = createTempCopy("firebird_empty_be.odb");
#else
auto const tmp = createTempCopy(u"firebird_empty_le.odb");
#endif
uno::Reference< XOfficeDatabaseDocument > xDocument =
getDocumentForUrl(tmp.GetURL());
getConnectionForDocument(xDocument);
closeDocument(uno::Reference<lang::XComponent>(xDocument, uno::UNO_QUERY));
}
/**
* Test reading of integers from a known .odb to verify that the data
* can still be read on all systems.
*/
void FirebirdTest::testIntegerDatabase()
{
#ifdef OSL_BIGENDIAN
uno::Reference< XOfficeDatabaseDocument > xDocument =
getDocumentForFileName("firebird_integer_be_ods12.odb");
#else
uno::Reference< XOfficeDatabaseDocument > xDocument =
getDocumentForFileName(u"firebird_integer_le_ods12.odb");
#endif
uno::Reference< XConnection > xConnection =
getConnectionForDocument(xDocument);
uno::Reference< XStatement > xStatement = xConnection->createStatement();
CPPUNIT_ASSERT(xStatement.is());
uno::Reference< XResultSet > xResultSet = xStatement->executeQuery(
"SELECT * FROM TESTTABLE");
CPPUNIT_ASSERT(xResultSet.is());
CPPUNIT_ASSERT(xResultSet->next());
uno::Reference< XRow > xRow(xResultSet, UNO_QUERY);
CPPUNIT_ASSERT(xRow.is());
uno::Reference< XColumnLocate > xColumnLocate(xRow, UNO_QUERY);
CPPUNIT_ASSERT(xColumnLocate.is());
CPPUNIT_ASSERT_EQUAL(sal_Int16(-30000),
xRow->getShort(xColumnLocate->findColumn("_SMALLINT")));
CPPUNIT_ASSERT_EQUAL(sal_Int32(-2100000000),
xRow->getInt(xColumnLocate->findColumn("_INT")));
CPPUNIT_ASSERT_EQUAL(SAL_CONST_INT64(-9000000000000000000),
xRow->getLong(xColumnLocate->findColumn("_BIGINT")));
CPPUNIT_ASSERT_EQUAL(OUString("5"),
xRow->getString(xColumnLocate->findColumn("_CHAR")));
CPPUNIT_ASSERT_EQUAL(OUString("5"),
xRow->getString(xColumnLocate->findColumn("_VARCHAR")));
CPPUNIT_ASSERT(!xResultSet->next()); // Should only be one row
closeDocument(uno::Reference<lang::XComponent>(xDocument, uno::UNO_QUERY));
}
CPPUNIT_TEST_SUITE_REGISTRATION(FirebirdTest);
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */