tdf#160375 Base displays and gives the full name of the table
Change-Id: Icc8c6d85cc5a88461b7bd02487513e0e864bacef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166057 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
This commit is contained in:
@@ -38,6 +38,7 @@ using namespace ::com::sun::star::sdbcx;
|
||||
using namespace ::com::sun::star::uno;
|
||||
using namespace ::com::sun::star::beans;
|
||||
using namespace ::com::sun::star::container;
|
||||
using namespace ::com::sun::star::lang;
|
||||
|
||||
ORelationTableConnectionData::ORelationTableConnectionData()
|
||||
:m_nUpdateRules(KeyRule::NO_ACTION)
|
||||
@@ -253,7 +254,8 @@ bool ORelationTableConnectionData::Update()
|
||||
|
||||
xKey->setPropertyValue(PROPERTY_NAME,Any(sKeyName));
|
||||
xKey->setPropertyValue(PROPERTY_TYPE,Any(KeyType::FOREIGN));
|
||||
xKey->setPropertyValue(PROPERTY_REFERENCEDTABLE,Any(getReferencedTable()->GetTableName()));
|
||||
// get the full name of the tables to ensure uniqueness across catalogs and schema
|
||||
xKey->setPropertyValue(PROPERTY_REFERENCEDTABLE,Any(getReferencedTable()->GetComposedName()));
|
||||
xKey->setPropertyValue(PROPERTY_UPDATERULE, Any(GetUpdateRules()));
|
||||
xKey->setPropertyValue(PROPERTY_DELETERULE, Any(GetDeleteRules()));
|
||||
}
|
||||
@@ -298,7 +300,7 @@ bool ORelationTableConnectionData::Update()
|
||||
{
|
||||
OUString sReferencedTable;
|
||||
xKey->getPropertyValue(PROPERTY_REFERENCEDTABLE) >>= sReferencedTable;
|
||||
if ( sReferencedTable == getReferencedTable()->GetTableName() )
|
||||
if ( sReferencedTable == getReferencedTable()->GetComposedName() )
|
||||
{
|
||||
xColSup.set(xKey,UNO_QUERY_THROW);
|
||||
try
|
||||
|
||||
@@ -51,6 +51,7 @@ using namespace ::com::sun::star;
|
||||
using namespace ::com::sun::star::uno;
|
||||
using namespace ::com::sun::star::sdbc;
|
||||
using namespace ::com::sun::star::sdbcx;
|
||||
using namespace ::com::sun::star::beans;
|
||||
using namespace ::com::sun::star::container;
|
||||
using namespace ::com::sun::star::accessibility;
|
||||
|
||||
@@ -107,7 +108,8 @@ void ORelationTableView::ReSync()
|
||||
// it should be cleaned up, including its data in the document
|
||||
pTabWin->clearListBox();
|
||||
pTabWin.disposeAndClear();
|
||||
arrInvalidTables.push_back(pData->GetTableName());
|
||||
// get the full name of the tables to ensure uniqueness across catalogs and schema
|
||||
arrInvalidTables.push_back(pData->GetComposedName());
|
||||
|
||||
std::erase(rTabWinDataList, *aIter);
|
||||
continue;
|
||||
@@ -131,9 +133,9 @@ void ORelationTableView::ReSync()
|
||||
if ( !arrInvalidTables.empty() )
|
||||
{
|
||||
// do the tables to the connection exist?
|
||||
OUString strTabExistenceTest = pTabConnData->getReferencingTable()->GetTableName();
|
||||
OUString strTabExistenceTest = pTabConnData->getReferencingTable()->GetComposedName();
|
||||
bool bInvalid = std::find(arrInvalidTables.begin(),arrInvalidTables.end(),strTabExistenceTest) != arrInvalidTables.end();
|
||||
strTabExistenceTest = pTabConnData->getReferencedTable()->GetTableName();
|
||||
strTabExistenceTest = pTabConnData->getReferencedTable()->GetComposedName();
|
||||
bInvalid = bInvalid || std::find(arrInvalidTables.begin(),arrInvalidTables.end(),strTabExistenceTest) != arrInvalidTables.end();
|
||||
|
||||
if (bInvalid)
|
||||
@@ -289,7 +291,8 @@ void ORelationTableView::AddTabWin(const OUString& _rComposedName, const OUStrin
|
||||
}
|
||||
|
||||
// enter the new data structure into DocShell
|
||||
TTableWindowData::value_type pNewTabWinData(createTableWindowData( _rComposedName, rWinName,rWinName ));
|
||||
// show the table's full name as window name to ensure uniqueness across catalogs and schema
|
||||
TTableWindowData::value_type pNewTabWinData(createTableWindowData( _rComposedName, rWinName, _rComposedName ));
|
||||
pNewTabWinData->ShowAll(false);
|
||||
|
||||
// link new window into the window list
|
||||
|
||||
Reference in New Issue
Block a user