Tag: cws_src680_qiq
User: fs      
Date: 06/05/10 03:52:26

Modified:
 /dba/connectivity/source/drivers/mozab/
  MPreparedStatement.cxx, MResultSet.cxx, MResultSet.hxx, MStatement.cxx,
  MStatement.hxx

Log:
 #i51443# changed API of the OSQLParseIterator

File Changes:

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

File [changed]: MPreparedStatement.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/MPreparedStatement.cxx?r1=1.9&r2=1.9.102.1
Delta lines:  +8 -8
-------------------
--- MPreparedStatement.cxx      8 Sep 2005 06:19:09 -0000       1.9
+++ MPreparedStatement.cxx      10 May 2006 10:52:23 -0000      1.9.102.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: MPreparedStatement.cxx,v $
  *
- *  $Revision: 1.9 $
+ *  $Revision: 1.9.102.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 06:19:09 $
+ *  last change: $Author: fs $ $Date: 2006/05/10 10:52:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -149,7 +149,7 @@
 OResultSet* OPreparedStatement::createResultSet( )
 {
     OSL_TRACE("In/Out : OPreparedStatement::createResultSet( )");
-    return new OResultSet( this, m_aSQLIterator );
+    return new OResultSet( this, m_pSQLIterator );
 }
 
 // 
-----------------------------------------------------------------------------
@@ -196,7 +196,7 @@
     if (m_pResultSet)
         bReadOnly = m_pResultSet->determineReadOnly();
        if(!m_xMetaData.is())
-        m_xMetaData = new OResultSetMetaData( 
m_aSQLIterator.getSelectColumns(), m_aSQLIterator.getTables().begin()->first 
,m_pTable,bReadOnly );
+        m_xMetaData = new OResultSetMetaData( 
m_pSQLIterator->getSelectColumns(), m_pSQLIterator->getTables().begin()->first 
,m_pTable,bReadOnly );
        return m_xMetaData;
 }
 // -------------------------------------------------------------------------
@@ -499,7 +499,7 @@
                                                     ,sal_False
                                                     ,sal_False
                                                     ,sal_False
-                                                    
,m_aSQLIterator.isCaseSensitive());
+                                                    
,m_pSQLIterator->isCaseSensitive());
     m_xParamColumns->push_back(xParaColumn);
     return nParameter;
 }
@@ -511,7 +511,7 @@
     if(SQL_ISRULE(_pNode,column_ref))
     {
         ::rtl::OUString sColumnName,sTableRange;
-        m_aSQLIterator.getColumnRange(_pNode,sColumnName,sTableRange);
+        m_pSQLIterator->getColumnRange(_pNode,sColumnName,sTableRange);
         if(sColumnName.getLength())
         {
             Reference<XNameAccess> xNameAccess = _xTable->getColumns();
@@ -531,7 +531,7 @@
     if(aParseNodes.size())
     {
         m_xParamColumns = new OSQLColumns();
-        const OSQLTables& xTabs = m_aSQLIterator.getTables();
+        const OSQLTables& xTabs = m_pSQLIterator->getTables();
         if(xTabs.size())
         {
             OSQLTable xTable = xTabs.begin()->second;

File [changed]: MResultSet.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/MResultSet.cxx?r1=1.25&r2=1.25.26.1
Delta lines:  +23 -24
---------------------
--- MResultSet.cxx      31 Mar 2006 11:54:33 -0000      1.25
+++ MResultSet.cxx      10 May 2006 10:52:23 -0000      1.25.26.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: MResultSet.cxx,v $
  *
- *  $Revision: 1.25 $
+ *  $Revision: 1.25.26.1 $
  *
- *  last change: $Author: vg $ $Date: 2006/03/31 11:54:33 $
+ *  last change: $Author: fs $ $Date: 2006/05/10 10:52:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -136,7 +136,7 @@
 }
 
 // -------------------------------------------------------------------------
-OResultSet::OResultSet(OStatement_Base* pStmt, 
connectivity::OSQLParseTreeIterator&   _aSQLIterator )
+OResultSet::OResultSet(OStatement_Base* pStmt, const ::boost::shared_ptr< 
connectivity::OSQLParseTreeIterator >& _pSQLIterator )
        : OResultSet_BASE(m_aMutex)
        ,OPropertySetHelper(OResultSet_BASE::rBHelper)
        ,m_xStatement(*pStmt)
@@ -147,8 +147,8 @@
        ,m_aQuery(pStmt->getOwnConnection()->getColumnAlias().getAliasMap())
        ,m_pKeySet(NULL)
        ,m_pStatement(pStmt)
-       ,m_pParseTree(_aSQLIterator.getParseTree())
-       ,m_aSQLIterator(_aSQLIterator)
+       ,m_pParseTree( _pSQLIterator->getParseTree() )
+       ,m_pSQLIterator( _pSQLIterator )
     ,m_nFetchSize(0)
     ,m_nResultSetType(ResultSetType::SCROLL_INSENSITIVE)
     ,m_nResultSetConcurrency(ResultSetConcurrency::UPDATABLE)
@@ -314,7 +314,7 @@
 
        if(!m_xMetaData.is())
                m_xMetaData = new OResultSetMetaData( 
-               m_aSQLIterator.getSelectColumns(), 
m_aSQLIterator.getTables().begin()->first ,m_pTable,determineReadOnly());
+               m_pSQLIterator->getSelectColumns(), 
m_pSQLIterator->getTables().begin()->first ,m_pTable,determineReadOnly());
        return m_xMetaData;
 }
 // -------------------------------------------------------------------------
@@ -801,8 +801,7 @@
 }
 
 void OResultSet::analyseWhereClause( const OSQLParseNode*                 
parseTree,
-                                     MQueryExpression                     
&queryExpression,
-                                     connectivity::OSQLParseTreeIterator& 
aSQLIterator)
+                                     MQueryExpression                     
&queryExpression)
 {
     ::rtl::OUString         columnName;
     MQueryOp::cond_type     op;
@@ -811,8 +810,8 @@
     if ( parseTree == NULL )
         return;
 
-    if ( aSQLIterator.getParseTree() != NULL ) {
-        ::vos::ORef<OSQLColumns> xColumns = aSQLIterator.getParameters();
+    if ( m_pSQLIterator->getParseTree() != NULL ) {
+        ::vos::ORef<OSQLColumns> xColumns = m_pSQLIterator->getParameters();
         if(xColumns.isValid())
         {
             ::rtl::OUString aTabName,aColName,aParameterName,aParameterValue;
@@ -844,7 +843,7 @@
         OSL_TRACE("analyseSQL : Got WHERE clause\n");
         // Reset Parameter Counter
         resetParameters();
-        analyseWhereClause( parseTree->getChild( 1 ), queryExpression, 
aSQLIterator);
+        analyseWhereClause( parseTree->getChild( 1 ), queryExpression );
     }
     else if ( parseTree->count() == 3 &&                         // Handle ()'s
         SQL_ISPUNCTUATION(parseTree->getChild(0),"(") &&
@@ -853,7 +852,7 @@
 
         OSL_TRACE("analyseSQL : Got Punctuation ()\n");
         MQueryExpression *subExpression = new MQueryExpression();
-        analyseWhereClause( parseTree->getChild( 1 ), *subExpression, 
aSQLIterator );
+        analyseWhereClause( parseTree->getChild( 1 ), *subExpression );
         queryExpression.getExpressions().push_back( subExpression );
     }
     else if ((SQL_ISRULE(parseTree,search_condition) || 
(SQL_ISRULE(parseTree,boolean_term)))
@@ -863,8 +862,8 @@
         OSL_TRACE("analyseSQL : Got AND/OR clause\n");
 
         // TODO - Need to take care or AND, for now match is always OR
-        analyseWhereClause( parseTree->getChild( 0 ), queryExpression, 
aSQLIterator );
-        analyseWhereClause( parseTree->getChild( 2 ), queryExpression, 
aSQLIterator );
+        analyseWhereClause( parseTree->getChild( 0 ), queryExpression );
+        analyseWhereClause( parseTree->getChild( 2 ), queryExpression );
 
         if (SQL_ISTOKEN(parseTree->getChild(1),OR)) {         // OR-Operator
             queryExpression.setExpressionCondition( MQueryExpression::OR );
@@ -901,7 +900,7 @@
 
         ::rtl::OUString sTableRange;
         if(SQL_ISRULE(parseTree->getChild(0),column_ref))
-            
aSQLIterator.getColumnRange(parseTree->getChild(0),columnName,sTableRange);
+            
m_pSQLIterator->getColumnRange(parseTree->getChild(0),columnName,sTableRange);
         else if(parseTree->getChild(0)->isToken())
             columnName = parseTree->getChild(0)->getTokenValue();
 
@@ -958,7 +957,7 @@
 
         ::rtl::OUString sTableRange;
         if(SQL_ISRULE(pColumn,column_ref))
-            aSQLIterator.getColumnRange(pColumn,columnName,sTableRange);
+            m_pSQLIterator->getColumnRange(pColumn,columnName,sTableRange);
 
         OSL_TRACE("ColumnName = %s\n", OUtoCStr( columnName ) );
 
@@ -1079,7 +1078,7 @@
                 op = MQueryOp::Exists;
 
         ::rtl::OUString sTableRange;
-        
aSQLIterator.getColumnRange(parseTree->getChild(0),columnName,sTableRange);
+        
m_pSQLIterator->getColumnRange(parseTree->getChild(0),columnName,sTableRange);
 
         queryExpression.getExpressions().push_back( new 
MQueryExpressionString( columnName, op ));
     }
@@ -1102,7 +1101,7 @@
     MQueryExpression queryExpression;
 
     OConnection* xConnection = 
static_cast<OConnection*>(m_pStatement->getConnection().get());
-    m_xColumns = m_aSQLIterator.getSelectColumns();
+    m_xColumns = m_pSQLIterator->getSelectColumns();
 
     OSL_ENSURE(m_xColumns.isValid(), "Need the Columns!!");
 
@@ -1122,7 +1121,7 @@
 
 
     // Generate Match Conditions for Query
-    const OSQLParseNode*  pParseTree = m_aSQLIterator.getWhereTree();
+    const OSQLParseNode*  pParseTree = m_pSQLIterator->getWhereTree();
 
     // const OSQLParseNode*  pParseTree = NULL;
 
@@ -1133,7 +1132,7 @@
 
         OSL_TRACE("\tHave a Where Clause\n");
 
-        analyseWhereClause( pParseTree, queryExpression, m_aSQLIterator);
+        analyseWhereClause( pParseTree, queryExpression );
     }
     else
     {
@@ -1235,11 +1234,11 @@
     OSL_ENSURE( m_pTable, "Need a Table object");
     if(!m_pTable)
     {
-        const OSQLTables& xTabs = m_aSQLIterator.getTables();
+        const OSQLTables& xTabs = m_pSQLIterator->getTables();
         if ((xTabs.begin() == xTabs.end()) || !xTabs.begin()->second.is())
             ::dbtools::throwGenericSQLException(   ::rtl::OUString( 
RTL_CONSTASCII_USTRINGPARAM("The statement is invalid.")),
                                         static_cast<XWeak*>(this),
-                                        makeAny(m_aSQLIterator.getWarning())
+                                        makeAny( m_pSQLIterator->getErrors() )
                                     );
 
         m_pTable = static_cast< OTable* > ((xTabs.begin()->second).get());
@@ -1258,7 +1257,7 @@
     // initializeRow(m_aEvaluateRow,nColumnCount);
 
     sal_uInt32 nLoopCount = 0;
-    switch(m_aSQLIterator.getStatementType())
+    switch( m_pSQLIterator->getStatementType() )
     {
         case SQL_STATEMENT_SELECT:
         {

File [changed]: MResultSet.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/MResultSet.hxx?r1=1.11&r2=1.11.26.1
Delta lines:  +7 -7
-------------------
--- MResultSet.hxx      31 Mar 2006 11:54:44 -0000      1.11
+++ MResultSet.hxx      10 May 2006 10:52:23 -0000      1.11.26.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: MResultSet.hxx,v $
  *
- *  $Revision: 1.11 $
+ *  $Revision: 1.11.26.1 $
  *
- *  last change: $Author: vg $ $Date: 2006/03/31 11:54:44 $
+ *  last change: $Author: fs $ $Date: 2006/05/10 10:52:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -137,7 +137,8 @@
 
 
 
-            connectivity::OSQLParseTreeIterator&        m_aSQLIterator;
+            ::boost::shared_ptr< ::connectivity::OSQLParseTreeIterator >
+                                                        m_pSQLIterator;
             const connectivity::OSQLParseNode*          m_pParseTree;
 
                        // OPropertyArrayUsageHelper
@@ -166,7 +167,7 @@
                public:
                        DECLARE_SERVICE_INFO();
                        
-            OResultSet(OStatement_Base* pStmt, 
connectivity::OSQLParseTreeIterator&   _aSQLIterator );
+            OResultSet(OStatement_Base* pStmt, const ::boost::shared_ptr< 
::connectivity::OSQLParseTreeIterator >& _pSQLIterator );
                        
 
                        ::com::sun::star::uno::Reference< 
::com::sun::star::uno::XInterface > operator *()
@@ -302,8 +303,7 @@
             void fillRowData() throw( ::com::sun::star::sdbc::SQLException );
             void initializeRow(OValueRow& _rRow,sal_Int32 _nColumnCount);
             void analyseWhereClause( const OSQLParseNode*                 
parseTree, 
-                                     MQueryExpression                    
&queryExpression,
-                                     connectivity::OSQLParseTreeIterator& 
aSQLIterator);
+                                     MQueryExpression                    
&queryExpression);
 
             sal_Bool isCount() const;
 

File [changed]: MStatement.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/MStatement.cxx?r1=1.11&r2=1.11.30.1
Delta lines:  +19 -18
---------------------
--- MStatement.cxx      29 Mar 2006 12:18:14 -0000      1.11
+++ MStatement.cxx      10 May 2006 10:52:23 -0000      1.11.30.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: MStatement.cxx,v $
  *
- *  $Revision: 1.11 $
+ *  $Revision: 1.11.30.1 $
  *
- *  last change: $Author: obo $ $Date: 2006/03/29 12:18:14 $
+ *  last change: $Author: fs $ $Date: 2006/05/10 10:52:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -123,9 +123,9 @@
        m_pConnection(_pConnection),
     m_pTable(NULL),
     m_pParseTree(NULL),
-    m_aSQLIterator(_pConnection->createCatalog()->getTables(), 
_pConnection->getMetaData(), NULL),
-    m_xDBMetaData(_pConnection->getMetaData()),
-    m_aParser(_pConnection->getDriver()->getMSFactory())
+    m_aParser(_pConnection->getDriver()->getMSFactory()),
+    m_pSQLIterator( new OSQLParseTreeIterator( _pConnection, 
_pConnection->createCatalog()->getTables(), NULL, &m_aParser ) ),
+    m_xDBMetaData(_pConnection->getMetaData())
 {
        m_pConnection->acquire();
     OSL_TRACE("In/Out: OStatement_Base::OStatement_Base" );
@@ -154,7 +154,7 @@
                m_pConnection->release();
        m_pConnection = NULL;
 
-    m_aSQLIterator.dispose();
+    m_pSQLIterator->dispose();
 
     dispose_ChildImpl();
     OStatement_Base::disposing();
@@ -227,12 +227,12 @@
     if(m_pParseTree)
     {
         ::vos::ORef<connectivity::OSQLColumns> xCreateColumn;
-        if (m_aSQLIterator.getStatementType() == SQL_STATEMENT_CREATE_TABLE)
+        if (m_pSQLIterator->getStatementType() == SQL_STATEMENT_CREATE_TABLE)
         {
-            const OSQLTables& xTabs = m_aSQLIterator.getTables();
+            const OSQLTables& xTabs = m_pSQLIterator->getTables();
             OSL_ENSURE( !xTabs.empty(), "Need a Table");
                        ::rtl::OUString ouTableName=xTabs.begin()->first;
-            xCreateColumn     = m_aSQLIterator.getCreateColumns();
+            xCreateColumn     = m_pSQLIterator->getCreateColumns();
             OSL_ENSURE(xCreateColumn.isValid(), "Need the Columns!!");
 
             const OColumnAlias & xColumnAlias = 
m_pConnection->getColumnAlias();
@@ -257,7 +257,8 @@
                        {
                 getOwnConnection()->throwGenericSQLException( 
_aDbHelper.getErrorResourceId() );
             }
-            m_aSQLIterator = 
connectivity::OSQLParseTreeIterator(m_pConnection->createCatalog()->getTables(),
 m_pConnection->getMetaData(), NULL);
+            m_pSQLIterator.reset( new ::connectivity::OSQLParseTreeIterator(
+                m_pConnection, m_pConnection->createCatalog()->getTables(), 
NULL, &m_aParser ) );
         }
 
     }
@@ -283,9 +284,9 @@
 
     if(m_pParseTree)
     {
-        m_aSQLIterator.setParseTree(m_pParseTree);
-        m_aSQLIterator.traverseAll();
-        const OSQLTables& xTabs = m_aSQLIterator.getTables();
+        m_pSQLIterator->setParseTree(m_pParseTree);
+        m_pSQLIterator->traverseAll();
+        const OSQLTables& xTabs = m_pSQLIterator->getTables();
         if(xTabs.empty())
             ::dbtools::throwGenericSQLException(::rtl::OUString( 
RTL_CONSTASCII_USTRINGPARAM("Driver requires a single table to be specified in 
query")),NULL);
 #if OSL_DEBUG_LEVEL > 0
@@ -296,7 +297,7 @@
 #endif
 
         Reference<XIndexAccess> xNames;
-        switch(m_aSQLIterator.getStatementType())
+        switch(m_pSQLIterator->getStatementType())
         {
         case SQL_STATEMENT_SELECT:
 
@@ -338,7 +339,7 @@
 
 OResultSet* OStatement_Base::createResultSet()
 {
-    return new OResultSet(this,m_aSQLIterator);
+    return new OResultSet( this, m_pSQLIterator );
 }
 // -------------------------------------------------------------------------
 
@@ -536,7 +537,7 @@
     sal_Int32 i;
 
     // initialize the column index map (mapping select columns to table 
columns)
-       ::vos::ORef<connectivity::OSQLColumns>  xColumns = 
m_aSQLIterator.getSelectColumns();
+       ::vos::ORef<connectivity::OSQLColumns>  xColumns = 
m_pSQLIterator->getSelectColumns();
        m_aColMapping.resize(xColumns->size() + 1);
        for (i=0; i<(sal_Int32)m_aColMapping.size(); ++i)
                m_aColMapping[i] = i;
@@ -557,7 +558,7 @@
 
 void OStatement_Base::analyseSQL()
 {
-       const OSQLParseNode* pOrderbyClause = m_aSQLIterator.getOrderTree();
+       const OSQLParseNode* pOrderbyClause = m_pSQLIterator->getOrderTree();
        if(pOrderbyClause)
        {
                OSQLParseNode * pOrderingSpecCommalist = 
pOrderbyClause->getChild(2);

File [changed]: MStatement.hxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/drivers/mozab/MStatement.hxx?r1=1.5&r2=1.5.104.1
Delta lines:  +7 -4
-------------------
--- MStatement.hxx      8 Sep 2005 06:21:06 -0000       1.5
+++ MStatement.hxx      10 May 2006 10:52:23 -0000      1.5.104.1
@@ -4,9 +4,9 @@
  *
  *  $RCSfile: MStatement.hxx,v $
  *
- *  $Revision: 1.5 $
+ *  $Revision: 1.5.104.1 $
  *
- *  last change: $Author: rt $ $Date: 2005/09/08 06:21:06 $
+ *  last change: $Author: fs $ $Date: 2006/05/10 10:52:23 $
  *
  *  The Contents of this file are made available subject to
  *  the terms of GNU Lesser General Public License Version 2.1.
@@ -84,6 +84,8 @@
 #include "MConnection.hxx"
 #include "MTable.hxx"
 
+#include <boost/shared_ptr.hpp>
+
 namespace connectivity
 {
        namespace mozab
@@ -120,7 +122,8 @@
             OValueRow                                   m_aRow;
 
             connectivity::OSQLParser                    m_aParser;
-            connectivity::OSQLParseTreeIterator         m_aSQLIterator;
+            ::boost::shared_ptr< ::connectivity::OSQLParseTreeIterator >
+                                                        m_pSQLIterator;
 
             connectivity::OSQLParseNode*                m_pParseTree;
 




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

Reply via email to