dba33f: don't ask every driver for a tables keys and consolidate some code fragments
This commit is contained in:
@@ -233,22 +233,10 @@ Sequence< ::rtl::OUString > ObjectCopySource::getColumnNames() const
|
||||
//------------------------------------------------------------------------
|
||||
Sequence< ::rtl::OUString > ObjectCopySource::getPrimaryKeyColumnNames() const
|
||||
{
|
||||
Reference<XKeysSupplier> xSup(m_xObject,UNO_QUERY);
|
||||
Reference< XIndexAccess> xKeys;
|
||||
if(xSup.is() )
|
||||
xKeys = xSup->getKeys();
|
||||
|
||||
::std::vector< Reference< XNameAccess > > aPrimaryKeyColumns( ::dbaui::getKeyColumns( xKeys, KeyType::PRIMARY ) );
|
||||
OSL_ENSURE( ( aPrimaryKeyColumns.size() == 1 ) || aPrimaryKeyColumns.empty(),
|
||||
"ObjectCopySource::getPrimaryKeyColumnNames: more than one primary key?!" );
|
||||
|
||||
Reference< XNameAccess > xKeyCols;
|
||||
if ( !aPrimaryKeyColumns.empty() )
|
||||
xKeyCols = aPrimaryKeyColumns[0];
|
||||
|
||||
const Reference<XNameAccess> xPrimaryKeyColumns = getPrimaryKeyColumns_throw(m_xObject);
|
||||
Sequence< ::rtl::OUString > aKeyColNames;
|
||||
if ( xKeyCols.is() )
|
||||
aKeyColNames = xKeyCols->getElementNames();
|
||||
if ( xPrimaryKeyColumns.is() )
|
||||
aKeyColNames = xPrimaryKeyColumns->getElementNames();
|
||||
return aKeyColNames;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user