/************************************************************************* * * 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 * * for a copy of the LGPLv3 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