diff options
-rw-r--r-- | connectivity/inc/connectivity/sqlparse.hxx | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/connectivity/inc/connectivity/sqlparse.hxx b/connectivity/inc/connectivity/sqlparse.hxx index 0960502bc651..a58af584aa5d 100644 --- a/connectivity/inc/connectivity/sqlparse.hxx +++ b/connectivity/inc/connectivity/sqlparse.hxx @@ -4,9 +4,9 @@ * * $RCSfile: sqlparse.hxx,v $ * - * $Revision: 1.18 $ + * $Revision: 1.19 $ * - * last change: $Author: rt $ $Date: 2005-09-08 05:02:35 $ + * last change: $Author: obo $ $Date: 2006-07-10 14:16:59 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -65,6 +65,8 @@ #include "connectivity/IParseContext.hxx" #endif +#include <map> + // forward declarations namespace com { @@ -135,11 +137,13 @@ namespace connectivity { friend class OSQLParseNode; friend class OSQLInternalNode; - friend struct OSQLParseNode::SQLParseNodeParameter; + friend struct SQLParseNodeParameter; private: + typedef ::std::map< sal_uInt32, OSQLParseNode::Rule > RuleIDMap; // static parts for parsers static sal_uInt32 s_nRuleIDs[OSQLParseNode::rule_count + 1]; + static RuleIDMap s_aReverseRuleIDLookup; static OParseContext s_aDefaultContext; // parts controled by mutex @@ -206,6 +210,8 @@ namespace connectivity // extrem ineffizient (sequentielle Suche nach ::rtl::OUString)! static sal_uInt32 StrToRuleID(const ::rtl::OString & rValue); + static OSQLParseNode::Rule RuleIDToRule( sal_uInt32 _nRule ); + // RuleId mit enum, wesentlich effizienter static sal_uInt32 RuleID(OSQLParseNode::Rule eRule); // compares the _sFunctionName with all known function names and return the DataType of the return value |