summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2003-09-04 07:29:01 +0000
committerOliver Bolte <obo@openoffice.org>2003-09-04 07:29:01 +0000
commit3fd65f43fae08511928729aec8f5c1fbe33b6e00 (patch)
tree4bfef8f15fff8393b1c673bf3419d0ee058b24d6 /connectivity
parent361de588e36a9f3c9ad0a944d2ded86faec70083 (diff)
INTEGRATION: CWS oj4 (1.8.86); FILE MERGED
2003/06/27 13:39:34 oj 1.8.86.1: #i14648# implement string functions for file based drivers
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/inc/file/fcomp.hxx29
1 files changed, 20 insertions, 9 deletions
diff --git a/connectivity/source/inc/file/fcomp.hxx b/connectivity/source/inc/file/fcomp.hxx
index a8cef56293f1..3f30ff3f7bc7 100644
--- a/connectivity/source/inc/file/fcomp.hxx
+++ b/connectivity/source/inc/file/fcomp.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: fcomp.hxx,v $
*
- * $Revision: 1.8 $
+ * $Revision: 1.9 $
*
- * last change: $Author: oj $ $Date: 2002-07-05 08:07:52 $
+ * last change: $Author: obo $ $Date: 2003-09-04 08:29:01 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -77,7 +77,7 @@ namespace connectivity
class OOperand;
typedef::std::vector<OCode*> OCodeList;
- class OPredicateCompiler
+ class OPredicateCompiler : public ::vos::OReference
{
friend class OPredicateInterpreter;
friend class OSQLAnalyzer;
@@ -117,23 +117,34 @@ namespace connectivity
OOperand* execute_LIKE(connectivity::OSQLParseNode* pPredicateNode) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
OOperand* execute_ISNULL(connectivity::OSQLParseNode* pPredicateNode) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
OOperand* execute_Operand(connectivity::OSQLParseNode* pPredicateNode) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ OOperand* execute_Fold(OSQLParseNode* pPredicateNode) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ OOperand* executeFunction(OSQLParseNode* pPredicateNode) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
};
- class OPredicateInterpreter
+ class OPredicateInterpreter : public ::vos::OReference
{
OCodeStack m_aStack;
- OPredicateCompiler& m_rCompiler;
+ ::vos::ORef<OPredicateCompiler> m_rCompiler;
public:
- OPredicateInterpreter(OPredicateCompiler& rComp) : m_rCompiler(rComp){}
+ OPredicateInterpreter(const ::vos::ORef<OPredicateCompiler>& rComp) : m_rCompiler(rComp){}
virtual ~OPredicateInterpreter();
- sal_Bool start()
+ sal_Bool evaluate(OCodeList& rCodeList);
+ void evaluateSelection(OCodeList& rCodeList,ORowSetValueDecoratorRef& _rVal);
+
+ inline sal_Bool start()
+ {
+ return evaluate(m_rCompiler->m_aCodeList);
+ }
+
+ inline void startSelection(ORowSetValueDecoratorRef& _rVal)
{
- return evaluate(m_rCompiler.m_aCodeList);
+ return evaluateSelection(m_rCompiler->m_aCodeList,_rVal);
}
- sal_Bool evaluate(OCodeList& rCodeList);
+
+
};
}
}