/************************************************************** * * 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 #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.

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.

@see com::sun::star::sdb::SingleSelectQueryComposer */ service SingleSelectQueryAnalyzer { interface XSingleSelectQueryAnalyzer; /** access to the selected tables.

The selected tables are those present in the FROM part of a SELECT statement.

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 All Orders, the SQL statement SELECT * FROM "All Orders" is perfectly valid when used with a SingleSelectQueryAnalyzer.

In this case, the name container returned by XTablesSupplier::getTables will in fact not return a Table, but a Query object. Semantically, however, this object still acts as a table in the SQL statement.

@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