Changes for version 0.45
- Add a warning for mandatory+till until we fix it
- Fix the mandatory/inactive tests
- We don't need to check that a column is mandatory if it's not active
- Add failing tests for mandatory columns that aren't active, they shouldn't have the not null constraint
- Bump to 0.45 because of the JDBI::Filter::DateTime functionality fixes
- Improve the decode doc, which was mostly just a copy of encode More needless warnings gone
- Better error message when trying to use load_by_cols on a column that doesn't exist Two fixes for timezones:
- Coerce input and output to be UTC (or Floating, if JDBI::Filter::Date) I think we were depending on DT:F:Strptime being saner than it is
- Use set_time_zone, not time_zone which is only a getter defined is not what you check to see if there is a hash entry. this will stop bogus extra sql calls that slowed down your app
- Allow the specification of functions as 'column' on sql search criteria.
- When we fail to load a related model class for a good reason, actually die, rather than burying the error
- mysql doesn't handle bare varchar's
- TODO a test that needs us to force mysql to be case sensitive
- typo fix in docs
- We can have 0-valued columns, again
- New column attribute: is case_sensitive
- Make load_by_cols respect column case sensitivity.
- NOTE this is a behaviour change as columns are by default case-insensitive, and the call was doing a case sensitive search, which is different from Collection searching.
- To make Jifty::DBI load_by_cols work in the old behaviour:
- Use $rec->load_by_cols( name => { value => 'foobar', case_sensitive => 0, operator => '=' });
- unreadable and immutable are now in attributes.
- Refactor Jifty::DBI::Column to split attributes into two groups. Actual column-related (in jifty::dbi layer) ones, such as type, remains as accesssors. The rest goes into the attributes hash. This allows us to declare higher level meta data without having to change Jifty::DBI::Column in the future.
- Note that if you are accessing the column object's ->{label} directly this will now fail. Use ->label instead.
- *Test updates for case issues
- Add support for non-lowercase column names
- Make sure limit() does not modify arrays passed in to the "value" parameter.
- Allow is_distinct when joining collections, hinting the resulting collection is still distinct.
- If table2 is given as a Jifty::DBI::Collection object, detect if the join is still distinct.
- Added documentation for using @EXPORT with mixins.
- Fix the call to the after_set trigger.
- Added a new accessor, RECORD_MIXINS, for tracking which mixins have been attached to a model.
- Adding basic documentation for before_set and after_set triggers.
- Adding before_set and after_set triggers and tests for them.
- Moved Jifty::DBI to use Class::Trigger instead of its own fork of Class::Trigger.
- Added tests and debugged register_triggers_for_column on record plugins.
- Improvements to the trigger documentation for after_create and before_create.
- Fix the documentation of the after_create trigger to match the actual behavior (and only that, this time).
- Removed register_triggers_late() in favor of register_triggers_for_column(), which is nearly the same thing but with clearer semantics.
- Updated documentation to discuss the register_triggers_late() method.
Modules
An object-relational persistence framework
Encapsulate SQL queries and rows in simple perl objects
Deal with multiple Jifty::DBI::Collection result sets as one
Ensure uniqueness of records in a collection
base class for Jifty::DBI filters
DateTime object wrapper around date columns
DateTime object wrapper around date columns
salts and hashes a value before storing it
Encodes arbitrary data using Storable
DateTime object wrapper around date columns
Filter used to enforce max_length column trait
This filter stores arbitrary Perl via YAML
Encodes data as base64
Jifty::DBI UTF-8 data filter
Perl extension which is a generic DBI handle
An Informix specific Handle object
An ODBC specific Handle object
An oracle specific Handle object
A Postgres specific Handle object
A SQLite specific Handle object
a Sybase specific Handle object
A mysql specific Handle object
A mysql specific Handle object
abstract class for objects that has filters
Superclass for records loaded by Jifty::DBI::Collection
records with caching behavior
records with caching behavior
Record model mixins for Jifty::DBI
Use a simple syntax to describe a Jifty table.
Generate table schemas from Jifty::DBI records