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]
