Tag: cws_src680_dba205b
User: oj      
Date: 2006/08/04 02:17:38

Modified:
   dba/connectivity/source/drivers/adabas/BResultSetMetaData.cxx
   dba/connectivity/source/drivers/adabas/BColumns.cxx

Log:
 #b5007781# overload isAutoIncrement

File Changes:

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

File [changed]: BResultSetMetaData.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/adabas/BResultSetMetaData.cxx?r1=1.7&r2=1.7.38.1
Delta lines:  +15 -3
--------------------
--- BResultSetMetaData.cxx      20 Jun 2006 01:10:30 -0000      1.7
+++ BResultSetMetaData.cxx      4 Aug 2006 09:17:35 -0000       1.7.38.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: BResultSetMetaData.cxx,v $
  *
- *  $Revision: 1.7 $
+ *  $Revision: 1.7.38.1 $
  *
- *  last change: $Author: hr $ $Date: 2006/06/20 01:10:30 $
+ *  last change: $Author: oj $ $Date: 2006/08/04 09:17:35 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -86,6 +86,18 @@
        if ( !bFound )
                nValue = getNumColAttrib(column,SQL_DESC_NULLABLE);
        return nValue;
+}
+// -------------------------------------------------------------------------
+sal_Bool SAL_CALL OAdabasResultSetMetaData::isAutoIncrement( sal_Int32 column 
) throw(SQLException, RuntimeException)
+{
+       if ( m_aSelectColumns.isValid() && column > 0 && column <= 
(sal_Int32)m_aSelectColumns->size() )
+    {
+        sal_Bool bAutoIncrement = sal_False;
+        
(*m_aSelectColumns)[column-1]->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_ISAUTOINCREMENT))
 >>= bAutoIncrement;
+               return bAutoIncrement;
+    }
+
+       return getNumColAttrib(column,SQL_DESC_AUTO_UNIQUE_VALUE) == SQL_TRUE;
 }
 // -------------------------------------------------------------------------
 

File [changed]: BColumns.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/adabas/BColumns.cxx?r1=1.19&r2=1.19.18.1
Delta lines:  +24 -4
--------------------
--- BColumns.cxx        10 Jul 2006 14:21:19 -0000      1.19
+++ BColumns.cxx        4 Aug 2006 09:17:35 -0000       1.19.18.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: BColumns.cxx,v $
  *
- *  $Revision: 1.19 $
+ *  $Revision: 1.19.18.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/07/10 14:21:19 $
+ *  last change: $Author: oj $ $Date: 2006/08/04 09:17:35 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -104,6 +104,26 @@
                                ::rtl::OUString sTypeName       = 
xRow->getString(6);
                                sal_Int32 nPrec                         = 
xRow->getInt(7);
                                
OAdabasCatalog::correctColumnProperties(nPrec,nType,sTypeName);
+                sal_Bool bAutoIncrement = sal_False;
+                if ( !_rName.equalsAscii("DEFAULT") && 
!m_pTable->getSchema().equalsAscii("DOMAIN") && 
!m_pTable->getTableName().equalsAscii("COLUMNS") )
+                {
+                    Reference< XStatement > xStmt = 
m_pTable->getMetaData()->getConnection()->createStatement(  );
+                    ::rtl::OUString sQuery(RTL_CONSTASCII_USTRINGPARAM("SELECT 
\"DEFAULT\" FROM DOMAIN.COLUMNS WHERE OWNER = '"));
+                    sQuery += m_pTable->getSchema();
+                    sQuery += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("' 
AND TABLENAME = '"));
+                    sQuery += m_pTable->getTableName() + 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("' AND COLUMNNAME = '"));
+                    sQuery += _rName + 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("'"));
+                    try
+                    {
+                        Reference< XResultSet > xResult2 = 
xStmt->executeQuery(sQuery);
+                        Reference< XRow > xRow2(xResult2,UNO_QUERY);
+                        if ( xRow2.is() && xResult2->next() )
+                            bAutoIncrement = xRow2->getString(1) == 
::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DEFAULT STAMP"));
+                    }
+                    catch(const Exception&)
+                    {
+                    }
+                }
 
                                xRet = new OColumn(_rName,
                                                                                
        sTypeName,
@@ -112,7 +132,7 @@
                                                                                
        nPrec,
                                                                                
        xRow->getInt(9),
                                                                                
        nType,
-                                                                               
        sal_False,sal_False,sal_False,sal_True);
+                                                                               
        bAutoIncrement,sal_False,sal_False,sal_True);
                                break;
                        }
                }




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

Reply via email to