LibreOffice
LibreOffice 24.2 SDK API Reference
Public Member Functions | Public Attributes | List of all members
XSingleSelectQueryComposer Interface Reference

simplifies the composing of single select statements. More...

import"XSingleSelectQueryComposer.idl";

Inheritance diagram for XSingleSelectQueryComposer:
XSingleSelectQueryAnalyzer XInterface SingleSelectQueryComposer

Public Member Functions

void setFilter ([in] string filter) raises (com::sun::star::sdbc::SQLException)
 makes it possible to set a filter condition for the query. More...
 
void setStructuredFilter ([in] sequence< sequence< com::sun::star::beans::PropertyValue > > filter) raises (com::sun::star::sdbc::SQLException,com::sun::star::lang::IllegalArgumentException)
 appends a new set of filter criteria which is split into levels. More...
 
void appendFilterByColumn ([in] com::sun::star::beans::XPropertySet column, [in] boolean andCriteria, [in] long filterOperator) raises (com::sun::star::sdbc::SQLException, com::sun::star::lang::WrappedTargetException)
 appends a new filter condition by a com::sun::star::sdb::DataColumn providing the name and the value for the filter. More...
 
void setGroup ([in] string group) raises (com::sun::star::sdbc::SQLException)
 makes it possible to set a group for the query. More...
 
void appendGroupByColumn ([in] com::sun::star::beans::XPropertySet column) raises (com::sun::star::sdbc::SQLException)
 appends an additional part to the group criteria of the select statement. More...
 
void setHavingClause ([in] string filter) raises (com::sun::star::sdbc::SQLException)
 makes it possible to set a HAVING filter condition for the query. More...
 
void setStructuredHavingClause ([in] sequence< sequence< com::sun::star::beans::PropertyValue > > filter) raises (com::sun::star::sdbc::SQLException)
 appends a new set of HAVING filter criteria which is split into levels. More...
 
void appendHavingClauseByColumn ([in] com::sun::star::beans::XPropertySet column, [in] boolean andCriteria, [in] long filterOperator) raises (com::sun::star::sdbc::SQLException, com::sun::star::lang::WrappedTargetException)
 appends a new HAVING filter condition by a com::sun::star::sdb::DataColumn providing the name and the value for the filter. More...
 
void setOrder ([in] string order) raises (com::sun::star::sdbc::SQLException)
 makes it possible to set a sort condition for the query. More...
 
void appendOrderByColumn ([in] com::sun::star::beans::XPropertySet column, [in] boolean ascending) raises (com::sun::star::sdbc::SQLException)
 appends an additional part to the sort order criteria of the select statement. More...
 
- Public Member Functions inherited from XSingleSelectQueryAnalyzer
string getQuery ()
 returns the query. More...
 
void setQuery ([in] string command) 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. More...
 
string getFilter ()
 returns the used filter. More...
 
sequence< sequence< com::sun::star::beans::PropertyValue > > getStructuredFilter ()
 returns the currently used filter. More...
 
string getGroup ()
 returns the currently used GROUP BY. More...
 
com::sun::star::container::XIndexAccess getGroupColumns ()
 returns the currently used group. More...
 
string getHavingClause ()
 returns the used HAVING filter. More...
 
sequence< sequence< com::sun::star::beans::PropertyValue > > getStructuredHavingClause ()
 returns the currently used HAVING filter. More...
 
string getOrder ()
 returns the currently used sort order. More...
 
com::sun::star::container::XIndexAccess getOrderColumns ()
 returns the currently used sort order. More...
 
string getQueryWithSubstitution () raises (com::sun::star::sdbc::SQLException)
 returns the query previously set at the analyzer, with all application-level features being substituted by their database-level counterparts. More...
 
void setCommand ([in] string Command, [in] long CommandType) 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. More...
 
- Public Member Functions inherited from XInterface
any queryInterface ([in] type aType)
 queries for a new interface to an existing UNO object. More...
 
void acquire ()
 increases the reference counter by one. More...
 
void release ()
 decreases the reference counter by one. More...
 

Public Attributes

string ElementaryQuery { set raises(com::sun::star::sdbc::SQLException); }
 sets a new elementary query for the composer More...
 

Detailed Description

simplifies the composing of single select statements.

The interface can be used for composing single SELECT statements without knowing the structure of the used query.

See also
com::sun::star::sdb::SingleSelectQueryComposer

Member Function Documentation

◆ appendFilterByColumn()

void appendFilterByColumn ( [in] com::sun::star::beans::XPropertySet  column,
[in] boolean  andCriteria,
[in] long  filterOperator 
)
raises (com::sun::star::sdbc::SQLException,
com::sun::star::lang::WrappedTargetException
)

appends a new filter condition by a com::sun::star::sdb::DataColumn providing the name and the value for the filter.

The value property must be supported by the com::sun::star::sdb::DataColumn.

Parameters
columnthe column which is used to create a filter
andCriteriaIf TRUE the filter condition will be appended as an AND condition, otherwise the new filter condition will be appended as OR criteria. E.g. (xx AND bb AND cc) OR newCriteria
filterOperatorThe operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs.

◆ appendGroupByColumn()

void appendGroupByColumn ( [in] com::sun::star::beans::XPropertySet  column)
raises (com::sun::star::sdbc::SQLException
)

appends an additional part to the group criteria of the select statement.

The column must be a com::sun::star::sdbcx::Column.

Parameters
columnthe column which is used to create a group part
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs.

◆ appendHavingClauseByColumn()

void appendHavingClauseByColumn ( [in] com::sun::star::beans::XPropertySet  column,
[in] boolean  andCriteria,
[in] long  filterOperator 
)
raises (com::sun::star::sdbc::SQLException,
com::sun::star::lang::WrappedTargetException
)

appends a new HAVING filter condition by a com::sun::star::sdb::DataColumn providing the name and the value for the filter.

Parameters
columnthe column which is used to create a filter
andCriteriaIf TRUE the filter condition will be appended as an AND condition, otherwise the new filter condition will be appended as OR criteria. E.g. (xx AND bb AND cc) OR newCriteria
filterOperatorThe operator used, is defined by com::sun::star::sdb::SQLFilterOperator.
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs.

◆ appendOrderByColumn()

void appendOrderByColumn ( [in] com::sun::star::beans::XPropertySet  column,
[in] boolean  ascending 
)
raises (com::sun::star::sdbc::SQLException
)

appends an additional part to the sort order criteria of the select statement.

The column must be a com::sun::star::sdbcx::Column.

Parameters
columnthe column which is used to create an order part
ascendingTRUE when the order should be ascending, otherwise if FALSE descending.
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs.

◆ setFilter()

void setFilter ( [in] string  filter)
raises (com::sun::star::sdbc::SQLException
)

makes it possible to set a filter condition for the query.

Parameters
filterthe filter to set
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs or the statement isn't valid or the statement isn't parsable.

◆ setGroup()

void setGroup ( [in] string  group)
raises (com::sun::star::sdbc::SQLException
)

makes it possible to set a group for the query.

Parameters
groupthe group part to set
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs or the statement isn't valid or the statement isn't parsable.

◆ setHavingClause()

void setHavingClause ( [in] string  filter)
raises (com::sun::star::sdbc::SQLException
)

makes it possible to set a HAVING filter condition for the query.

Parameters
filterthe filter to set
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs or the statement isn't valid or the statement isn't parsable.

◆ setOrder()

void setOrder ( [in] string  order)
raises (com::sun::star::sdbc::SQLException
)

makes it possible to set a sort condition for the query.

Parameters
orderthe order part to set
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs or the order isn't valid or the statement isn't parsable.

◆ setStructuredFilter()

void setStructuredFilter ( [in] sequence< sequence< com::sun::star::beans::PropertyValue > >  filter)
raises (com::sun::star::sdbc::SQLException,
com::sun::star::lang::IllegalArgumentException
)

appends a new set of filter criteria which is split into levels.

Parameters
filterThe 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 com::sun::star::sdb::SQLFilterOperator.
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs.

◆ setStructuredHavingClause()

void setStructuredHavingClause ( [in] sequence< sequence< com::sun::star::beans::PropertyValue > >  filter)
raises (com::sun::star::sdbc::SQLException
)

appends a new set of HAVING filter criteria which is split into levels.

Parameters
filterThe 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 com::sun::star::sdb::SQLFilterOperator.
Exceptions
com::sun::star::sdbc::SQLExceptionif a database access error occurs.

Member Data Documentation

◆ ElementaryQuery

string ElementaryQuery
set raises(com::sun::star::sdbc::SQLException
)
attribute

sets a new elementary query for the composer

An elementary query or statement is a (single select) statement whose parts are not covered by the various set and get methods of the composer. That is, if the elementary statement contains a filter clause, a call to XSingleSelectQueryAnalyzer::getFilter() will not return you this filter. Instead, only filters which have been set using for instance setFilter() are covered by the get methods.

The only methods which take all parts of the elementary statement into account are XSingleSelectQueryAnalyzer::getQuery() and XSingleSelectQueryAnalyzer::getQueryWithSubstitution(), which always returns the complete composed query.

As a result, you can use the composer to build cumulative filter expressions. That is, you can set ElementaryQuery to a statement already containing filters, and then use setFilter() to append additional filters.

The very same holds for sort orders, HAVING and GROUP BY clauses.

There are various use cases for this. For instance, you might want to use the statement represented by a QueryDefinition, and extend it with additional filters or sort orders, while not touching the respective parts already present in QueryDefinition::Command. This can be achieved by setting the QueryDefinition::Command as ElementaryQuery of a SingleSelectQueryComposer.

If, in such a scenario, you would be interested in the filter part of the QueryDefinition::Command, you would set it via XSingleSelectQueryAnalyzer::setQuery(), and retrieve the filter part via XSingleSelectQueryAnalyzer::getFilter().

If you'd be interested in the composed filter, you would set the QueryDefinition::Command as ElementaryQuery, add your filter, and propagate the resulting query (XSingleSelectQueryAnalyzer::getQuery()) to an SingleSelectQueryAnalyzer instance via XSingleSelectQueryAnalyzer::setQuery().


The documentation for this interface was generated from the following file: