User: hr Date: 05/09/23 05:01:47 Modified: /dba/dbaccess/source/core/api/ CacheSet.cxx
Log: INTEGRATION: CWS dba201b (1.38.58); FILE MERGED 2005/09/21 06:43:24 oj 1.38.58.3: RESYNC: (1.38-1.39); FILE MERGED 2005/07/26 10:48:19 oj 1.38.58.2: #i52440# throw exception when only select is allowed and an update or insert is executing 2005/07/11 13:36:58 fs 1.38.58.1: merging CWS dba201 into CWS dba201b File Changes: Directory: /dba/dbaccess/source/core/api/ ========================================= File [changed]: CacheSet.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/CacheSet.cxx?r1=1.39&r2=1.40 Delta lines: +17 -82 --------------------- --- CacheSet.cxx 8 Sep 2005 09:57:09 -0000 1.39 +++ CacheSet.cxx 23 Sep 2005 12:01:45 -0000 1.40 @@ -86,6 +86,9 @@ #ifndef _COMPHELPER_TYPES_HXX_ #include <comphelper/types.hxx> #endif +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif using namespace comphelper; @@ -103,6 +106,16 @@ // using namespace ::cppu; using namespace ::osl; +DBG_NAME(OCacheSet) +// ------------------------------------------------------------------------- +OCacheSet::OCacheSet() + :m_bInserted(sal_False) + ,m_bUpdated(sal_False) + ,m_bDeleted(sal_False) +{ + DBG_CTOR(OCacheSet,NULL); + +} // ------------------------------------------------------------------------- ::rtl::OUString OCacheSet::getIdentifierQuoteString() const { @@ -160,12 +173,14 @@ { OSL_ENSURE(0,"Unknown Exception occured"); } + + DBG_DTOR(OCacheSet,NULL); } // ----------------------------------------------------------------------------- void OCacheSet::fillTableName(const Reference<XPropertySet>& _xTable) throw(SQLException, RuntimeException) { OSL_ENSURE(_xTable.is(),"OCacheSet::fillTableName: PropertySet is empty!"); - if(!m_aComposedTableName.getLength()) + if(!m_aComposedTableName.getLength() && _xTable.is() ) { Reference<XDatabaseMetaData> xMeta(m_xConnection->getMetaData()); composeTableName(xMeta @@ -570,7 +585,7 @@ { sal_Int32 nType = m_xSetMetaData->getColumnType(i); aIter->setSigned(m_aSignedFlags[i-1]); - fetchValue(i,nType,this,*aIter); + aIter->fill(i,nType,this); } } // ----------------------------------------------------------------------------- @@ -773,83 +788,3 @@ return m_xDriverSet->getStatement(); } // ----------------------------------------------------------------------------- -void OCacheSet::fetchValue(sal_Int32 _nPos,sal_Int32 _nType,const Reference<XRow>& _xRow,ORowSetValue& _rValue) -{ - sal_Bool bReadData = sal_True; - switch(_nType) - { - case DataType::CHAR: - case DataType::VARCHAR: - case DataType::DECIMAL: - case DataType::NUMERIC: - case DataType::LONGVARCHAR: - _rValue = _xRow->getString(_nPos); - break; - case DataType::BIGINT: - if ( _rValue.isSigned() ) - _rValue = _xRow->getLong(_nPos); - else - _rValue = _xRow->getString(_nPos); - break; - case DataType::FLOAT: - _rValue = _xRow->getFloat(_nPos); - break; - case DataType::DOUBLE: - case DataType::REAL: - _rValue = _xRow->getDouble(_nPos); - break; - case DataType::DATE: - _rValue = _xRow->getDate(_nPos); - break; - case DataType::TIME: - _rValue = _xRow->getTime(_nPos); - break; - case DataType::TIMESTAMP: - _rValue = _xRow->getTimestamp(_nPos); - break; - case DataType::BINARY: - case DataType::VARBINARY: - case DataType::LONGVARBINARY: - _rValue = _xRow->getBytes(_nPos); - break; - case DataType::BIT: - case DataType::BOOLEAN: - _rValue = _xRow->getBoolean(_nPos); - break; - case DataType::TINYINT: - if ( _rValue.isSigned() ) - _rValue = _xRow->getByte(_nPos); - else - _rValue = _xRow->getShort(_nPos); - break; - case DataType::SMALLINT: - if ( _rValue.isSigned() ) - _rValue = _xRow->getShort(_nPos); - else - _rValue = _xRow->getInt(_nPos); - break; - case DataType::INTEGER: - if ( _rValue.isSigned() ) - _rValue = _xRow->getInt(_nPos); - else - _rValue = _xRow->getLong(_nPos); - break; - case DataType::CLOB: - _rValue = makeAny(_xRow->getCharacterStream(_nPos)); - _rValue.setTypeKind(DataType::CLOB); - break; - case DataType::BLOB: - _rValue = makeAny(_xRow->getBinaryStream(_nPos)); - _rValue.setTypeKind(DataType::BLOB); - break; - default: - bReadData = sal_False; - break; - } - if ( bReadData && _xRow->wasNull() ) - _rValue.setNull(); - _rValue.setTypeKind(_nType); -} -// ----------------------------------------------------------------------------- - - --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
