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]

Reply via email to