summaryrefslogtreecommitdiff
path: root/svx/source/form/sqlparserclient.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/form/sqlparserclient.cxx')
-rw-r--r--svx/source/form/sqlparserclient.cxx21
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