From 0e3e9c7cd352ad0c0d8c85289dfacc6929e0c9ee Mon Sep 17 00:00:00 2001 From: "Ocke Janssen [oj]" Date: Mon, 8 Feb 2010 14:05:16 +0100 Subject: dba33f: #i108730# impl case case and rank functions --- connectivity/inc/connectivity/dbtools.hxx | 9 +++++++++ connectivity/inc/connectivity/sqliterator.hxx | 8 ++++++++ connectivity/inc/connectivity/sqlnode.hxx | 2 ++ 3 files changed, 19 insertions(+) (limited to 'connectivity/inc/connectivity') diff --git a/connectivity/inc/connectivity/dbtools.hxx b/connectivity/inc/connectivity/dbtools.hxx index 6db5bced9b..5a148a648a 100644 --- a/connectivity/inc/connectivity/dbtools.hxx +++ b/connectivity/inc/connectivity/dbtools.hxx @@ -229,6 +229,15 @@ namespace dbtools const ::rtl::OUString& _rName ); + /** returns the primary key columns of the table + */ + OOO_DLLPUBLIC_DBTOOLS ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess> getPrimaryKeyColumns_throw( + const ::com::sun::star::uno::Any& i_aTable + ); + OOO_DLLPUBLIC_DBTOOLS ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess> getPrimaryKeyColumns_throw( + const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& i_xTable + ); + /** get fields for a result set given by a "command descriptor"

A command descriptor here means: diff --git a/connectivity/inc/connectivity/sqliterator.hxx b/connectivity/inc/connectivity/sqliterator.hxx index ea11a64c7e..aaa67b6e75 100644 --- a/connectivity/inc/connectivity/sqliterator.hxx +++ b/connectivity/inc/connectivity/sqliterator.hxx @@ -43,6 +43,7 @@ #include #include +#include namespace connectivity { @@ -50,6 +51,8 @@ namespace connectivity class OSQLParseNode; class OSQLParser; + typedef ::std::pair TNodePair; + enum OSQLStatementType { SQL_STATEMENT_UNKNOWN, SQL_STATEMENT_SELECT, @@ -282,6 +285,10 @@ namespace connectivity // tries to find the correct type of the function sal_Int32 getFunctionReturnType(const OSQLParseNode* _pNode ); + + // returns a lis of all joined columns + ::std::vector< TNodePair >& getJoinConditions() const; + private: /** traverses the list of table names, and filles _rTables */ @@ -354,6 +361,7 @@ namespace connectivity { m_aErrors = ::com::sun::star::sdbc::SQLException(); } + void impl_fillJoinConditions(const OSQLParseNode* i_pJoinCondition); }; } diff --git a/connectivity/inc/connectivity/sqlnode.hxx b/connectivity/inc/connectivity/sqlnode.hxx index 12b85468e4..5805f0ca60 100644 --- a/connectivity/inc/connectivity/sqlnode.hxx +++ b/connectivity/inc/connectivity/sqlnode.hxx @@ -232,6 +232,8 @@ namespace connectivity comparison_predicate_part_2, parenthesized_boolean_value_expression, character_string_type, + other_like_predicate_part_2, + between_predicate_part_2, rule_count, // letzter_wert UNKNOWN_RULE // ID indicating that a node is no rule with a matching Rule-enum value (see getKnownRuleID) }; -- cgit v1.2.3