summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2022-10-31 12:08:50 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2022-11-01 11:39:57 +0100
commit85a5233275ab83fe0d6b943b298695387d97accd (patch)
tree7609cef914682fdad0200acb7c2d59923953c301
parentae86dfdc05545ca4ec67f0434737baa92892b79f (diff)
error when copying table and the copy table wizard creates the primary key
then the primary key will not be IDENTITY column, and the ALTER TABLE...RESTART WITH will product an error Change-Id: If17bd0cbfe3519f9074aebb819b7d85ccea63e1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141970 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--dbaccess/source/ui/uno/copytablewizard.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/dbaccess/source/ui/uno/copytablewizard.cxx b/dbaccess/source/ui/uno/copytablewizard.cxx
index 995ca99ed022..5fd10ee37e75 100644
--- a/dbaccess/source/ui/uno/copytablewizard.cxx
+++ b/dbaccess/source/ui/uno/copytablewizard.cxx
@@ -1359,7 +1359,9 @@ void CopyTableWizard::impl_doCopy_nothrow()
// tdf#119962
const Reference< XDatabaseMetaData > xDestMetaData( m_xDestConnection->getMetaData(), UNO_SET_THROW );
OUString sDatabaseDest = xDestMetaData->getDatabaseProductName().toAsciiLowerCase();
- if ( (sDatabaseDest.indexOf("hsql") != -1) || (sDatabaseDest.indexOf("firebird") != -1) )
+ // If we created a new primary key, then it won't necessarily be an IDENTITY column
+ const bool bShouldCreatePrimaryKey = rWizard.shouldCreatePrimaryKey();
+ if ( !bShouldCreatePrimaryKey && ((sDatabaseDest.indexOf("hsql") != -1) || (sDatabaseDest.indexOf("firebird") != -1)) )
{
const OUString sComposedTableName = ::dbtools::composeTableName( xDestMetaData, xTable, ::dbtools::EComposeRule::InDataManipulation, true );