Tag: cws_src680_dba30
User: fs      
Date: 2006/07/19 05:08:32

Modified:
   dba/dbaccess/source/core/api/KeySet.cxx

Log:
 RESYNC: (1.60-1.62); FILE MERGED

File Changes:

Directory: /dba/dbaccess/source/core/api/
=========================================

File [changed]: KeySet.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/api/KeySet.cxx?r1=1.59.16.3&r2=1.59.16.4
Delta lines:  +70 -69
---------------------
--- KeySet.cxx  8 May 2006 11:17:11 -0000       1.59.16.3
+++ KeySet.cxx  19 Jul 2006 12:08:29 -0000      1.59.16.4
@@ -93,6 +93,9 @@
 #ifndef _CONNECTIVITY_DBTOOLS_HXX_
 #include <connectivity/dbtools.hxx>
 #endif
+#ifndef _DBHELPER_DBEXCEPTION_HXX_
+#include <connectivity/dbexception.hxx>
+#endif
 #include <list>
 #include <algorithm>
 #ifndef _COM_SUN_STAR_IO_XINPUTSTREAM_HPP_
@@ -112,7 +115,8 @@
 #endif
 
 using namespace dbaccess;
-using namespace connectivity;
+using namespace ::connectivity;
+using namespace ::dbtools;
 using namespace ::com::sun::star::uno;
 using namespace ::com::sun::star::beans;
 using namespace ::com::sun::star::sdbc;
@@ -151,13 +155,15 @@
 OKeySet::OKeySet(const connectivity::OSQLTable& _xTable,
                                 const ::rtl::OUString& _rUpdateTableName,      
  // this can be the alias or the full qualified name
                                 const Reference< XSingleSelectQueryAnalyzer >& 
_xComposer)
-                       :m_xTable(_xTable)
-                       ,m_bRowCountFinal(sal_False)
+            :m_pKeyColumnNames(NULL)
+                       ,m_pColumnNames(NULL)
+                       ,m_xTable(_xTable)
                        ,m_xComposer(_xComposer)
                        ,m_sUpdateTableName(_rUpdateTableName)
                        ,m_pKeyColumnNames(NULL)
                        ,m_pColumnNames(NULL)
                        ,m_pForeignColumnNames(NULL)
+                       ,m_bRowCountFinal(sal_False)
 {
     DBG_CTOR(OKeySet,NULL);
 
@@ -190,10 +196,10 @@
        OCacheSet::construct(_xDriverSet);
 
        Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData();
-       bool bCase = (xMeta.is() && 
xMeta->supportsMixedCaseQuotedIdentifiers()) ? true : false;
-       m_pKeyColumnNames = new OColumnNamePos(bCase);
-       m_pColumnNames = new OColumnNamePos(bCase);
-       m_pForeignColumnNames = new OColumnNamePos(bCase);
+    bool bCase = (xMeta.is() && xMeta->storesMixedCaseQuotedIdentifiers()) ? 
true : false;
+    m_pKeyColumnNames = new SelectColumnsMetaData(bCase);
+    m_pColumnNames = new SelectColumnsMetaData(bCase);
+    m_pForeignColumnNames = new SelectColumnsMetaData(bCase);
 
        Reference<XNameAccess> xKeyColumns      = getKeyColumns();
        Reference<XColumnsSupplier> xSup(m_xComposer,UNO_QUERY);
@@ -202,7 +208,7 @@
        
::dbaccess::getColumnPositions(xSup->getColumns(),xKeyColumns,m_sUpdateTableName,(*m_pKeyColumnNames));
        
::dbaccess::getColumnPositions(xSup->getColumns(),xSourceColumns,m_sUpdateTableName,(*m_pColumnNames));
 
-       OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin();
+       SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
        for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter)
        {
                if(xSourceColumns->hasByName(aPosIter->first))
@@ -237,12 +243,12 @@
        ::rtl::OUString sComposedName;
        sCatalog = sSchema = sTable = ::rtl::OUString();
        
::dbtools::qualifiedNameComponents(xMetaData,m_sUpdateTableName,sCatalog,sSchema,sTable,::dbtools::eInDataManipulation);
-       
::dbtools::composeTableName(xMetaData,sCatalog,sSchema,sTable,sComposedName,sal_True,::dbtools::eInDataManipulation);
+    sComposedName = ::dbtools::composeTableName( xMetaData, sCatalog, sSchema, 
sTable, sal_True, ::dbtools::eInDataManipulation );
 
        static ::rtl::OUString s_sDot(RTL_CONSTASCII_USTRINGPARAM("."));
        static ::rtl::OUString s_sParam(RTL_CONSTASCII_USTRINGPARAM(" = ?"));
        // create the where clause
-       OColumnNamePos::const_iterator aIter;
+       SelectColumnsMetaData::const_iterator aIter;
        for(aIter = (*m_pKeyColumnNames).begin();aIter != 
(*m_pKeyColumnNames).end();)
        {
                aFilter += sComposedName;
@@ -296,7 +302,7 @@
        ::comphelper::disposeComponent(xAnalyzer);
 }
 // -------------------------------------------------------------------------
-Any SAL_CALL OKeySet::getBookmark( const ORowSetRow& _rRow ) 
throw(SQLException, RuntimeException)
+Any SAL_CALL OKeySet::getBookmark() throw(SQLException, RuntimeException)
 {
        OSL_ENSURE(m_aKeyIter != m_aKeyMap.end() && m_aKeyIter != 
m_aKeyMap.begin(),
                "getBookmark is only possible when we stand on a valid row!");
@@ -323,11 +329,11 @@
        return !isBeforeFirst() && !isAfterLast();
 }
 // -------------------------------------------------------------------------
-sal_Int32 SAL_CALL OKeySet::compareBookmarks( const Any& first, const Any& 
second ) throw(SQLException, RuntimeException)
+sal_Int32 SAL_CALL OKeySet::compareBookmarks( const Any& _first, const Any& 
_second ) throw(SQLException, RuntimeException)
 {
        sal_Int32 nFirst,nSecond;
-       first >>= nFirst;
-       second >>= nSecond;
+       _first >>= nFirst;
+       _second >>= nSecond;
 
        return (nFirst != nSecond) ? CompareBookmark::NOT_EQUAL : 
CompareBookmark::EQUAL;
 }
@@ -365,7 +371,7 @@
 
        ::rtl::OUString aCondition = ::rtl::OUString::createFromAscii("( ");
 
-       OColumnNamePos::const_iterator aIter = (*m_pKeyColumnNames).begin();
+       SelectColumnsMetaData::const_iterator aIter = 
(*m_pKeyColumnNames).begin();
        for(;aIter != (*m_pKeyColumnNames).end();++aIter)
        {
                aCondition += ::dbtools::quoteName( aQuote,aIter->first);
@@ -410,8 +416,8 @@
        memset(aRet.getArray(),bOk,sizeof(sal_Int32)*aRet.getLength());
        if(bOk)
        {
-               const Any* pBegin       = rows.getConstArray();
-               const Any* pEnd         = pBegin + rows.getLength();
+               pBegin  = rows.getConstArray();
+               pEnd    = pBegin + rows.getLength();
 
                for(;pBegin != pEnd;++pBegin)
                {
@@ -459,14 +465,13 @@
 
        sal_Int32 i = 1;
        // here we build the condition part for the update statement
-       OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
        for(;aIter != m_pColumnNames->end();++aIter,++i)
        {
-               sal_Bool bSigned = m_xSetMetaData->isSigned(i);
                if(xKeyColumns.is() && xKeyColumns->hasByName(aIter->first))
                {
                        sKeyCondition += ::dbtools::quoteName( 
aQuote,aIter->first);
-                       if((*_rOrginalRow)[aIter->second.first].isNull())
+                       if((*_rOrginalRow)[aIter->second.nPosition].isNull())
                                sKeyCondition += 
::rtl::OUString::createFromAscii(" IS NULL");
                        else
                                sKeyCondition += 
::rtl::OUString::createFromAscii(" = ?");
@@ -480,19 +485,19 @@
                                if((*aIndexIter)->hasByName(aIter->first))
                                {
                                        sIndexCondition += 
::dbtools::quoteName( aQuote,aIter->first);
-                                       
if((*_rOrginalRow)[aIter->second.first].isNull())
+                                       
if((*_rOrginalRow)[aIter->second.nPosition].isNull())
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" IS NULL");
                                        else
                                        {
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" = ?");
-                                               
aIndexColumnPositions.push_back(aIter->second.first);
+                                               
aIndexColumnPositions.push_back(aIter->second.nPosition);
                                        }
                                        sIndexCondition += aAnd;
                                        break;
                                }
                        }
                }
-               if((*_rInsertRow)[aIter->second.first].isModified())
+               if((*_rInsertRow)[aIter->second.nPosition].isModified())
                {
                        sSetValues += ::dbtools::quoteName( 
aQuote,aIter->first);
                        sSetValues += aPara;
@@ -505,7 +510,7 @@
                aSql += sSetValues;
        }
        else
-               throw 
SQLException(DBACORE_RESSTRING(RID_STR_NO_VALUE_CHANGED),m_xConnection,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HY0000")),1000,Any());
+        ::dbtools::throwSQLException( DBACORE_RESSTRING( 
RID_STR_NO_VALUE_CHANGED ), SQL_GENERAL_ERROR, m_xConnection );
 
        if(sKeyCondition.getLength() || sIndexCondition.getLength())
        {
@@ -529,8 +534,7 @@
                aSql += aCondition;
        }
        else
-               throw 
SQLException(DBACORE_RESSTRING(RID_STR_NO_CONDITION_FOR_PK),m_xConnection,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HY0000")),1000,Any());
-
+        ::dbtools::throwSQLException( DBACORE_RESSTRING( 
RID_STR_NO_CONDITION_FOR_PK ), SQL_GENERAL_ERROR, m_xConnection );
 
        // now create end execute the prepared statement
        Reference< XPreparedStatement > 
xPrep(m_xConnection->prepareStatement(aSql));
@@ -543,11 +547,11 @@
        for(;aIter != m_pColumnNames->end();++aIter,++j)
        {
 
-               sal_Int32 nPos = aIter->second.first;
+               sal_Int32 nPos = aIter->second.nPosition;
                if((*_rInsertRow)[nPos].isModified())
                {
                        
(*_rInsertRow)[nPos].setSigned((*_rOrginalRow)[nPos].isSigned());
-                       
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aIter->second.second.first);
+                       
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aIter->second.nType);
                }
        }
        // and then the values of the where condition
@@ -555,7 +559,7 @@
        j = 0;
        for(;aIter != (*m_pKeyColumnNames).end();++aIter,++i,++j)
        {
-               
setParameter(i,xParameter,(*_rOrginalRow)[aIter->second.first],aIter->second.second.first);
+               
setParameter(i,xParameter,(*_rOrginalRow)[aIter->second.nPosition],aIter->second.nType);
        }
 
        // now we have to set the index values
@@ -574,7 +578,6 @@
                m_aKeyIter = 
m_aKeyMap.find(::comphelper::getINT32((*_rInsertRow)[0].getAny()));
                OSL_ENSURE(m_aKeyIter != m_aKeyMap.end(),"New inserted row not 
found!");
                m_aKeyIter->second.second = 2;
-
         copyRowValue(_rInsertRow,m_aKeyIter->second.first);
        }
 }
@@ -593,12 +596,12 @@
        ::rtl::OUString aQuote = getIdentifierQuoteString();
     static ::rtl::OUString aComma(RTL_CONSTASCII_USTRINGPARAM(","));
 
-       OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
        sal_Int32 j = 1;
     sal_Bool bModified = sal_False;
        for(;aIter != m_pColumnNames->end();++aIter,++j)
        {
-               if((*_rInsertRow)[aIter->second.first].isModified())
+               if((*_rInsertRow)[aIter->second.nPosition].isModified())
                {
                        aSql += ::dbtools::quoteName( aQuote,aIter->first);
                        aSql += aComma;
@@ -607,7 +610,7 @@
                }
        }
     if ( !bModified )
-        throw 
SQLException(DBACORE_RESSTRING(RID_STR_NO_VALUE_CHANGED),m_xConnection,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("HY0000")),1000,Any());
+        ::dbtools::throwSQLException( DBACORE_RESSTRING( 
RID_STR_NO_VALUE_CHANGED ), SQL_GENERAL_ERROR, m_xConnection );
 
        aSql = 
aSql.replaceAt(aSql.getLength()-1,1,::rtl::OUString::createFromAscii(")"));
        aValues = 
aValues.replaceAt(aValues.getLength()-1,1,::rtl::OUString::createFromAscii(")"));
@@ -617,11 +620,10 @@
        Reference< XPreparedStatement > 
xPrep(m_xConnection->prepareStatement(aSql));
        Reference< XParameters > xParameter(xPrep,UNO_QUERY);
 
-       OColumnNamePos::const_iterator aPosIter = m_pColumnNames->begin();
-       sal_uInt16 k = 0;
+       SelectColumnsMetaData::const_iterator aPosIter = 
m_pColumnNames->begin();
        for(sal_Int32 i = 1;aPosIter != m_pColumnNames->end();++aPosIter)
        {
-               sal_Int32 nPos = aPosIter->second.first;
+               sal_Int32 nPos = aPosIter->second.nPosition;
                if((*_rInsertRow)[nPos].isModified())
                {
                        if((*_rInsertRow)[nPos].isNull())
@@ -629,7 +631,7 @@
                        else
                        {
                                
(*_rInsertRow)[nPos].setSigned(m_aSignedFlags[nPos-1]);
-                               
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aPosIter->second.second.first);
+                               
setParameter(i++,xParameter,(*_rInsertRow)[nPos],aPosIter->second.nType);
                        }
                }
        }
@@ -639,11 +641,11 @@
        if ( m_bInserted )
        {
         // first insert the default values into the insertrow
-        OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
-           for(;aIter != m_pColumnNames->end();++aIter)
+        SelectColumnsMetaData::const_iterator defaultIter = 
m_pColumnNames->begin();
+        for(;defaultIter != m_pColumnNames->end();++defaultIter)
            {
-            if ( !(*_rInsertRow)[aIter->second.first].isModified() )
-                           (*_rInsertRow)[aIter->second.first] = 
aIter->second.second.second;
+            if ( !(*_rInsertRow)[defaultIter->second.nPosition].isModified() )
+                (*_rInsertRow)[defaultIter->second.nPosition] = 
defaultIter->second.sDefaultValue;
         }
                try
                {
@@ -664,9 +666,9 @@
 #if OSL_DEBUG_LEVEL > 1
                                                ::rtl::OUString sColumnName( 
xMd->getColumnName(i) );
 #endif
-                                               OColumnNamePos::iterator aFind 
= m_pKeyColumnNames->find(*aAutoIter);
+                                               SelectColumnsMetaData::iterator 
aFind = m_pKeyColumnNames->find(*aAutoIter);
                                                if ( aFind != 
m_pKeyColumnNames->end() )
-                            
(*_rInsertRow)[aFind->second.first].fill(i,aFind->second.second.first,xRow);
+                            
(*_rInsertRow)[aFind->second.nPosition].fill(i,aFind->second.nType,xRow);
                                        }
                                        bAutoValuesFetched = sal_True;
                                }
@@ -717,9 +719,9 @@
                                        for (sal_Int32 i=1;aAutoIter != 
aAutoEnd; ++aAutoIter,++i)
                                        {
                                                // we will only fetch values 
which are keycolumns
-                                               OColumnNamePos::iterator aFind 
= m_pKeyColumnNames->find(*aAutoIter);
+                                               SelectColumnsMetaData::iterator 
aFind = m_pKeyColumnNames->find(*aAutoIter);
                                                if(aFind != 
m_pKeyColumnNames->end())
-                            
(*_rInsertRow)[aFind->second.first].fill(i,aFind->second.second.first,xRow);
+                            
(*_rInsertRow)[aFind->second.nPosition].fill(i,aFind->second.nType,xRow);
                                        }
                                }
                                ::comphelper::disposeComponent(xStatement);
@@ -733,7 +735,6 @@
        if ( m_bInserted )
        {
                ORowSetRow aKeyRow = new connectivity::ORowVector< ORowSetValue 
>((*m_pKeyColumnNames).size());
-               
         copyRowValue(_rInsertRow,aKeyRow);
 
                OKeySetMatrix::iterator aKeyIter = m_aKeyMap.end();
@@ -747,12 +748,12 @@
 void OKeySet::copyRowValue(const ORowSetRow& _rInsertRow,ORowSetRow& _rKeyRow)
 {
     connectivity::ORowVector< ORowSetValue >::iterator aIter = 
_rKeyRow->begin();
-       OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin();
-    OColumnNamePos::const_iterator aPosEnd = (*m_pKeyColumnNames).end();
+       SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
+    SelectColumnsMetaData::const_iterator aPosEnd = (*m_pKeyColumnNames).end();
        for(;aPosIter != aPosEnd;++aPosIter,++aIter)
     {
-               *aIter = (*_rInsertRow)[aPosIter->second.first];
-        aIter->setTypeKind(aPosIter->second.second.first);
+               *aIter = (*_rInsertRow)[aPosIter->second.nPosition];
+        aIter->setTypeKind(aPosIter->second.nType);
     }
 }
 // -------------------------------------------------------------------------
@@ -783,7 +784,7 @@
 
        ::rtl::OUString aColumnName,sIndexCondition;
        ::std::vector<sal_Int32> aIndexColumnPositions;
-       OColumnNamePos::const_iterator aIter = m_pColumnNames->begin();
+       SelectColumnsMetaData::const_iterator aIter = m_pColumnNames->begin();
 
        sal_Int32 i = 1;
        for(i = 1;aIter != m_pColumnNames->end();++aIter,++i)
@@ -791,7 +792,7 @@
                if(xKeyColumns.is() && xKeyColumns->hasByName(aIter->first))
                {
                        aSql += ::dbtools::quoteName( aQuote,aIter->first);
-                       if((*_rDeleteRow)[aIter->second.first].isNull())
+                       if((*_rDeleteRow)[aIter->second.nPosition].isNull())
                        {
                                OSL_ENSURE(0,"can a primary key be null");
                                aSql += ::rtl::OUString::createFromAscii(" IS 
NULL");
@@ -808,12 +809,12 @@
                                if((*aIndexIter)->hasByName(aIter->first))
                                {
                                        sIndexCondition += 
::dbtools::quoteName( aQuote,aIter->first);
-                                       
if((*_rDeleteRow)[aIter->second.first].isNull())
+                                       
if((*_rDeleteRow)[aIter->second.nPosition].isNull())
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" IS NULL");
                                        else
                                        {
                                                sIndexCondition += 
::rtl::OUString::createFromAscii(" = ?");
-                                               
aIndexColumnPositions.push_back(aIter->second.first);
+                                               
aIndexColumnPositions.push_back(aIter->second.nPosition);
                                        }
                                        sIndexCondition += aAnd;
 
@@ -833,7 +834,7 @@
        i = 1;
        for(;aIter != (*m_pKeyColumnNames).end();++aIter,++i)
        {
-               
setParameter(i,xParameter,(*_rDeleteRow)[aIter->second.first],aIter->second.second.first);
+               
setParameter(i,xParameter,(*_rDeleteRow)[aIter->second.nPosition],aIter->second.nType);
        }
 
        // now we have to set the index values
@@ -1069,7 +1070,7 @@
        xParameter->clearParameters();
        sal_Int32 nPos=1;
        connectivity::ORowVector< ORowSetValue >::const_iterator aIter = 
m_aKeyIter->second.first->begin();
-       OColumnNamePos::const_iterator aPosIter = (*m_pKeyColumnNames).begin();
+       SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
        for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter,++nPos)
                setParameter(nPos,xParameter,*aIter);
        aPosIter = (*m_pForeignColumnNames).begin();
@@ -1078,7 +1079,7 @@
 
        m_xSet = m_xStatement->executeQuery();
        OSL_ENSURE(m_xSet.is(),"No resultset form statement!");
-       sal_Bool bOK = m_xSet->next();
+       sal_Bool bOK = m_xSet->next(); (void)bOK;
        OSL_ENSURE(bOK,"No rows!");
        m_xRow.set(m_xSet,UNO_QUERY);
        OSL_ENSURE(m_xRow.is(),"No row form statement!");
@@ -1088,16 +1089,18 @@
 {
        // fetch the next row and append on the keyset
        sal_Bool bRet = sal_False;
-       if(!m_bRowCountFinal && (bRet = m_xDriverSet->next()))
+       if ( !m_bRowCountFinal )
+        bRet = m_xDriverSet->next();
+    if ( bRet )
        {
                ORowSetRow aKeyRow = new connectivity::ORowVector< ORowSetValue 
>((*m_pKeyColumnNames).size() + m_pForeignColumnNames->size());
                connectivity::ORowVector< ORowSetValue >::iterator aIter = 
aKeyRow->begin();
                // first fetch the values needed for the key column
-               OColumnNamePos::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
+               SelectColumnsMetaData::const_iterator aPosIter = 
(*m_pKeyColumnNames).begin();
                for(;aPosIter != (*m_pKeyColumnNames).end();++aPosIter,++aIter)
                {
-                       const TPositionTypePair& rPair = aPosIter->second;
-            aIter->fill(rPair.first,rPair.second.first,m_xDriverRow);
+                       const SelectColumnDescription& rColDesc = 
aPosIter->second;
+            aIter->fill(rColDesc.nPosition,rColDesc.nType,m_xDriverRow);
                }
                // now fetch the values from the missing columns from other 
tables
                aPosIter = (*m_pForeignColumnNames).begin();
@@ -1264,12 +1267,10 @@
 {
        ::rtl::OUString aComposedName;
        Reference<XDatabaseMetaData> xMetaData = m_xConnection->getMetaData();
-       sal_Bool bUseCatalogInSelect = 
::dbtools::isDataSourcePropertyEnabled(m_xConnection,PROPERTY_USECATALOGINSELECT,sal_True);
-       sal_Bool bUseSchemaInSelect = 
::dbtools::isDataSourcePropertyEnabled(m_xConnection,PROPERTY_USESCHEMAINSELECT,sal_True);
 
        if( xMetaData.is() && xMetaData->supportsTableCorrelationNames() )
        {
-               
::dbtools::composeTableName(xMetaData,_sCatalog,_sSchema,_sTable,aComposedName,sal_False,::dbtools::eInDataManipulation);
+               aComposedName = ::dbtools::composeTableName( xMetaData, 
_sCatalog, _sSchema, _sTable, sal_False, ::dbtools::eInDataManipulation );
                // first we have to check if the composed tablename is in the 
select clause or if an alias is used
                Reference<XTablesSupplier> xTabSup(m_xComposer,UNO_QUERY);
                Reference<XNameAccess> xSelectTables = xTabSup->getTables();
@@ -1280,14 +1281,14 @@
                        { // the composed name isn't used in the select clause 
so we have to find out which name is used instead
                                ::rtl::OUString sCatalog,sSchema,sTable;
                                
::dbtools::qualifiedNameComponents(xMetaData,m_sUpdateTableName,sCatalog,sSchema,sTable,::dbtools::eInDataManipulation);
-                               
::dbtools::composeTableName(xMetaData,sCatalog,sSchema,sTable,aComposedName,sal_True,::dbtools::eInDataManipulation,bUseCatalogInSelect,bUseSchemaInSelect);
+                               aComposedName = 
::dbtools::composeTableNameForSelect( m_xConnection, sCatalog, sSchema, sTable 
);
                        }
                        else
-                               
::dbtools::composeTableName(xMetaData,_sCatalog,_sSchema,_sTable,aComposedName,sal_True,::dbtools::eInDataManipulation,bUseCatalogInSelect,bUseSchemaInSelect);
+                               aComposedName = 
::dbtools::composeTableNameForSelect( m_xConnection, _sCatalog, _sSchema, 
_sTable );
                }
        }
        else
-               
::dbtools::composeTableName(xMetaData,_sCatalog,_sSchema,_sTable,aComposedName,sal_True,::dbtools::eInDataManipulation,bUseCatalogInSelect,bUseSchemaInSelect);
+               aComposedName = ::dbtools::composeTableNameForSelect( 
m_xConnection, _sCatalog, _sSchema, _sTable );
 
        return aComposedName;
 }
@@ -1297,7 +1298,7 @@
        void getColumnPositions(const Reference<XNameAccess>& _rxQueryColumns,
                                                        const 
Reference<XNameAccess>& _rxColumns,
                                                        const ::rtl::OUString& 
_rsUpdateTableName,
-                                                       OColumnNamePos& 
_rColumnNames)
+                                                       SelectColumnsMetaData& 
_rColumnNames)
        {
                // get the real name of the columns
                Sequence< ::rtl::OUString> 
aSelNames(_rxQueryColumns->getElementNames());
@@ -1330,7 +1331,7 @@
                     if ( 
xColumnProp->getPropertySetInfo()->hasPropertyByName(PROPERTY_DEFAULTVALUE) )
                         xColumnProp->getPropertyValue(PROPERTY_DEFAULTVALUE) 
>>= sColumnDefault;
 
-                    _rColumnNames[sRealName] = 
TPositionTypePair(nPos,TTypeDefaultValuePair(nType,sColumnDefault));
+                    _rColumnNames[sRealName] = SelectColumnDescription( nPos, 
nType, sColumnDefault );
                                        break;
                                }
                        }




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

Reply via email to