User: rt Date: 2008-06-06 13:58:19+0000 Modified: dba/dbaccess/source/core/api/KeySet.cxx
Log: INTEGRATION: CWS dba30c (1.72.8); FILE MERGED 2008/05/05 11:09:02 oj 1.72.8.1: #i87131# collect keys only once, getKeys always refetch keys File Changes: Directory: /dba/dbaccess/source/core/api/ ========================================= File [changed]: KeySet.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/KeySet.cxx?r1=1.72&r2=1.73 Delta lines: +10 -4 -------------------- --- KeySet.cxx 2008-04-10 12:24:35+0000 1.72 +++ KeySet.cxx 2008-06-06 13:58:16+0000 1.73 @@ -153,12 +153,14 @@ DBG_NAME(OKeySet) // ------------------------------------------------------------------------- OKeySet::OKeySet(const connectivity::OSQLTable& _xTable, + const Reference< XIndexAccess>& _xTableKeys, const ::rtl::OUString& _rUpdateTableName, // this can be the alias or the full qualified name const Reference< XSingleSelectQueryAnalyzer >& _xComposer) :m_pKeyColumnNames(NULL) ,m_pColumnNames(NULL) ,m_pForeignColumnNames(NULL) ,m_xTable(_xTable) + ,m_xTableKeys(_xTableKeys) ,m_xComposer(_xComposer) ,m_sUpdateTableName(_rUpdateTableName) ,m_bRowCountFinal(sal_False) @@ -874,10 +876,14 @@ { // use keys and indexes for excat postioning // first the keys + + Reference<XIndexAccess> xKeys = m_xTableKeys; + if ( !xKeys.is() ) + { Reference<XKeysSupplier> xKeySup(m_xTable,UNO_QUERY); - Reference<XIndexAccess> xKeys; if(xKeySup.is()) xKeys = xKeySup->getKeys(); + } Reference<XColumnsSupplier> xKeyColsSup; Reference<XNameAccess> xKeyColumns; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
