0.45 2021-12-16
- fix DBD::mysql statement handle Unknown SQL Error when SQL statement have more spaces.
0.44 2020-08-03
- add column_name_lc option to create_table method. This option change column names to lower case.
0.43 2020-04-01
- fix insert, update, select columns key order
- reimplement reuse option. In this implementation, only statement handle is cached in same sql.
- remove EXPERIMENTAL execute method prepare_attr option because reuse option can't cache this attributes.
- remove EXPERIMENTAL exceute method query option because implementation is too buggy.
- remove EXPERIMENTAL create_result method because this is needed for exceute method query option.
0.42 2019-10-15
- add where option new syntax support for join clause
# (3) Array reference[where clause, parameters, join(optional)]
where => [
['and', ':author{=}', ':title{like}'],
{author => 'Ken', title => '%Perl%'},
["left outer join table2 on table1.key1 = table2.key1"]
]
- Search table names in select method's append option
- use Carp::confess instead of Carp::croak to know the exception place.
0.41 2017-11-07
- fix connect method bug that password can't be specified.
0.40 2017-03-30
- improve performance of DBIx::Custom::Query::bind method
0.39 2017-03-28
---------------------------------------------------
NOTE: This release add some DEPRECATED warnings.
Maybe after these DEPRECATED period, DBIx::Custom will be more stable.
---------------------------------------------------
- DBIx::Custom::helper method is DEPRECATED!
- DBIx::Custom AUTOLOAD feature is DEPRECATED!
- DBIx::Custom::update_or_insert method is DEPRECATED!
- DBIx::Custom::count method is DEPRECATED!
- DBIx::Custom::insert, select,update,delete method's id option is DEPRECATED!
- DBIx::Custom::insert, select,update,delete method's primary_key option is DEPRECATED!
- DBIx::Custom::Model AUTOLOAD feature is DEPRECATED!
- DBIx::Custom::Model::helper method is DEPRECATED!
- DBIx::Custom::Model::update_or_insert method is DEPRECATED!
- DBIx::Custom::Model::count method is DEPRECATED!
- DBIx::Custom::Model::primary_key attribute is DEPRECATED!
- DBIx::Custom::setup method is DEPRECATED!
this method has no meaning because
columns is automatically set when create_model or include_model is called.
------------------------
Performance down
------------------------
- DBIx::Custom::insert method which have array argument(For example, [{foo => 1, bar => 2}, {foo => 3, bar => 4}])
become slow. (Performance down 1)
- DBIx::Custom::execute method's reuse option become no more meaning. (Performance down 2)
You can resolve above two problem by using query option
------------------------
remove EXPERIMENTAL
------------------------
- remove EXPERIMENTAL DBIx::Custom::execute method's async option
- remove EXPERIMENTAL DBIx::Custom::async_conf attribute
From this release, DBIx::Custom support only syncronous query,
but from this release, you can create sql and bind values by excute method's query option
you can pass sql and bind values to any asyncronous support database module,
(for example, AnyEvent::DBI or Mojo::Pg)
- remove EXPERIMENTAL DBIx::Custom::default_schema attribute
-----------------------
New features
-----------------------
- add EXPERIMENTAL DBIx::Custom::execute query option again. This method return DBIx::Custom::Query object.
If you use this option, you can resolve "Performance down 1" and "Performance down 2".
- add EXPERIMENTAL DBIx::Custom::create_result method to create result class from statement handle
- DBIx::Connector become enable by default
- Model columns is automatically set when DBIx::Custome::create_model and DBIx::Custome::include_model called
- DBIx::Custom::connect method support DBI compatible arguments
DBIx::Custom->connect($dsn, $user, $password, $dbh_attrs);
- DBIx::Custom::create_model can receive model name only
$dbi->create_model('book');
- Model name is indepenet from table name.
You can write the following
$dbi->create_model(name => 'book1', table => 'book');
0.38 2017-03-18
---------------------------------------------------
NOTE: This release remove many DEPRECATED features.
---------------------------------------------------
- remove DEPRECATED default_filter method(DBIx::Custom::Result).
- remove DEPRECATED default_fetch_filter(DBIx::Custom).
- remove DEPRECATED default_bind_filter(DBIx::Custom).
- remove DEPRECATED DBIx::Custom::Query.
- remove DEPRECATED DBIx::Custom::QueryBuilder.
- remove DEPRECATED execute(DBIx::Custom) method's query option
- remove DEPRECATED execute method receiving query object
- remove DEPRECATED cache_method(DBIx::Custom).
- remove DEPRECATED query_builder(DBIx::Custom).
- remove DEPRECATED tag_parse(DBIx::Custom)
- remove DBIX_CUSTOM_TAG_PARSE environment variable
- remove DEPRECATED register_tag_processor(DBIx::Custom)
- remove DEPRECATED register_tag(DBIx::Custom)
- remove DEPRECATED tag parsing functionality
- remove DEPRECATED prepend method(DBIx::Custom::Order) array reference receiving
- remove DEPRECATED remote_end_filter(DIBx::Custom::Result)
- remote DEPRECATED remove_filter(DIBx::Custom::Result)
- remove DEPRECATED filter_on(DBIx::Custom::Result)
- remove DEPRECATED filter_off(DBIx::Custom::Result)
- remove DEPRECATED end_filter(DBIx::Custom::Result)
- remove DEPRECATED filter_check(DBIx::Custom::Result)
- remove DEPRECATED column(DBIx::Custom::Result)
- remove DEPRECATED fetch_first(DBIx::Custom::Result)
- remove DEPRECATED fetch_hash_first(DBIx::Custom::Result)
- remove DEPRECATED execute(DBIx::Custom::Model)
- remove DEPRECATED method(DBIx::Custom::Model)
- remove DEPRECATED filter(DBIx::Custom::Model)
- remove DEPRECATED name(DBIx::Custom::Model)
- remove DEPRECATED type(DBIx::Custom::Model)
- remove DEPRECATED DBIX_CUSTOM_DISABLE_MODEL_EXECUTE environment variable
- remove DEPRECATED default_dbi_option(DBIx::Custom)
- remove DEPRECATED dbi_option(DBIx::Custom)
- remove DEPRECATED data_source(DBIx::Custom)
- remove DEPRECATED dbi_options(DBIx::Custom)
- remove DEPRECATED filter_check(DBIx::Custom)
- remove DEPRECATED reserved_word_quote(DBIx::Custom)
- remove DEPRECATED select_at(DBIx::Custom)
- remove DEPRECATED delete_at(DBIx::Custom)
- remove DEPRECATED update_at(DBIx::Custom)
- remove DEPRECATED insert_at(DBIx::Custom)
- remove DEPRECATED insert_param_tag(DBIx::Custom)
- remove DEPRECATED update_param_tag(DBIx::Custom)
- remove DEPRECATED assign_param(DBIx::Custom)
- remove DEPRECATED update_param(DBIx::Custom)
- remove DEPRECATED insert_param(DBIx::Custom)
- remove DEPRECATED create_query(DBIx::Custom)
- remove DEPRECATED apply_filter(DBIx::Custom)
- remove DEPRECATED query caching system
- remove DEPRECATED cache(DBIx::Custom)
- remove DEPRECATED execute method(DBIx::Custom)'s sqlfilter option
- remove DEPRECATED update_timestamp
- remove DEPRECATED insert_timestamp
- remove DEPRECATED select method relation option
- remove DEPRECATED update timestamp option
- remove DEPRECATED insert timestamp option
- remove DEPRECATED update(DBIx::Custom) method's updated_at option
- remove DEPRECATED update(DBIx::Custom) method's param option
- remove DEPRECATED insert method param option
- remove DEPRECATED select method column option [COLUMN, as => ALIAS] format
- remove DEPRECATED select method column option [COLUMN => ALIAS] format
- remove DEPRECATED select method where_param option
- remove DEPRECATED delete method where_param option
- remove DEPRECATED update method where_param option
- remove DEPRECATED execute(DBIx::Custom) method's id option
0.37
- catch up Object::Simple 3.16. fix DEPRECATED warnings.
0.36
- Fix the bug that the following feature which is add to 0.35 don't work.
add join attribute to DBIx::Custom::Where
to add join infomartion to select method
0.35
- remove EXPERIMENTAL status the following.
add select method column option syntax
{__MY__ => '*'}
- remove EXPERIMENTAL last_sql attribute
- add join attribute to DBIx::Custom::Where
to add join infomartion to select method
0.34
- (EXPERIMENTAL) fix async select not getting err bug.
0.33
- (EXPERIMENTAL) fix MySQL async insert result.
0.32
- (EXPERIMENTAL) add EXPERIMENTAL last_sth method.
- (EXPERIMENTAL) fix async insert logic.
0.31
- (EXPERIMENTAL) fix async insert not working bug.
- fix Model subdirectory namespcae not working bug.
0.30
- (EXPERIMENTAL) rename mycolumn_symbol attribute to mytable_symbol
0.29
- (EXPERIMENTAL) add select method column option syntax
{__MY__ => '*'}
You can sepcify column names of main table very easy
- (EXPERIMENTAL) add mycolumn_symbol attribute
0.28
- DBIx::Custom::Result::kv method's multi option is DEPRECATED!
added DBIx::Custom::Result::kvs method instead.
0.27
- fixed documentation miss about execute method's table_alias option.
0.26
- fixed bug that when id option's value is object, don't work.
0.25
- added DBIX_CUSTOM_SUPPRESS_DEPRECATION environment varaible
to suppress deprecation warnings
- removed EXPERIMENTAL status from DBIx::Custom::Result::kv method
- removed EXPERIMETNAL status from DBIx::Custom::Result::flat method
- renamed DBIx::Custom::Result::column method to values method
DBIx::Custom::Result::column is deprecated.
0.24
- support schema-qualified table name
- added EXPERIMENTAL default_schema attribute for postgresql not to conflict
same table name.
0.23
- DBIx::Custom::Mapper::map method support
{value => '%<value>%'} syntax
0.22
- added EXPERIMENTAL DBIx::Custom::Result::kv method
- added EXPERIMENTAL DBIx::Custom::Result::flat method
- added where => {name => [val1, val2, val3]} support
this is expaned to "where name in (val1, val2, val3)"
0.2111
- "created_at" option is renamed to "ctime" option.
"created_at" is DEPRECATED!
- "updated_at" option is renamed to "mtime" option.
"updated_at" is DEPRECATED!
0.2110
- Perl 5.008007 is required.
- added EXPERIMETNAL aysnc_conf attribute
0.2109
- select method can be called even if table name is not specified
0.2108
- added async database access support using AnyEvent
and added "async" option to execute method(EXPERIMENTAL)
- EXPERIMETNAL "statement" option is replcaed "select" option
0.2107
- removed EXPERIMENTAL status from the following methods and functinalities.
DBIx::Custom::Result::value method
DBIx::Custom::Result::column method
DBIx::Custom::insert method "bulk_insert" option
DBIx::Custom::insert method "multiplue insert functinality"
DBIx::Custom::select method "first argument is received as column option"
DBIx::Custom::Model::created_at attribute
DBIx::Custom::Model::updated_at attribute
- added EXPERIMENTAL DBIx::Custom::execute method "prepare_attr" option
- added EXPERIMETNAL DBIx::Custom::execute method "statement" option
0.2106
- renamed DBIx::Custom::Result::fetch_hash_first to fethc_hash_one
because first is misleading name. fethc_hash_first is DEPRECATED!
- renamed DBIx::Custom::Result::fetch_first to fetch_one,
because first is misleading name. fetch_first is DEPRECATED!
0.2105
- added EXPERIMENTAL DBIx::Custom::Result::value method
- added EXPERIMENTAL DBIx::Custom::Result::column method
0.2104
- improved bulk_insert performance
0.2103
- added EXPERIMENTAL insert bulk_insert option.
0.2102
- fixed bug that DBIx::Custom::Model count method don't receive model's
attribute
- insert method can receive multipule parameters, this is very fast, this is experimental
0.2101
- fixed small default_bind_filter bug
- micro optimization
- select method can receive odd number argument. In that case first argument
is column option.
- fixed update_or_insert bug that when parameter don't contain any key-value
this method throw exception.
0.2100
- micro optimization
- DBIx::Custom::Query is DEPRECATED!
0.1747
- fixed bug DBIx::Custom::Result fetch_hash_multi throw warnings
which cannnot fetch any more
- fixed bug DBIx::Custom::Result fetch_hash_multi throw warnings
which cannnot fetch any more
0.1746
- micro optimization
0.1745
- DBIx::Custom::Order prepend method receiving array reference
is DEPRECATED!
- DBIx::Custom::QueryBuilder class is DEPRECATED!
- added DBIX_CUSTOM_DISABLE_MODEL_EXECUTE environment variable
- added DBIX_CUSTOM_TAG_PARSE environment variable
- tag_parse attribute is DEPRECATED!
- show_datatype method return lower case string
- show_typename method return lower case string
- DBIx::Custom::Result filter_on method is DEPRECATED!
- DBIx::Custom::Result filter_off method is DEPRECATED!
0.1744
- id option work if id count is lower than primary key count.
- removed EXPERIMETNAL status from update_or_insert method and
DBIx::Custom::Model's update_or_insert method
- removed EXPERIMENTAL status from reuse option
- removed EXPERIMENTAL status from update_at option and created_at option
- removed EXPERIMETNAL status from now attribute
0.1743
- DBIx::Custom::Model execute method is DEPRECATED!
- fixed bug that update_all can't receive parameter as first argument
- fixed bug that delete_all can't receive parameter as first argument
- fixed where clause parsing bug when time(like 00:00:00) contain
0.1742
- fixed update_or_insert method bug
- micro optimization
0.1741
- added EXPERIMENTAL update_or_insert to DBIx::Custom::Model
0.1740
- EXPERIMENTAL update_or_insert need id and primary_key option
and added option option
- insert method created_at and updated_at option can receive scalar reference
- update method updated_at option can receive scalar reference
- select column option [COLUMN => ALIAS] syntax is DEPRECATED!
- added EXPERIMENTAL q method
- execute method id option is DEPRECATED!
0.1739
- insert timestamp option is DEPRECATED!
use created_at option with now attribute
- update timestamp option is DEPRECATED!
use updated_at option wieh now attribute
- insert_timestamp method is DEPRECATED!
use now method
- update_timestamp method is DEPRECATED!
use use now method
- added EXPEREIMTNAL now method
- added EXPERIMENTAL insert created_at option
- added EXPERIMETNAL insert updated_at option
- added EXPERIMETNAL update updated_at option
- added new timestamp system using the above methods and options
0.1738
- micro optimization
- removed example that query pass execute method in documentation
this is many bug reason much more than I have expected
and passing query to execute method is DEPRECATED!
- insert method id value is not copied to parameter
if the key exists in parameter
0.1737
- micro optimization
- fixed DEBUG messsage bug
0.1736
- micro optimization
0.1735
- added EXPERIMENTAL reuse_query option to execute method
0.1734
- moved DBIx::Custom::Guide to wiki
0.1733
- select method join option can receive string.
- removed DEPRECATED status of select param option
- select method where_param option is DEPRECATED!
use where => [STRING, PARAM] syntax instead
- delete method where_param option is DEPRECATED!
use where => [STRING, PARAM] syntax instead
- update method where_param option is DEPRECATED!
use where => [STRING, PARAM] syntax instead
- update method param option is DEPRECATED!
- insert method param option is DEPRECATED!
- removed argument checking logic because in database performance is more
important.
0.1732
- removed EXPERIMETNAL flag from like_value
0.1731
- removed DEPRECATED status from insert method's id option
- renamed EXPERIMENTAL insert_or_update to update_or_insert
0.1730
- added EXPERIMENTAL insert_or_update method
- method method of DBIx::Custom::Model is renamed to helper,
method is DEPRECATED!
- method method is renamed to helper, method is DEPRECATED!
- insert method's id option is DEPRECATED!
- fixed id option bug when column name is anbiguous
0.1729
- dbi_option attribute is renamed to option, dbi_option is DEPRECATED!
- default_dbi_option is renamed to default_option, default_dbi_option
is DEPRECATED!
0.1728
- added {key => ..., value => ...} syntax to DBIx::Custom::Mapper map method
,and argument of string and code reference is DEPRECATED!
- update_param is DEPRECATED, use assing_clause instead.
- assing_param is renamed to assing_clause, assing_param is DEPRECATED!
- insert_param is renamed to values_clause, insert_param is DEPRECATED!
0.1727
- improved join clause parsing
0.1726
- improved join clause parsing
0.1725
- improved join clause parsing
0.1724
- added EXPERIMENTAL like_value method to DBIx::Custom
- sqlfilter option is renamed to after_build_sql, sqlfilter is DEPRECATED!
- removed EXPERIMENTAL flag from DBIx::Custom::Mapper
- removed EXPERIMENTAL flag from the following DBIx::Custom methods
insert_timestamp, mapper, update_timestamp
- removed EXPERIMENTAL flag from the following DBIx::Custom method's option
timestamp,
0.1723
- removed EXPERIMENTAL call_dbi method from DBIx::Custom::Model
- removed EXPERIMENTAL map_param method from DBIx::Custom
- removed EXPERIMENTAL the following methods from DBIx::Custom::Where
if, map
- removed EXPERIMENTAL flag from the following DBIx::Custom::Model methods
count, execute
- removed EXPERIMENTAL flag from the following DBIx::Custom::Result mehotds
filter_on, type_rule, type_rule_off, type_rule_on, type_rule1_off,
type_rule1_on, type_rule2_off, type_rule2_on
- removed EXPERIMENTAL flag from the following DBIx::Custom method's options
sqlfilter, type_rule_off, type_rule1_off, type_rule2_off,
table_alias, wrap
- removed EXPERIMENTAL flag from DBIx::Custom::Order
- removed EXPERIMETNAL flag from the following DBIx::Custom methods
exclude_table, user_column_info,
user_table_info, available_datatype, available_typename,
assign_param, count, get_column_info, get_table_info
order, show_datatype, show_typename methods, show_tables, type_rule,
- added EXPERIMENTAL update_timestamp method to DBIx::Custom
- added EXPERIMENTAL insert_timestamp method to DBIx::Custom
- removed EXPERIMENTAL timestamp attribute from DBIx::Custom
0.1722
- added EXPERIMENTAL timestamp option to DBIx::Custom insert
and update method.
- added EXPERIMENTAL timestamp attribute to DBIx::Custom
- added {KEY => {OPTION_KEY => OPTION_VALUE} syntax
to EXPERIMENTAL DBIx::Custom::Mapper map method
- added {KEY => sub { VALUE }} syntax
to EXPERIMETNAL DBIx::Custom::Mapper map method
- removed EXPERIMENTAL wrap option from select method
- insert_param, update_param, and assign param can
be wrapeed by DB function by C<wrap> option
- added EXPERIMENTAL pass attribute to DBIx::Custom::Mapper
- removed EXPERIMENTAL ignore attribute from DBIx::Custom::Mapper
0.1721
- added EXPERIMENTAL DBIx::Custom::Mapper class
- added EXPERIMENTAL mapper method to DBIx::Custom
0.1720
- removed placeholder count check
- added EXPERIMENTAL execute method's id and primary key option.
- added EXPERIMENTAL DBIx::Custom::Model execute method
0.1719
- DBIx::Custom support Microsoft Access through DBD::ODBC
0.1718
- added EXPERIMENTAL DBIx::Custom::Model call_dbi method
- added EXPERIMENTAL count method
- added EXPERIMENTAL DBIx::Custom::Model count method
0.1717
- added EXPERIMENTAL get_table_info
- added EXPERIMETNAL user_table_info attribute
and each_table find table info in user_table_info if set.
- added EXPERIMENTAL get_column_info
- added EXPERIMENTAL user_column_info attribute
and each_column find column info in user_column_info if set.
- connector is automatically set to DBDx::Connector object
if connector is set to 1 when connect method is called.
0.1716
- fixed bugs when using DBD::Oracle.
- added EXPERIMENTAL show_tables method.
0.1715
- default quote attribute in ODBC driver is changed to "[]"
- fixed some bug in Microsoft SQL Server
- added EXPERIMENTAL execute method sqlfilter option
0.1714
- fixed not backword compatible change in 0.1712 query_buider
0.1713
- fixed memory leak and connection increasing bug when using model.
0.1712
- you can set any string as separator
- fixed memory leak and connection increasing bug, and query_buider method return new object.
- added EXPERIMENTAL exclude_table attribute
- added EXPERIMENTAL show_typename method
- added EXPERIMENTAL show_datatype method
0.1711
- renamed EXPERIMENTAL available_type_name to available_typename
- renamed EXPERIMENTAL available_data_type to available_datatype
- added EXPERIMENTAL DBIx::Custom::Where if method
- added EXPERIMENTAL DBIx::Custom::Where map method
0.1710
- use more DBIx::Custom information in sub modules to decrease bugs
(very sorry, this change can't keep backword compatible,
but maybe no effects,
because the attributes is automatically set by DBIx::Custom, not user).
- Fixed fisrt executed where clause failed in some condition.
0.1709
- fixed named placeholder bug and added escape syntax
0.1708
- improved execute method performance
0.1707
- I call :title named placeholder, stoping calling it parameter
- removed some EXPERIMENTAL status
- fixed performance
0.1706
- Added execute method's query option document
You can get more performance.
- DBIx::Custom::Query table and filters attribute method and
filter method is DEPRECATED!
because I think query object must have only the information
for statement handle caching.
0.1705
- insert and update method's param can set constant value by scalara reference
such as {date => \"NOW()"} This is EXPERIMENTAL.
0.1704
- added quote method's two character support like []
for Microsoft SQL Server and Access
- added EXPERIMENTAL parameter new syntax :name{operator}
0.1703
- added EXPERIMENTAL join new syntax.
0.1702
- removed EXPERIMENTAL status of some methods.
- fixed some join bug
0.1701
- added DBIx::Cusotm::Order prepend method automatically quoted syntax
- simplified arguments check
- added EXPERIMENTAL each_table method
- select method column option [COLUMN, as => ALIAS] format is DEPRECATED!
changed to [COLUMN => ALIAS]
- added EXPERIMENTAL DBIx::Custom::Result header method
- added EXPERIMENTAL last_sql attribute method
0.1700
- fixed end_filter DEPRECATED warnings bug
0.1699
- added tag_parse attribute.
- added EXPERIMENTAL order method
- added EXPERIMENTAL DBIx::Custom::Order module
- changed backword compatible policy
------------------------------------------------------------------------
If a functionality is DEPRECATED, you can know it by DEPRECATED warnings
except for attribute method.
You can check all DEPRECATED functionalities by document.
DEPRECATED functionality is removed after five years,
but if at least one person use the functionality and tell me that thing
I extend one year each time you tell me it.
EXPERIMENTAL functionality will be changed without warnings.
------------------------------------------------------------------------
0.1698
- fixed DBIx::Custom::Where to_string method small bug
- added EXPERIMENTAL execute method table_alias option
0.1697
- added EXPERIMENTAL map_param method
0.1696
- added new argument format update, delete, select method where option
- create_query is DEPRECATED! use query option of each method instead.
- added EXPERIMENTAL insert, update, and select method prefix option
- fixed small insert, update, delete, select method id option bug
0.1695
- changed EXPERIMENTAL DBIx::Custom::Result type_rule_off method argument
- added EXPERIMENTAL DBIx::Custom::Result type_rule_on method
- changed EXPERIMENTAL DBIx::Custom::Result type_rule1_off method argument
- added EXPERIMENTAL DBIx::Custom::Result type_rule1_on method
- changed EXPERIMENTAL DBIx::Custom::Result type_rule2_off method argument
- added EXPERIMENTAL DBIx::Custom::Result type_rule2_on method
- changed EXPERIMENTAL DBIx::Custom::Result filter_off method argument
- added EXPERIMENTAL DBIx::Custom::Result filter_on method
0.1694
- EXPERIMENTAL type_rule argument format is changed
- DBIx::Custom::Result type_rule method on setting return self
- reserved_word_quote is DEPRECATED! this is renamed to quote
- DBIx::Custom::Model type attribute is DEPRECATED!
this is renamed to bind_type.
0.1693
- separate DBIx::Custom type_rule from filter
- DBIx::Custom::Model filter attrribute is DEPRECATED!
- DBIx::Custom::Model name attribute is DEPRECATED!
- removed EXPERIMENTAL DBIx::Custom::Model alias_table
- added DBIx::Custom column method's table option
- separate DBIx::Custom::Result type_rule from filter again
0.1692
- removed EXPERIMENTAL DBIx::Model result_filter
- DBIx::Custom::Result filter override type_rule
- added EXPERIMENTAL DBIx::Custom::Result type_rule
- added EXPERIMENTAL available_type_name method
- EXPERIMENTAL type_rule_off is not passed form execute method
to DBIx::Custom::Result object
0.1691
- DBIx::Custom::Result end_filter, remove_filter, remove_end_filter is DEPRECATED!
- apply_filter is DEPRECATED!
- EXPERIMETAL column method and table_alias think about "-" separator
- EXPERIMTANL column method think about separator
- removed EXPERIMENTAL col method.
- added EXPERIMENTAL separater method
- added EXPERIMENTAL select prefix option.
- fixed bug that data_source DEPRECATED warnings pirnt STDERR
- fixed bug that type_rule from option can't receive filter name
0.1690
- use latest Object::Simple features
0.1689
- added EXPERIMENTAL available_data_type
- simplified type_rule
- changed type_rule arguments format
- added EXPERIMENTAL DBIx::Custom::Model result_filter attribute
- added EXPERIMETNAL DBIx::Custom::Result filter_off method
- EXPERIMENTAL type_rule can receive filter name
0.1688
- fixed bug that model insert, update, delete select can't
odd number arguments
- improved type_rule method
0.1687
- added EXPERIMENTAL type_rule method
- added EXPERIMENTAL execute() type_rule_off option
- execute method can second argument as parameter
0.1686
- select() column option can receive array reference in array.
This is EXPERIMENTAL
- select() EXPERIMETNAL column option hash format
return table.column, not table__column
- added EXPERIMENTAL col method.
- set reserved_word_quote automatically from driver name
0.1685
- insert_at, update_at, delete_at, select_at is DEPRECATED!
use insert, update, delete, select method and id option.
- insert, insert_at, update, update_at can receive odd number arguments,
first one is parameter.
0.1684
- added DBIx::Custom::Result all method, this is alias for fetch_hash_all
- added DBIx::Custom::Result one method, this is alias for fetch_hash_first
- DBIx::Custom::Result fetch_hash_first can recieve argument
- select() column option can receive hash reference. This is EXPERIMENTAL
- update_param_tag is DEPRECATED! use update_param instead.
- insert_param_tag is DEPRECATED! use insert_param instead.
- assing_param_tag is DEPRECATED! use assign_param instead.
- Tag system such as {? title}, {= title} is DEPRECATED!
and added paramter system such as :title.
0.1683
- data_source is DEPRECATED! It is renamed to dsn
0.1682
- improved debug message
- fixed merge_param bug
0.1681
- added EXPERIMENTAL assign_tag() method
0.1680
- DEPRECATED select() param option, this is renamed to where_param
- added select(), update(), and delete() where_param option
0.1679
- added EXPERIMENTAL select() wrap option to support Oracle ROWNUM
0.1678
- DBIx::Custom::Model filter attribute can receive hash reference
- DBIx::Custom::Where clause attribute can receive clause without column name
- improved error messages
0.1677
- improved table search in column and join clause
- DEPRECATED table tag. use table option.
0.1676
- fixed test bug
0.1675
- removed DEPRECATED DBIx::Custom::MySQL and DBIx::Custom::SQLite
these implementations remine in https://github.com/yuki-kimoto/DBIx-Custom/wiki
for some users.
- removed EXPERIMENTAL replace().
- removed EXPERIMENTAL mark from many methods.
0.1674
- fixed test bug
0.1673
- fixed dbh() method bug.
0.1672
- removed EXPERIMENTAL Prefork server safe implementation, my implementation is very buggy.
- added EXPERIMETNAL connector() attribute.
- change retern value to array refrence of EXPERIMENTAL replace()
0,1671
- added environment variable DBIX_CUSTOM_DEBUG
0.1670
- removed EXPERIMETNAL select() column hash option. it's a little complex.
- added EXPERIMENTAL select() param option.
- added EXPERIMENTAL replace().
0.1669
- renamed update_param to update_param_tag, update_param is DEPRECATED!
- renamed insert_param to insert_param_tag, insert_param is DEPRECATED!
0.1668
- added EXPERIMENTAL update_param no_set option.
- added EXPERIMENTAL reserved_word_quote attribute.
0.1666
- removed from cache() and cache_method() document for a while and cache() value
become 0 because I find something bug.
- create_model() return model.
- added document of hash filter
- adeed EXPERIMENTAL DBIx::Custom::Model method()
0.1665
- removed EXPERIMETNAL flag from insert_at(), update_at(), delete_at(), select_at(), insert_param(), not_exists(), select()'s query option, update_param(), where, table tag, each column, safety_character, DBIx::Where, where().
- added EXPERIMETNAL create_model()
0.1664
- where can recieve array refrence, which contains where cluase and paramter.
0.1663
- added EXPERIMENTAL type() attribute to DBIx::Custom::Model
- added EXPERIMENTAL bind_param_option can set bind_param option
to insert(), update(), delete(), select(), insert_at(),
update_at(), delete_at(), select_at(), delete_all(), update_all()
0.1662
- removed EXPERIMENTAL DBIx::Custom::Model column_clause
- added EXPERIMENTAL column()
- added EXPERIMENTAL mycolumn()
0.1661
- added EXPERIMENTAL DBIx::Custom::Model table_alias attribute
- added EXPERIMENTAL DBIx::Custom::Model mycolumn()
- added EXPERIMENTAL DBIx::Custom::Model column()
- fixed autoloading bug
- added EXPERIMETNAL select() prepend table option
- added EXPERIMETNAL select() column table option
- added EXPERIMETNAL select() column all option
- removed EXPERIMETNAL select() all_column option
- removed EXPERIMENTAL view()
0.1660
- added EXPERIMENTAL DBIx::Custom::Model view()
- added EXPERIMENTAL view()
- DBIx::Custom::Model inherit DBIx::Custom
- removed EXPERIMETNAL DBIx::Custom::Model method()
- added table choice feature to select() EXPERIMENTAL all_column option
- removed EXPERIMENTAL DBIx::Custom::Model column attribute for side effect
0.1659
- EXPERIMETAL fork safety implementaion.
- removed EXPERIMENTAL selection
- added select() all_column option
0.1658
- added EXPERIMENTAL DBIx::Custom::Model column() prefix option.
- fixed select_at join column invalid bug
- added DBIx::Custom::Model column() attribute
0.1657
- remaned EXPERIMENTAL safty_charcter to safty_name
- safty_charcter is changed, set only one character regex.
0.1656
- fixed some select() join opition bug
0.1655
- added EXPERIMENTAL DBIx::Custom::Model join attribute
- added EXPERIMENTAL select() join option
- deprecated select() relation option
- added EXPERIMENTAL update_param and insert_param
- remove EXPERIMENTAL DBIx::Custom::Model relation
0.1654
- selection can contain where clause.
0.1653
- added EXPERIMENTAL DBIx::Custom::Result remove_filter()
- added EXPERIMENTAL DBIx::Custom::Result remove_end_filter()
- added EXPERIMENTAL DBIx::Custom::Model insert_at()
- added EXPERIMENTAL insert_at()
- improved error message
0.1652
- all filter can receive array reference and receiving hash reference is DEPRECATED!
0.1651
- add EXPERIMENTAL DBIx::Custom::Model filter attribute.
0.1650
- add EXPERIMENTAL DBIx::Custom::Model name() attribute
0.1649
- add EXPERIMENTAL DBIx::Custom::Model column_clause() method.
- select method column option can receive string.
- DBIx::Custom::Model select() and select_at() think about relation attirbute
0.1648
- add EXPERIMENTAL DBIx::Custom::Model relation() attribute
- add EXPERIMENTAL update_at(), delete_at(), select_at()
- add EXPERIMENTAL setup_model()
- add EXPERIMENTAL DBIx::Custom::Model columns attirbute
- add EXPERIMENTAL DBIx::Custom::Model foreign_key() attribute
- add EXPERIMENTAL models() attribute
0.1647
- add default_dbi_option()
0.1646
- add feture. all model class in namespace is included by include_model
- rename EXPERIMENTAL include_table to include_model
- rename EXPERIMENTAL table to model
- rename EXPERIMENTAL DBIx::Custom::Table to DBIx::Custom::Model
- remame EXPERIMENTAL DBIx::Custom::Table::name() to DBIx::Custom::Model::table();
0.1645
- removed EXPERIMENTAL base_table() for class expandability.
- EXPERIMENTAL table() can't set table object any more.
- added EXPERIMENTAL include_table().
0.1644
- update pod
0.1643
- add EXPERIMENTAL selection option to select()
- add EXPERIMENTAL table tag
- fix bug : filter can't overwirite undef value.
- add EXPERIMENTAL feature to apply_filter(). you can apply end filter.
- add EXPERIMENTAL feature to apply_filter(). TABLE__COLUMN is filterded now.
0.1642
- removed EXPERIMENTAL DBIx::Custom::Table base() method
- table created by tabled method can call base_$method correponding to base_table's one
0.1641
- select() where can't receive array reference to prevend SQL injection easily(not backward compatible. sorry. use where() instead)
- added EXPERIMENTAL safety_column_name attribute
- fix SQL injection security hole about column name
0.1640
- autoload DBI method
- removed EXPERIMENTAL expand
0.1639
- improved delete() and update() where option. you can use DBIx::Custom::Where object
- added EXPERIMENTAL not_exists()
0.1638
- table object call dbi object method if not found method.
- added EXPERIMENTAL base_table attribute and removed EXPERIMENTAL table_class attribute
- renamed helper to method.
- added EXPERIMENTAL DBIx::Custom::Result::stash()
- renamed EXPERIMENTAL DBIx::Custom::Table helper to method
0.1637
- renamed dbi_options to dbi_option. dbi_options is available, but deprecated.
- renamed DBIx::Custom::TagProcessor to DBIx::Custom::Tag, and function names is cleanuped.
- renamed register_tag_processor to register_tag. register_tag_processor is available, but deprecated.
- renamed tag_processors to tags. tag_prosessors is available, but deprecated.
- improved error message
- build all clause if param is undefined.
- each_column callback receive self as first argument.
- removed EXPERIMENTAL txn_scope
0.1636
- added tests and cleanup
0.1635
- renamed iterate_all_columns to each_column
0.1634
- became more useful where method
- changed DBIx::Custom::Where greatly
0.1633
- fixed test
0.1632
- added EXPERIMENTAL where method
- added EXPERIMENTAL DBIx::Custom::Where.
- removed DBIx::Custom::Or
0.1631
- added EXPERIMENTAL DBIx::Custom::Result end_filter method
- EXPERIMENTAL extended select method's where option
- fix select method empty where failed bug
- added EXPERIMENTAL suger method query option
- added EXPERIMENTAL or method
0.1630
- fix test bug
0.1629
- renamed auto_filter to apply_filter
- changed apply_filter method arguments
- deprecated cache_method
0.1628
- remove DBIx::Custom::Model
- move table method and table_class attribute to DBIx::Custom
- added examples
- fixed connect method bug
0.1627
- added insert, update, update_all, delete, delete_all, select method to DBIx::Custom::Table
- added EXPERIMENTAL txn_scope
0.1626
- simplified DBIx::Custom::Model and DBIx::Custom::Table
0.1625
- added EXPERIMENTAL DBIx::Custom::Model and DBIx::Custom::Table
0.1624
- added EXPERIMENTAL iterate_all_columns method.
0.1623
- added EXPERIMENTAL auto_filter method
- deprecated default_bind_filter and default_fetch_filter because these are global effect.
- changed defautl_bind_filter and default_fetch_filter attributes to methods.
- changed DBIx::Custom::Result default_filter attribute to method
- changed DBIx::Custom::Result filter attribute to method.
- filter_check is always done for usability
0.1622
- deprecated DBIx::Custom::SQLite and DBIx::Custom::MySQL
- added dbi_options attribute
- checked attributes passed to connect method
0.1621
- cleanup (removed undocumented features)
0.1620
- updated document
0.1619
- updated document
- added EXPERIMENTAL expand method
0.1618
- added helper method
- added begin_work, commit, and rollback method
0.1617
- L<DBIx::Custom> is now stable. APIs keep backword compatible in the feature.
0.1616
- removed EXPERIMENTAL register_method(), and methods attribute, because it is too magical
0.1615
- fixed DBIx::Custom::QueryBuilder build_query() bug
- required Perl 5.008001 to use @CARP_NOT
0.1614
- removed DBIx::Custom::Query start_tag and end tag attributes
- enable escaping '{' and '}' in the source of SQL
- fixed Carp Carp trust relationship
0.1613
- added EXPERIMENTAL register_method() method
- added EXPERIMENTAL methods attribute
0.1612
- added tests
- updated document
- removed DBIx::Custom::SQLite last_insert_rawid() mehtod(not backword compatible)
- removed DBIx::Custom::MySQL last_insert_id() method(not backword compatible)
0.1611
- renamed update tag to update_param
- renamed insert tag to insert_param
- renamed sql_builder to query_builder
0.1610
- added filter_check attribute.
0.1609
- updated document.
0.1608
- update document
- renamed DBIx::Custom::QueryBuilder::TagProcessors functions(not backword compatible)
0.1607
- where argument of select() method can specify array(string, parameters)
- renamed build_query() to create_query()(not backword compatible)
0.1606
- fix testing bug
0.1605
- remove DBIx::Custom::QueryBuilder::tag_syntax() (not backword compatible)
- renamed DBIx::Custom::TagProcessor to DBIx::Custom::TagProcessors (not backword compatible)
- changed arguments of tag processor(not backword compatible)
- renamed DBIx::Custom::QueryBuilder::TagProcessors functions(not backword compatible)
0.1604
- changed argument of tag processor(not backword compatible)
- renamed default_query_filter to default_bind_filter(not backword compatible)
- renamed DBIx::Custom::SQLTemplate to DBIx::Custom::SQLBuilder(not backword compatible)
- renamed create_query to build_query(not backword compatible)
- renamed sql_template to sql_builder(not backword compatible)
- removed DESTROY method(not backword compatible)
- removed disconnect method(not backword compatible)
- fixed DBIx::Custom::MySQL connect_memory
0.1603
- removed DBIx::Custom commit method (not backword compatible)
- removed DBIx::Custom rollback method (not backword compatible)
- removed DBIx::Custom auto_commit method (not backword compatible)
0.1602
- added cache_method attribute
0.1601
- added cache attribute
- select, insert, update, update_all, delete, delete_all, execute only receive hash argument(not backword compatible)
0.1503
- removed reconnect method
- removed connected method
- removed reconnect_memroy method
- renamed fetch_single to fetch_first
- renamed fetch_hash_single to fetch_hash_first
- updated document
0.1502
- added commit method
- added rollback method
- changed select argument, added relation option
- moved host attribute to DBIx::Custom::MySQL
- moved port attribute to DBIx::Custom::MySQL
- moved database attribute to DBIx::Custom::MySQL and DBIx::Custom::SQLite
0.1501
- removed register_format()
- removed formats()
- removed run_transaction()
- removed create_table()
- removed drop_table()
- changed select() arguments
- changed insert() arguments
- changed update() arguments
- changed update_all() arguments
- changed delete() arguments
- changed delete_all() arguments
- changed execute() arguments
0.1402
- remove finish(), error()
- can receive code ref to filter()
- renamed resist to register
0.1401
- renamed fetch_rows to fetch_multi
- renamed fetch_hash_rows to fetch_hash_multi
0.1301
- Changed many(not backword compatible)
0.1201
- Changed many(not backword compatible)
0.1101
- rename DBIx::Custom::SQLite last_insert_id to last_insert_rowid
0.1001
- remove run_transaction().
- add transaction() and DBIx::Custom::Transaction
- rename fetch_first to fetch_single
- rename fetch_hash_first to fetch_hash_single
0.0906
- fix some bug
0.0905
- catch up with Object::Simple update
0.0904
- cleanup
0.0903
- catch up with Object::Simple update
0.0902
- cleanup
0.0901
- DBIx::Basic filter 'encode_utf8' utf8::upgrade process is deleted
0.0801
- add 'create_table', 'drop_table' methods
0.0701
- rename sql_template to sql_tmpl (not backword compatible)
- rename dbi_options to options (not backword compatible)
0.0605
- fix encode_utf8 filter
0.0604
- fix timeformat tests
0.0603
- fix cache system bug
0.0602
- update document
0.0601
- bind_filter argument is changed to ($value, $key, $dbi, $infos) (not backword compatible)
- fetch_filter argument is changed to ($value, $key, $dbi, $infos) (not backword compatible)
- run_transaction argument is changed to ($dbi)
0.0502
- update document
0.0501
- packaging DBIx::Custom::Result DBIx::Custom::Query DBIx::Custom::MySQL DBIx::Custom::SQLite DBIx::Custom::SQL::Template
0.0401
- catch up with DBIx::Custom::Result version up
0.0301
- exchange filter argument 'key', 'value' (not backword compatible)
0.0201
- rename tranzaction to transaction
- add filter_off
0.0101
- First release