Changes for version 1.17
- New features
- Now the {op} parameter is an array reference, containing pairs of operator/column, so that now it is possible to perform [ ['COUNT', 'id'], ['SUM', 'salary'], ['AVG', 'expenses'] ] in one query.
- Deprecations
- usage of {col_op} and {add_op} (and {op} as a scalar) are now DEPRECATED.
- Bugs fixed
- operator names may cause a syntax error when they become column headers. Fixed.
- Changed functionality
- changed operator names (when they become column headers) to "x"operator (xcount, xsum, xavg, etc.) to avoid a name conflict with some DBMS engines. Thanks to Cyril Dréno for reporting this bug.
- changed crosstab column names from "fldXXX" to "xfldXXX" to avoid possible clashes with some other SQL generators.
- the main example (sqlcrosstab_example.pl) now creates multi-operation tables to test and demonstrate the above change.
- Examples and Documentation
- Changed example create_crosstab.sqlite to create_crosstab.sql92
- (it should work on any ANSI-SQL92 compliant DBMS)
- Changed example table names to "xtab_*", so that users allowed to a single database can easily add these tables without affecting existing ones.
- Added drop_crosstab.sql to remove the example tables easily. (Thanks to Mark Stosberg for all these ideas on the SQL examples)
- New documentation available: an article at OnLamp http://www.onlamp.com/pub/a/onlamp/2003/12/04/crosstabs.html and one at PerlMonks http://www.perlmonks.org/index.pl?node_id=313934
Modules
creates a server-side cross tabulation from a database
Formats results created by DBIx::SQLCrosstab