summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl')
-rw-r--r--offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl254
1 files changed, 0 insertions, 254 deletions
diff --git a/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl b/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
deleted file mode 100644
index b00af59a7..000000000
--- a/offapi/com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl
+++ /dev/null
@@ -1,254 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
-#define __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
-
-#include <com/sun/star/beans/XPropertySet.idl>
-#include <com/sun/star/beans/PropertyValue.idl>
-#include <com/sun/star/sdbc/SQLException.idl>
-
-module com { module sun { module star { module container {
-published interface XIndexAccess;
-};};};};
-//=============================================================================
-
- module com { module sun { module star { module sdb {
-
-//=============================================================================
-
-/** simplifies the analyzing of single select statements.
-
- <p>
- The interface can be used for analyzing single SELECT statements without knowing the
- structure of the used query.
- </p>
- */
-published interface XSingleSelectQueryAnalyzer : com::sun::star::uno::XInterface
-{
-
- /** returns the query.
- @returns
- the query
- */
- string getQuery();
- //-------------------------------------------------------------------------
-
- /** sets a new query for the composer, which may be expanded by filters, group by, having
- and sort criteria.
- @param command
- the single select statement to set
- @throws com::sun::star::sdbc::SQLException
- if a database access error occurs
- or the statement isn't a single select statement
- or the statement isn't valid
- or the statement can not be parsed.
- */
- void setQuery([in] string command )
- raises (com::sun::star::sdbc::SQLException);
- //-------------------------------------------------------------------------
- // FILTER
- //-------------------------------------------------------------------------
-
- /** returns the used filter.
- <p>
- The filter criteria returned is part of the where condition of the
- select command, but it does not contain the where token.
- </p>
- @returns
- the filter
- */
- string getFilter();
- //-------------------------------------------------------------------------
-
- /** returns the currently used filter.
- <p>
- The filter criteria is split into levels. Each level represents the
- OR criteria. Within each level, the filters are provided as an AND criteria
- with the name of the column and the filter condition. The filter condition
- is of type string. The operator used, is defined by <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
- </p>
- @returns
- the structured filter
- */
- sequence< sequence<com::sun::star::beans::PropertyValue> >
- getStructuredFilter();
-
- //-------------------------------------------------------------------------
- // GROUP BY
- //-------------------------------------------------------------------------
-
- /** returns the currently used GROUP BY.
- <p>
- The group criteria returned is part of the GROUP BY clause of the
- select command, but it does not contain the GROUP BY keyword .
- </p>
- @returns
- the group
- */
- string getGroup();
-
- //-------------------------------------------------------------------------
- /** returns the currently used group.
- <p>
- The columns returned form the GROUP BY clause.
- </p>
- @returns
- a collection of <type scope="com::sun::star::sdb">GroupColumn</type> which form the GROUP BY.
- */
- com::sun::star::container::XIndexAccess getGroupColumns();
-
- //-------------------------------------------------------------------------
- // HAVING
- //-------------------------------------------------------------------------
-
- /** returns the used HAVING filter.
- <p>
- The HAVING filter criteria returned is part of the HAVING condition of the
- select command, but it does not contain the HAVING token.
- </p>
- @returns
- the filter
- */
- string getHavingClause();
- //-------------------------------------------------------------------------
-
- /** returns the currently used HAVING filter.
- <p>
- The HAVING filter criteria is split into levels. Each level represents the
- OR criteria. Within each level, the filters are provided as an AND criteria
- with the name of the column and the filter condition. The filter condition
- is of type string. The operator used, is defined by <type scope="com::sun::star::sdb">SQLFilterOperator</type>.
- </p>
- @returns
- the structured HAVING filter
- */
- sequence< sequence<com::sun::star::beans::PropertyValue> >
- getStructuredHavingClause();
-
- //-------------------------------------------------------------------------
- // ORDER BY
- //-------------------------------------------------------------------------
- /** returns the currently used sort order.
- <p>
- The order criteria returned is part of the ORDER BY clause of the
- select command, but it does not contain the ORDER BY keyword .
- </p>
- @returns
- the order
- */
- string getOrder();
-
- //-------------------------------------------------------------------------
- /** returns the currently used sort order.
- <p>
- The order criteria returned is part of the ORDER BY clause of the
- select command, but it does not contain the ORDER BY keyword .
- </p>
- @returns
- a collection of <type scope="com::sun::star::sdb">OrderColumn</type> which form the ORDER BY.
- */
- com::sun::star::container::XIndexAccess getOrderColumns();
-
- //-------------------------------------------------------------------------
- /** returns the query previously set at the analyzer, with all application-level
- features being substituted by their database-level counterparts.
-
- <p>The <type>XSingleSelectQueryAnalyzer</type> is an application-level component,
- which in some respect understands SQL features usually not present at the database
- level. As a prominent example, you might pass a <code>SELECT</code> statement to the analyzer
- which is based on another query.</p>
-
- <p>While all other methods will handle those additional features transparently - e.g.
- the query in the <code>FROM</code> part of a <code>SELECT</code> statement will be handled
- as if it really is a table -, <code>getQueryWithSubstitution</code> gives you the SQL statement
- where all those features have been stripped, and replaced with appropriate standard SQL.</p>
-
- <p>For example, consider a database document which contains a client-side query named <code>All Orders</code>.
- This query is not known to the underlying database, so an SQL statement like
- <code>SELECT * from "All Orders"</code> would be rejected by the database. However, instantiating
- a <type>SingleSelectQueryAnalyzer</type> at the <type>Connection</type> object, and passing it the above query,
- you can then use <code>getQueryWithSubstitution</code> to retrieve a statement where <code>"All Orders"</code>
- has been replaced with the <code>SELECT</code> statement which actually constitutes the <code>"All Orders"</code>
- query.</p>
-
- @throws com::sun::star::sdbc::SQLException
- if the query represented cannot be completely substituted. A usual case for this is a recursion in
- the sub queries: Consider a query named <code>foo</code>, which is defined as <code>SELECT * FROM "bar"</code>.
- Now assume that <code>bar</code> is a query defined as <code>SELECT * FROM "foo"</code>. Passing either
- of those statements to an analyzer, and calling <member>getQueryWithSubstitution</member>, would result
- in an exception being thrown, since it's impossible to substitute the sub queries with their
- constituting statements.
-
- @see Connection
- @see XQueriesSupplier
- @see DatabaseDocument
-
- @since OOo 2.0.4
- */
- string getQueryWithSubstitution()
- raises (com::sun::star::sdbc::SQLException);
-
- /** sets a new query for the composer, which may be expanded by filters, group by, having
- and sort criteria.
- @param Command
- is the command which should be executed, the type of command depends
- on the CommandType.
-
- <p>In case of a <member>CommandType</member> of <member>CommandType::COMMAND</member>,
- means in case the <member>Command</member> specifies an SQL statement, the inherited
- <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
- becomes relevant:<br/>
- It then can be to used to specify whether the SQL statement should be analyzed on the
- client side before sending it to the database server.<br/>
- The default value for <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
- is <TRUE/>. By switching it to <FALSE/>, you can pass backend-specific SQL statements,
- which are not standard SQL, to your database.</p>
-
- @see com::sun::star::sdb::CommandType
- @see com::sun::star::sdbc::RowSet::EscapeProcessing
- @param CommandType
- is the type of the command.
- @see com::sun::star::sdb::CommandType
- @throws com::sun::star::sdbc::SQLException
- if a database access error occurs
- or the statement isn't a single select statement
- or the statement isn't valid
- or the statement can not be parsed.
- */
- void setCommand([in] string Command ,[in] long CommandType)
- raises (com::sun::star::sdbc::SQLException);
-};
-
-//=============================================================================
-
-}; }; }; };
-
-/*=============================================================================
-
-=============================================================================*/
-#endif
-