blob: ae150d74881199735918e1339de18f72ca868228 [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
#define __com_sun_star_sdb_SingleSelectQueryAnalyzer_idl__
#ifndef __com_sun_star_sdb_XSingleSelectQueryAnalyzer_idl__
#include <com/sun/star/sdb/XSingleSelectQueryAnalyzer.idl>
#endif
module com { module sun { module star { module sdbcx {
interface XTablesSupplier;
interface XColumnsSupplier;
};};};};
module com { module sun { module star { module sdb {
interface XParametersSupplier;
/** represents a service for analyzing a single select statement.
<p>
It hides the complexity of parsing and evaluating a single select statement and provides
sophisticated methods for accessing a statements filter, group by, having and order
criteria, as well as the corresponding select columns and tables.
If supported, it even gives access to the parameters.
</p>
@see com::sun::star::sdb::SingleSelectQueryComposer
*/
service SingleSelectQueryAnalyzer
{
interface XSingleSelectQueryAnalyzer;
/** access to the selected tables.
<p>The selected tables are those present in the <code>FROM</code> part
of a <code>SELECT</code> statement.</p>
<p>Note that OpenOffice.org since version 2.0.4 also supports queries which are
based on other queries. For example, given that you have a database containing
a query named <code>All Orders</code>, the SQL statement <code>SELECT * FROM "All Orders"</code>
is perfectly valid when used with a <type>SingleSelectQueryAnalyzer</type>.</p>
<p>In this case, the name container returned by <member scope="com::sun::star::sdbcx">XTablesSupplier::getTables</member>
will in fact not return a <type>Table</type>, but a <type>Query</type> object. Semantically, however,
this object still acts as a table in the SQL statement.</p>
@see XSingleSelectQueryAnalyzer::getQueryWithSubstitution
*/
interface com::sun::star::sdbcx::XTablesSupplier;
/** access the selected columns.
*/
interface com::sun::star::sdbcx::XColumnsSupplier;
/** access to the parameters which are used in the where clause.
*/
[optional] interface com::sun::star::sdb::XParametersSupplier;
};
//=============================================================================
}; }; }; };
/*===========================================================================
===========================================================================*/
#endif