Revision history for Perl module DB::Object
v1.4.6 2024-11-24T16:31:24+0900
- Improved where clause to handle JSON->> fields
v1.4.5 2024-11-23T09:45:34+0900
- Clear error after statement execution
v1.4.4 2024-11-22T16:36:08+0900
- Updated the private method _convert_datetime2object in DB::Object::Postgres to set the right default format
v1.4.3 2024-09-06T17:33:04+0900
- Correcting unit test
v1.4.2 2024-09-05T14:30:34+0900
- Updated dependencies
v1.4.1 2024-09-04T22:27:26+0900
- Removed some dependencies
v1.4.0 2024-04-13T17:55:40+0900
- Modified method connect() in DB::Object to use a timeout of 5 seconds, otherwise on some system, the connect attempt would hang for a long time.
v1.3.1 2024-04-11T22:27:49+0900
- Modified method 'structure' in DB::Object::Mysql::Table to ensure all fields returned are in lowercase.
v1.3.0 2024-04-09T16:53:24+0900
- Added pg_notifies in DB::Object::Postgres
v1.2.3 2024-04-06T15:21:07+0900
- Correction of the DBD::SQLite constant bug unresolved previously.
v1.2.2 2024-04-05T15:33:06+0900
- Corrected a bug when version of DBD::SQLite < 1.71 is used and thus does not have the constant DBD::SQLite::Constants::SQLITE_TEXT
v1.2.1 2024-03-22T13:52:05+0900
- Correction of unit test to better handle non-existing DBD modules
v1.2.0 2024-03-22T12:12:11+0900
- Improvement to DB::Object::Query, DB::Object::Postgres::Query and DB::Object::Query::Element
v1.1.3 2024-03-16T23:26:48+0900
- Minor improvement in DB::Object->do
- Improvement in DB::Object::Statement->exec that now recognises value provided being DateTime objects and transform them into an ISO8601 string if necessary if there is no formatter set in the object already.
- Improved documentation a bit for DB::Object::MySQL, DB::Object::Postgres and DB::Object::SQLite
v1.1.2 2024-01-05T16:36:00+0900
- Minor correction in DB::Object::Query
v1.1.1 2024-01-05T10:36:08+0900
- Correcting minor issue with the use of constants in unit tests (Gitlab #2)
- Correcting an oversight (bug) in DB::Object::Postgres::Query in method on_conflict()
- Correcting number formatting (Gitlab #1)
v1.1.0 2024-01-03T20:15:26+0900
- Updated DB::Object::Fields::Field method _op_overload() to create an oversight
- Improved DB::Object::Query method format_update() to recognise DB::Object::Placeholder
v1.0.0 2023-12-13T12:53:38+0900
- Corrected the use of _is_hash for a stricter and narrower meaning.
- Corrected error in _where_having in DB::Object::Query
- Corrected method structure() in DB::Object::Postgres::Tables to take under account arrays.
- Updated method 'distinct' in DB::Object::Postgres to allow for multiple arguments.
- Improved the method structure() in DB::Object:Tables, DB::Object:Postgres::Tables, DB::Object:SQLite::Tables and DB::Object:Mysql::Tables
- Updated DB::Object::Fields and DB::Object::Field, extending the later
- Implemented a table object caching mechanism, which is disabled by default
v0.11.9 2023-10-11T20:14:44+0900
- Corrected malformed signature for distribution release
v0.11.8 2023-10-11T16:55:40+0900
- Corrected malformed signature for distribution release
v0.11.7 2023-07-04T09:16:13+0900
- Corrected a minor bug in method execute() in DB::Object::Statement
- Corrected a bug in DB::Object::Query::Clause in building expressions with AND and OR
v0.11.6 2023-06-21T16:46:21+0900
- More correction to SQLite test unit
v0.11.5 2023-06-20T08:07:40+0900
- Minor correction to SQLite test unit
v0.11.4 2023-06-12T14:42:28+0900
- Added missing overloaded operator in DB::Object::Fields::Field
- Added ~~ overloaded operator in DB::Object::Fields::Field
- Updated method _where_having() in DB::Object::Query to allow for litteral condition to be provided as scalar reference
- Added documentation for DB::Object::ALL, DB::Object::ANY and DB::Object::Expression
v0.11.3 2023-05-02T19:08:40+0900
- Added ANY and ALL array operator
v0.11.2 2023-03-24T19:19:29+0900
- Minor correction in method _opt_overload() in class DB::Object::IN
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