Active Query Builder VCL and ActiveX Editions 1.18 released.
We're glad to announce the new minor version of Active Query Builder. You can download the newest version from the download page.
What's new in the Active Query Builder version 1.18?
Ability to show query by parts and to modify sub-query text apart from the main query:
The new property TacBaseSqlBuilder.TargetQueryPart is added. It allows you to generate the SQL query text not for the whole query, but for active part of the query only. Possible values are the following:
acqpQuery (default): generate SQL text for the whole query;
acqpSubQuery: generate text for the currently active sub-query tab;
acqpUnionSubQuery: generate text for the currently active union sub-query.
TacBaseSqlBuilder.SQL propery become writable to apply changes in the currently active query part to the query builder.
The new TacQueryBuilder.FilterSubQueryTabsByActive property is added. It allows to hide the tabs that do not belong to the currently active query part. Possible values are the same as for the TacBaseSqlBuilder.TargetQueryPart.
User interface and behavior changes:
The check box is added to the Grouping column header. It allows to quckly toggle the grouping for the query on and off.
Ordering for the query column is removed now when grouping become unchecked; grouping is checked when ordering added.
Grouping is turned on for the query column when user indicates it's conditions to be appled for groups (i.e. to the HAVING clause).
Conditions aren't turned to HAVING automatically for grouped query columns.
Support of ORDER BY in queries with unions is improved.
Parsing and working with large queries is speeded up.
API improvements:
The new TacQueryBuilder.OnQueryProcedureParameters event is added to override the embedded dialog prompting for the stored procedure parameters.
The SelectItem property is added to the QueryStatistics.OutputColumn's items.
The new TacLink.LinkExpressionString property is added to define complex joining expressions programmatically.
The new TacQueryBuilder.RefreshDatasourcesMetadata function is made. It is needed to allow metadata refreshing without reloading of the current SQL text.
The new methods are added to ease the query analysis and modifcation: TacQueryBuilder.GetSubQueriesList and GetUnionSubQueriesList, TacUnionGroup.GetUnionSubQueriesList.
The new method is added to TacUnionSubQuery: ConvertDatasourceToDerivedTable(ADatasource): TacDatasourceQuery
TacUnionSubQuery: The new Clear method and SQL property (read-write) are added. Now you can modify the sub-query text separately.
The new TacDatasource.NameInQuery read-only property is added. It allows to get datasource name as it should be referenced in the query.
SQL syntax fixes and improvements:
MS SQL Server: Support of variables as query datasources is made. (select * from @variable)
MySQL: Parsing of nested functions is speeded up.
PostgreSQL: list of builtin functions is added.
IBM DB2: The new TacDB2SyntaxProvider.NamingConvention property is added. It allows to change the delimiter that split parts in fully qualified object names. Available values: db2ncSql (dot), db2ncSystem (slash).
MS SQL Server: Table and query hints are supported; join hints are parsed fine now, but not preserved due to architecture limitations.
Advantage metadata provider is fixed. It's now can be used to work with DBF files.
We have been using Active Query Builder for over a year and must say that both the product and support have been outstanding!
We chose Active Query Builder due to its flexibility and features, but have been truly pleased by its power and hidden capabilities. ...
In summary Active Query Builder provides excellent components, great support and a very flexible feature set. It has allowed us to provide features to our end users that I did not think would be possible in the first release of our new tools and in a timeframe that was much shorter than planned. I would recommend that anyone dealing with databases in the .Net world should be aware of this component and its capabilities!