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]

Reply via email to