The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl module DB::Object

v0.11.1 2023-03-24T13:08:15+0900
    - Updated DB::Object::Query::_group_order() to accept an array object as an argument.
    - Added method columns() in DB::Object::Tables
    - Improved method select() in DB::Object::Query
    - Corrected method _group_order() in DB::Object::Query to use the right column prefix
    - Added the class DB::Object::IN in DB::Object and method DB::Object::IN() to implement the SQL operator "IN"
    - Added the class DB::Object::Expression inside DB::Object
    - Corrected a warning due to undefined value in DB::Object::Fields
    - Corrected method _where_having() in DB::Object::Query that did not handle properly embedded operators AND/OR

v0.11.0 2022-12-22T21:35:05+0900
    - Minor correction to method format_update() in DB::Object::Query
    - Implemented handling of use of unknown fields (via the $tbl->fo->some_field mechanism)
    - Created new Module DB::Object::Fields::Unknown
    - Updated methods _group_order(), _where_having() in DB::Object::Query
    - Updated _process_limit in DB::Object::Query to take under account user-specified placeholders
    - Also updated DB::Object::Mysql::Query, DB::Object::Postgres::Query and DB::Object::SQLite::Query

v0.10.5 2022-11-11T19:07:06+0900
    - Minor correction in DB::Object::Mysql

v0.10.4 2022-11-01T20:48:31+0900
    - Improved error handling in the execute() method in DB::Object::Statement
    - Corrected DB::Object::Postgres::Tables to use PG_VARCHAR when table field is a CHAR otherwise data would be truncated <https://github.com/bucardo/dbdpg/issues/103>
    - Made minor improvements to other modules

v0.10.3 2022-06-29T15:18:09+0900
    - Updated DB::Object, DB::Object::Postgres and DB::Object::SQLite to handle cases where there is no local time zone set up.
    - Improved all modules to run under stricter mode.
    - Improved $TYPE_TO_CONSTANT hash table in DB::Object::Postgres::Tables

v0.10.2 2021-08-30T02:57:37+0900
    - Added missing parameter cache_connection among acceptable connection parameters
    - Added DB::Object::Placeholder class to better handle placeholders embedded in expressions
    - Updated DB::Object::Fields::Field and DB::Object::Query->_where_having to use placeholder objects
    - Improved DB::Object::Fields::Field so that it accepts values as-is when they are passed as scalar reference
    - Added methods dollar_placeholder and server_prepare in DB::Object::Postgres::Query to influence the prepare statement for the ongoing statement
    - Added method name in DB::Object::Postgres::Statement to set/get a name for the statement.
    - Modified _cache_this() to enable passing prepare options enabled in DB::Object::Query
    - Minor improvement in DB::Object::connect

v0.10.1 2021-08-29T16:13:07+0900
    - Correcting minor bug in DB::Object::Postgres::Statement->disable_trigger

v0.10.0 2021-08-29T12:03:12+0900
    - Added method get_sql_type() to get driver specific constant called in DB::Object::Query and sub classes
    - Added support for sub-query in tables/view fields operations in DB::Object::Fields::Field
    - Added support for disabling and enabling triggers in DB::Object::Postgres::Table
    - Added support for temporarily disabling and enabling triggers on an existing query in DB::Object::Postgres::Statement
    - Added method promise in DB::Object::Statement to perform asynchronous query and returning a promise (Promise::Me) object
    - Added method types_const() in DB::Object::Tables, which is a column name to hash of data type constant and name properties created by DB::Object::Tables->structure. This is then shared with the DB::Object::Fields::Field object and enables better placeholder management
    - Added method constant in DB::Object::Fields::Field which returns an hash object with the following properties: constant (integer), name (string), and type (string)

v0.9.15 2021-08-20T02:40:51+0900
    - Moved on_conflict from DB::Object to DB::Object::Tables, and DB::Object::Postgres to DB::Object::Postgres::Table and DB::Object::SQLite to DB::Object::SQLite::Tables where it belongs
    - Moved alias as_string avoid insert limit local order replace reset returning reverse select sort tie unix_timestamp update where to DB::Object::Query
    - Updated the pod documentation with links for all of the above
    - Corrected a small bug in DB::Object::Postgres::Tables->on_conflict whereby an error was assumed when the turn value from DB::Object::Postgres::Query->on_conflict was false, but the latter returned a legitimate empty string that was mis-construed as an error
    - In DB::Object->table, which is used to instantiate DB::Object::Tables object, since it uses a cache to increase speed, here if a cached table object, it is cloned before it is returned to avoid undesirable effect like some table alias previously set and disturbing potential new queries.
    - Added some typical typo-catching warnings in where clause in DB::Object::Query->_where_having when a field object (DB::Object::Fields::Field) is provided without assignment.
    - Added coding typo catching in DB::Object::Tables::AUTOLOAD for when the user called a table field on a table object instead of using the table fields object method 'fields_object'
    - Corrected bug where chained method like select->join lead to loss of properties which disrupted the join condition

v0.9.14 2021-08-17T06:39:36+0900
    - Added use warnings to all modules
    - Updated DB::Object::Statement::execute to make sure stringifyable objects are stringified before they are passed as binded values to DBI's bind_param
    - Update DB::Object::Postgres::Query and DB::Object::SQLite::Query to warn when ON CONFLICT clause was used for queries other than INSERT

v0.9.13 2021-08-12T19:44:26+0900
    - Updated DB::Object::Postgres::Query::format_statement to properly handle placeholders set during insert or update and updated DB::Object::Statement to recognise the use of those placeholders without necessarily reverting to enabling use_bind
    - Major overhaul of the documentation for all modules

v0.9.12 2021-03-20T22:18:01+0900
    - Added usage of Module::Generic::Datetime when converting timestamp to object
    - Added overloading for DB::Object::Fields::Field
    - Changed method execute() in DB::Object::Statement to return an object when it is called in chaining, ie caller wants an object
    - Use inherited Module::Generic::_get_args_as_hash tog et option parameters in DB::Object::Postgres::Query
    - Implemented table alias
    - Corrected a bug in DB::Object::Query::getdefault()

v0.9.11 2020-10-12T09:54:30+0900
    - Added the method last_insert_id in DB::Object::Postgres::Statement

v0.9.10 2020-06-13T14:20:11+0900
    - updated _check_default_option to recognise both utf8 and utf-8

v0.9.9 2020-06-09T15:05:16+0900
    - Improved test unit for SQLite

v0.9.8 2020-06-08T23:11:49+0900
    - Corrected a bug in DB::Object::Query::_where_having which prevented query like where( field1 => 'something', field2 => 'something else' ) from working.

v0.9.7 2020-05-28T15:06:43+0900
    - Corrected test unit check when compiled with increased floating point accuracy. Should fix bug RT #132719

v0.9.6 2020-05-28T13:57:41+0900

v0.9.5 2020-05-21T08:24:40+0900
    - Change from TryCatch to Nice::Try because TryCatch got broken with release of Devel::Declare version 0.006020

v0.9.4 2020-05-16T18:48:16+0900
    - Modified DB::Object::where to enable chaining, which was missing $tbl->where( active => 1 )->merge( $dbh->AND( $other_where_clause ) );
    - Corrected a minor warning in DB::Object::Cache::Table

v0.9.3 2020-05-16T11:41:43+0900

v0.9.2 2020-04-14 Corrected documentation on DB::Object

v0.9.1 2020-04-13T16:06:50+0900

v0.8.0 2020-03-31T23:58:29+0900
    - Improved _where_having in DB::Object::Query

v0.7.0 2020-03-31T20:49:03+0900

v0.6.0 2020-03-31T16:21:16+0900
    - Correction of bug in t/002_postgres.t

v0.5.0 2020-03-28T19:58:09+0900
    - Improved version with bug fixes for DB::Object::Mysql
    - Bug fixed for DB::Object::Mysql and DB::Object::Mysql::Query and improved support for regular expression in DB::Object::Query when creating a WHERE or HAVING clause

v0.4.14 2020-03-28T15:13:19+0900

v0.4.13 2020-03-27T00:26:54+0900

v0.4.12 2020-01-08T13:25:53+0900

v0.4.11 2019-12-31T19:55:08+0900

v0.4.10 2019-11-29T12:11:55+0900

v0.4.9 2019-10-14T12:02:59+0900

v0.4.8 2019-10-11T16:22:13+0900

v0.4.7 2019-10-05T13:29:46+0900

v0.2.0 2019-08-26T02:30:22+0900
    - original version; created by ExtUtils::ModuleMaker 0.63