Kaydet (Commit) 577a9708 authored tarafından Michael Stahl's avatar Michael Stahl

dbaccess: don't try to migrate read-only file

It's going to throw IOException anyway.

This fixes CppunitTest_dbaccess_hsqldb_test on read-only file system.

Change-Id: Ifc8a4791ab9a1a8d3e0f1e67d65e10dac458147c
Reviewed-on: https://gerrit.libreoffice.org/67028
Tested-by: Jenkins
Reviewed-by: 's avatarMichael Stahl <Michael.Stahl@cib.de>
üst f4be87e0
......@@ -605,6 +605,7 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString
bool bNeedMigration = false;
if(m_pImpl->m_sConnectURL == "sdbc:embedded:hsqldb")
{
Reference<XStorage> const xRootStorage = m_pImpl->getOrCreateRootStorage();
OUString sMigrEnvVal;
osl_getEnvironment(OUString("DBACCESS_HSQL_MIGRATION").pData,
&sMigrEnvVal.pData);
......@@ -612,14 +613,18 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString
bNeedMigration = true;
else
{
MigrationWarnDialog aWarnDlg(GetFrameWeld(m_pImpl->getModel_noCreate()));
bNeedMigration = aWarnDlg.run() == RET_OK;
Reference<XPropertySet> const xPropSet(xRootStorage, UNO_QUERY_THROW);
sal_Int32 nOpenMode(0);
if ((xPropSet->getPropertyValue("OpenMode") >>= nOpenMode)
&& (nOpenMode & css::embed::ElementModes::WRITE))
{
MigrationWarnDialog aWarnDlg(GetFrameWeld(m_pImpl->getModel_noCreate()));
bNeedMigration = aWarnDlg.run() == RET_OK;
}
}
if (bNeedMigration)
{
// back up content xml file if migration was successful
Reference<XStorage> xRootStorage = m_pImpl->getOrCreateRootStorage();
constexpr char BACKUP_XML_NAME[] = "content_before_migration.xml";
try
{
......
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