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]
