Tag: cws_dev300_dba30c
User: oj      
Date: 2008-05-08 07:15:44+0000
Modified:
   dba/connectivity/source/drivers/adabas/BKeys.cxx

Log:
 #i87131# collect keys only once, getKeys always refetch keys

File Changes:

Directory: /dba/connectivity/source/drivers/adabas/
===================================================

File [changed]: BKeys.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/adabas/BKeys.cxx?r1=1.24.10.1&r2=1.24.10.2
Delta lines:  +11 -6
--------------------
--- BKeys.cxx   2008-05-05 10:57:50+0000        1.24.10.1
+++ BKeys.cxx   2008-05-08 07:15:41+0000        1.24.10.2
@@ -7,7 +7,7 @@
  * OpenOffice.org - a multi-platform office productivity suite
  *
  * $RCSfile: BKeys.cxx,v $
- * $Revision: 1.24.10.1 $
+ * $Revision: 1.24.10.2 $
  *
  * This file is part of OpenOffice.org.
  *
@@ -96,14 +96,18 @@
        }
        aSql = 
aSql.replaceAt(aSql.getLength()-1,1,::rtl::OUString::createFromAscii(")"));
 
+    sal_Int32 nUpdateRule = 0, nDeleteRule = 0;
+    ::rtl::OUString sReferencedName;
+
        if(nKeyType == KeyType::FOREIGN)
        {
-               sal_Int32 nDeleteRule   = 
getINT32(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DELETERULE)));
+               nDeleteRule     = 
getINT32(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_DELETERULE)));
 
-               ::rtl::OUString aName,aSchema,aRefTable = 
getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_REFERENCEDTABLE)));
-               sal_Int32 nLen = aRefTable.indexOf('.');
-               aSchema = aRefTable.copy(0,nLen);
-               aName   = aRefTable.copy(nLen+1);
+               ::rtl::OUString aName,aSchema;
+        sReferencedName = 
getString(descriptor->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_REFERENCEDTABLE)));
+               sal_Int32 nLen = sReferencedName.indexOf('.');
+               aSchema = sReferencedName.copy(0,nLen);
+               aName   = sReferencedName.copy(nLen+1);
                aSql += ::rtl::OUString::createFromAscii(" REFERENCES ")
                                        + aQuote + aSchema + aQuote + sDot + 
aQuote + aName + aQuote;
                aSql += ::rtl::OUString::createFromAscii(" (");
@@ -167,6 +171,7 @@
                }
        }
 
+    getTable()->addKey(sNewName,sdbcx::TKeyProperties(new 
sdbcx::KeyProperties(sReferencedName,nKeyType,nUpdateRule,nDeleteRule)));
     return createObject( sNewName );
 }
 // -------------------------------------------------------------------------




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to