diff options
Diffstat (limited to 'svx/source/form/sqlparserclient.cxx')
-rw-r--r-- | svx/source/form/sqlparserclient.cxx | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/svx/source/form/sqlparserclient.cxx b/svx/source/form/sqlparserclient.cxx index f9c40e850f49..bb8d7d458199 100644 --- a/svx/source/form/sqlparserclient.cxx +++ b/svx/source/form/sqlparserclient.cxx @@ -20,28 +20,33 @@ #include "sqlparserclient.hxx" #include "svx/ParseContext.hxx" +#include <connectivity/dbtools.hxx> +#include <connectivity/sqlparse.hxx> + +using namespace ::dbtools; +using namespace ::connectivity; namespace svxform { - - using namespace ::com::sun::star::uno; using namespace ::com::sun::star::lang; OSQLParserClient::OSQLParserClient(const Reference< XComponentContext >& rxContext) + : m_pParser(new OSQLParser(rxContext, getParseContext())) { m_xContext = rxContext; } - bool OSQLParserClient::ensureLoaded() const + std::shared_ptr< ::connectivity::OSQLParseNode > OSQLParserClient::predicateTree( + OUString& _rErrorMessage, + const OUString& _rStatement, + const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& _rxFormatter, + const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxField + ) const { - if ( !ODbtoolsClient::ensureLoaded() ) - return false; - m_xParser = getFactory()->createSQLParser(m_xContext,getParseContext()); - return m_xParser.is(); + return std::shared_ptr< OSQLParseNode >(m_pParser->predicateTree(_rErrorMessage, _rStatement, _rxFormatter, _rxField)); } - } // namespace svxform |