DBIx::SQLEngine::ToDo - Tasks, ideas, and bugs
There are a number of things that could be done to improve this module.
Centralize logging interface by making 'DBI', 'SQL' arguments to general function.
The test script is fairly minimal and really ought to exercise much more of the public interface. Specific things to add to the test include:
- Test for inserting, updating and selecting nulls, including "is null" test.
- Test with SQLite and temp file.
- Test new transaction code.
Finish moving all license, change, and todo blocks to their appropriate locations.
The column-information retrieve in DBIx::SQLEngine::Default should be using DBI's type_info methods.
Proposed: Extend the base interface with the following interfaces:
fetch_select_with_limit
do_insert_with_sequence
# ( $row_arrays, $column_hashes ) = $self->fetch_rows( %clauses );
// Also visit_rows, fetch_named_query_rows... [?]
Proposed "Named Query" interface:
# $sqldb->define_named_query( name , string_or_sub ) // or return current
# %clauses = $sqldb->prepare_named_query( name, args ) // with conversion, recursion
# ( $row_hashes, $column_hashes ) = $sqldb->fetch_named_query( name, args )
# @results = $sqldb->visit_named_query( code, name, args )
# $result = $sqldb->do_named_query( name, args )
The Criteria subclasses are woefully incomplete.
Additional subclass logic will be required to support the following:
All: type of long field
Oracle: single, trailing long.
MySQL, Oracle: downcase column names.
DB2: Long insertion via multiple updates.
Informix: escape newlines on insert/update/where and select
DBIx::SQLEngine::ReadMe
To install DBIx::SQLEngine, copy and paste the appropriate command in to your terminal.
cpanm
cpanm DBIx::SQLEngine
CPAN shell
perl -MCPAN -e shell install DBIx::SQLEngine
For more information on module installation, please visit the detailed CPAN module installation guide.