0.768 (02.25.2008) - John Siracusa <siracusa@gmail.com>
* Changed mailing list and wiki URLs.
* Fixed the "warn" overflow mode for character columns to carp
instead of croaking. (Reported by John Ingram)
* Refined workaround for http://rt.cpan.org//Ticket/Display.html?id=33193
to apply only to versions that exhibited this bug.
* Added the forget_related() helper method to the "all" export tag.
0.767 (02.15.2008) - John Siracusa <siracusa@gmail.com>
* Added the forget_related() helper method.
* Enhanced and documented the long-dormant "hints" Manager parameter.
* Added a work-around for a DBD::Pg 2.0.0 array/bind_col() bug:
http://rt.cpan.org//Ticket/Display.html?id=33193
* Improved the column method handling for array-reference values
that may be fetched from array columns by DBD::Pg 2.0.0.
* Fixed a bug in the test suite that caused some Postgres tests
to fail if the "chkpass" column type was not installed.
(Reported by Randal Schwartz)
0.7665 (02.08.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that prevented the convention manager's auto_table_name()
method from honoring the tables_are_singular() attribute value.
(Reported by Ben Tilly)
* The new, more correct behavior of Rose::DB 0.739's array column
value parsing and formatting revealed a bug in QueryBuilder's
handling of "(any|all)_in_array" conditions involving empty list
arguments. This is now fixed.
0.7664 (02.06.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused boolean columns to be incorrectly marked as
modified. (Reported by Grzegorz Nosek)
* Added sql_qualify_column_names_on_load() Metadata method to help
support Postgres functions that can masquerade as columns if they're
prefixed by the table name. (Suggested by Grzegorz Nosek)
0.7663 (02.04.2008) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused delete_on_save method creation for foreign
keys to fail in some circumstances. (Reported by Justin Ellison)
* Fixed a bug that prevented Perl code from being emitted for
non-set columns with check_in attributes. (Reported by Sam Tregar)
* Pushed cache control methods down into Rose::DB::Object::Cached
in preparation for more caching subclasses.
* The clear_object_cache() method now correctly clears load timestamps
as well. (Patch by Justin Ellison)
0.7662 (01.30.2008) - John Siracusa <siracusa@gmail.com>
* Fixed copy-and-paste-o in Rose::DB::Object::Cached code.
0.7661 (01.29.2008) - John Siracusa <siracusa@gmail.com>
* Fixed method clash detection in Rose::DB::Object::Manager.
* Streamlined caching implementation in Rose::DB::Object::Cached.
0.766 (12.13.2007) - John Siracusa <siracusa@gmail.com>
* Added the unique_key_by_name() metadata method.
* Added the ability to do unrestricted joins in some circumstances.
* Added the remember_all() class method to Rose::DB::Object::Cached.
* Added the undef_overrides_default column attribute.
* The key_column() method in the ForeignKey class now works correctly.
(Patch by Christopher Masto)
* Further synced datetime and timestamp method-maker code.
* Added a test suite exclusion for DBD::SQLite 1.14, which still suffers
from this bug: http://rt.cpan.org/Public/Bug/Display.html?id=21472
* Improved detection of fatal errors during class setup.
* Added a "gotchas" section to the Loader documentation.
* Fixed propagation of db objects in update and delete Manager methods.
* Fixed a bug that caused some cached SQL to persist incorrectly after
inheritance. (Patch by Daniel Koch)
* Fiddled with not_found() detection. (Changes suggested by Philip Dye)
* Made one-to-one relationships (attempt to) work even when uniqueness is
not apparent in the metadata.
* The Loader no longer chokes on SQLite columns that use the
current_timestamp keyword. (Reported by George Hartzell)
* Setting undef integer attributes to zero is now correctly detected
as a modification.
0.765 (07.21.2007) - John Siracusa <siracusa@gmail.com>
* Added a value_type attribute to SET columns.
* Added a normalize_get_objects_args() utility method to make
custom Manager methods less cumbersome to implement.
* Setting a BigInt column to undef no longer sets it to zero.
(Reported by Jeffrey Horn)
* Corrected error propagation in many-to-many "find" methods when bad
arguments are passed. (Reported by Michael Reece)
* Added "use strict" the output of perl_manager_class().
* Restored default use of table aliases in Manager queries. The new
table_aliases parameter can be used to alter the behavior.
* Added support for literal sort_by parameters using scalar references.
* Added is/is_not comparison operators to QueryBuilder. (Suggested by
Jonathan Vanasco)
* Scalar references appearing in the select => ... list in Manager calls
are now passed through unmodified.
* Existing map records are now correctly checked for when adding items
through a many-to-many relationship. (Reported by Drew Taylor)
* Using a nonexistent column name in a primary or unique key is now a
fatal error. (Reported by Philip Dye)
* Multi-columns "select count(distinct ...)" queries now fall back to
count(*) on a subselect in databases that do not support calling count
on multi-argument distinct clauses. (Reported by Derek Watson)
* The auto-init system will now skip Postgres functional indexes when
extracting unique keys. (Reported by Jonathan Vanasco)
* Fixed a bug that caused inner joins to be used inappropriately in
certain cases with many-to-many relationships or when nested joins
are disabled.
* Fixed a bug that caused the auto-init system to fold multiple foreign
keys that reference the same remote key into a single multi-column
foreign key. (Reported by Marlon Bailey)
* Fixed a Manager bug that caused count queries to use incorrect
table aliases when passed empty with_objects or require_objects
array reference values. (Reported by Denis Moskowitz)
* Fixed a bug that prevented relationship and foreign key names from
being resolved when used in nested query parameters.
* Relationship count methods no longer die when the count is zero.
(Reported by Derek Watson)
* Setting enum fields to undef now works correctly. (Reported by Ovid)
* Columns with custom DBI bind attributes are now updated correctly.
(Reported by Derek Watson)
* Epoch columns with zero (0) default values now work correctly.
(Reported by Peter Karman)
* Setting boolean columns to null (undef) now works correctly.
(Reported by Derek Watson)
* Fixed a bug that caused literal query parameters with bind arguments
to become corrupted after their first use.
* Changed the way classes are registered in order to fix a Loader bug
that caused cross-database foreign keys to be erroneously created
when tables with the same names exists in two different databases.
(Reported by Adrian Howard)
* Deleting one-to-one related objects on save now works correctly.
(Reported by Ovid)
* The "find" method for many-to-many relationships now propagates custom
Manager arguments correctly. (Patch by Michael Reece)
* The use_key parameter to load() now dies if an invalid key is passed.
(Reported by Jonathan Vanasco)
0.741 (02.25.2008) - John Siracusa <siracusa@gmail.com>
* Changed mailing list URLs.
0.740 (02.15.2008) - John Siracusa <siracusa@gmail.com>
* Added support for Rose::DB::Object 0.767's new hints features.
0.739 (02.08.2008) - John Siracusa <siracusa@gmail.com>
* Caching of db objects during mod_perl server start-up is now turned
off by default, with new API to turn it back on and do the necessary
pre-fork clean-up that this entails. This change solved a segmentation
fault problem triggered in DBD::Informix when database handles created
in the parent were not properly disconnected prior to the first fork of
the apache process.
0.738 (02.06.2008) - John Siracusa <siracusa@gmail.com>
* The Informix INT8 column type is now detected and mapped to "bigint"
on behalf of Rose::DB::Object.
* Fixed a bug that prevented format_array() and parse_array() from
correctly handling arrays containing undef or NULL, respectively.
(Reported by Derek Watson)
0.737 (12.13.2007) - John Siracusa <siracusa@gmail.com>
* Altered the behavior of connect() and disconnect() to account
for the possibility that dbi_connect() may return a DBI $dbh
that is already connected and has already been initialized.
* Added optional (on by default) coercion of column type metadata
from (big)int auto-increment to (big)serial for MySQL and SQLite.
* Added support for the current_timestamp keyword to SQLite.
* Added a dozen or so new MySQL connection attributes that must be
inlined into the DSN rather than passed as connect() options.
0.736 (11.13.2007) - John Siracusa <siracusa@gmail.com>
* Added new_or_cached() method and associated caching framework.
* Added dbi_connect() method. (Patch by Peter Karman)
* Removed mistakenly checked in breakpoint.
0.735 (07.21.2007) - John Siracusa <siracusa@gmail.com>
* Improved parsing of SET values.
* Fixed the test suite's detection of the broken DBD::SQLite 1.13.
* Fix character string comparison for Windows locales that consider
different character combinations as equal
* Repair potential deadlock between concurrent "VACUUM FULL"
operations on different system catalogs
* Fix longstanding "LISTEN"/"NOTIFY" race condition
* Disallow "LISTEN" and "UNLISTEN" within a prepared transaction
* Disallow dropping a temporary table within a prepared transaction
* Fix rare crash when an error occurs during a query using a hash
index
* Fix memory leaks in certain usages of set-returning functions
* Fix input of datetime values for February 29 in years BC
* Fix "unrecognized node type" error in some variants of "ALTER
OWNER"
* Ensure pg_stat_activity.waiting flag is cleared when a lock wait is
aborted
* Fix handling of process permissions on Windows Vista
* More...
* Fix character string comparison for Windows locales that consider
different character combinations as equal
* Repair corner-case bugs in "VACUUM FULL"
* Fix misbehavior of foreign key checks involving character or bit
columns
* Avoid needless deadlock failures in no-op foreign-key checks
* Fix possible core dump when re-planning a prepared query
* Fix possible failure when re-planning a query that calls an
SPI-using function
* Fix failure in row-wise comparisons involving columns of different
datatypes
* Fix longstanding "LISTEN"/"NOTIFY" race condition
* Disallow "LISTEN" and "UNLISTEN" within a prepared transaction
* Disallow dropping a temporary table within a prepared transaction
* Fix rare crash when an error occurs during a query using a hash
index
* Fix incorrect comparison of tsquery values
* Fix incorrect behavior of LIKE with non-ASCII characters in
single-byte encodings
* Disable xmlvalidate
databases/ruby-sequel-model.
Sequel is a database access toolkit for Ruby. Sequel provides thread
safety, connection pooling, and a concise DSL for constructing queries
and table schemas.
Sequel makes it easy to deal with multiple records without having to
break your teeth on SQL.
Sequel is a database access toolkit for Ruby. Sequel provides thread
safety, connection pooling, and a concise DSL for constructing queries
and table schemas.
Sequel makes it easy to deal with multiple records without having to
break your teeth on SQL.
Sequel is a database access toolkit for Ruby. Sequel provides thread
safety, connection pooling, and a concise DSL for constructing queries
and table schemas.
Sequel makes it easy to deal with multiple records without having to
break your teeth on SQL.
version 0.7.1 include:
+ Install as a Ruby gem.
- Aliases to make it easier for ActiveRecord to support both ruby-pg
(the successor to ruby-postgres) and ruby-postgres.
- Fix connections to PostgreSQL>8.2.
DataMapper is a Object Relational Mapper written in Ruby. The goal
is to create an ORM which is fast, thread-safe and feature-rich with
ActiveRecord-compatibility.
databases/ruby-activerecord-odbc.
Data adapter for ODBC-accessible databases such as Oracle, Informix,
Ingres, OpenLink Virtuoso, SQL Server, Sybase, MySQL, PostgreSQL, DB2,
Firebird, Progress, and others, providing consistent behaviour to
ActiveRecord.
Bump PKGREVISION, because the package will gladly build and install
without p5-version, it just won't actually work unless p5-version is
available both at build time and at run time.
2.2.2
- Add parse_trace_flag as statement handle method.
2.2.1
- Fixed memory leaks in dbdimp.c
- Fixed strlen problems in dbdimp.c
- Change local trace_flags to lowercase.
2.1.0
- Add PERL_NO_GET_CONTEXT #define to improve performance on threaded Perls
- Raise the minimum DBI version to 1.52.
- Allow arrayrefs into bind_col
2.0.0
- Make minimum supported server 7.4.
- Overhaul COPY functions: deprecate pg_getline, pg_putline,
and pg_endcopy. The new functions are pg_getcopydata,
pg_getcopydata_async, pg_putcopydata, and pg_putcopyend.
- Add support for arrays: can pass in arrayrefs to execute, and
they are automatically returned as arrays when fetching.
- Add support for asynchronous queries.
- Allow raw transaction statements through - in other words,
do not croak if $dbh->prepare("COMMIT") is attempted.
- Check transaction status after each command, to allow
things such as 'PREPARE TRANSACTION' to work properly.
- Add $dbh->{pg_placeholder_dollaronly} to allow '?' and other symbols
to be used in prepared statements without getting interpreted as
placeholders, i.e. the geometric operator '?#'
- Fix memory leak in bytea quoting.
- Fix memory leak in pg_notifies.
- Fix memory leak when using savepoints.
- Use adbin, not adsrc, when figuring out the sequence name for the
last_insert_id() method. This allows the function to work properly
if the sequence name is changed. Note that {pg_cache=>0} should be
passed to the function if you expect this might happen.
- Use unsigned chars when parsing passed-in queries, preventing UTF-8
strings from ruining the prepare. UTF-16 may still cause problems.
- Fix crash when executing query with two placeholders side by side.
- Skip item if no matching key in foreign_key_info.
- Fix bug in last_insert_id.
- Fix pg_description join in table_info().
- Make sure arrays handle UTF-8 smoothly.
- Force column names to respect utf8-ness.
- Make sure array items are marked as UTF as needed.
- Force SQL_REAL and SQL_NUMERIC to be float8 not float4.
- Allow objects with stringification overloading to work with quote().
- Switch from pow to powf to support AIX compiler issue.
- Add three new columns to column_info, to return unquoted
version: pg_schema, pg_table, and pg_columns. Add all
three to primary_key_info, and the first two to table_info.
- Change $dbh->{User} to $dbh->{Username}
- Change $dbh->{Name} to return the entire DSN string, minus the
'dbi:Pg:' part.
- Allow data_sources to accept optional arguments.
- Add private_attribute_info() method.
- Add SQL_INTERVAL and others to types.c
- Added statistics_info function
- Be much more flexible in test connection options.
- Overhaul test suite, allow tests to be run individually.
- Quick support for named trace level 'SQL'
- Very experimental support for bind_param_inout, use with caution.
the termcap libraries. Including termcap.buildlink3.mk (indirectly
through including readline/buildlink3.mk) will do the right thing.
+ Remove readline dependency from Makefile.common and add it into
mysql5-client/Makefile. Only the -client package needs and uses
readline. The -server package only "needs" it to placate the
configure script, but none of its installed binaries are linked
against it.
+ Add full DESTDIR support to the -client and -server packages.
Bump the PKGREVISION of mysql5-client to 3.
The PKGREVISION of mysql5-server remains unchanged since there are
no user-visible changes to the binary package.
+ Remove explicit naming of "-lncurses -ltermcap" as the way to get
the termcap libraries. Including termcap.buildlink3.mk (indirectly
through including readline/buildlink3.mk) will do the right thing.
+ Remove readline dependency from Makefile.common and add it into
mysql4-client/Makefile. Only the -client package needs and uses
readline. The -server package only "needs" it to placate the
configure script, but none of its installed binaries are linked
against it.
+ Add full DESTDIR support to the -client and -server packages.
Bump the PKGREVISION of mysql4-client to 3.
The PKGREVISION of mysql4-server remains unchanged since there are
no user-visible changes to the binary package.
With significant new functionality and performance enhancements, this
release represents a major leap forward for PostgreSQL. This was made
possible by a growing community that has dramatically accelerated the
pace of development. This release adds the following major features:
* Full text search is integrated into the core database system
* Support for the SQL/XML standard, including new operators and an
XML data type
* Enumerated data types (ENUM)
* Arrays of composite types
* Universally Unique Identifier (UUID) data type
* Add control over whether NULLs sort first or last
* Updatable cursors
* Server configuration parameters can now be set on a per-function
basis
* User-defined types can now have type modifiers
* Automatically re-plan cached queries when table definitions change
or statistics are updated
* Numerous improvements in logging and statistics collection
* Support Security Service Provider Interface (SSPI) for
authentication on Windows
* Support multiple concurrent autovacuum processes, and other
autovacuum improvements
* Allow the whole PostgreSQL distribution to be compiled with
Microsoft Visual C++
2008 Feb 6 (3.5.6)
* Fix a bug ( ticket #2913) that prevented virtual tables from working
in a LEFT JOIN. The problem was introduced into shortly before the
3.5.5 release.
* Bring the OS/2 porting layer up-to-date.
* Add the new sqlite3_result_error_code() API and use it in the
implementation of ATTACH so that proper error codes are returned when
an ATTACH fails.
2008 Jan 31 (3.5.5)
* Convert the underlying virtual machine to be a register-based machine
rather than a stack-based machine. The only user-visible change is in
the output of EXPLAIN.
* Add the build-in RTRIM collating sequence.
2007 Dec 14 (3.5.4)
* Fix a critical bug in UPDATE or DELETE that occurs when an OR REPLACE
clause or a trigger causes rows in the same table to be deleted as
side effects. (See ticket #2832.) The most likely result of this bug
is a segmentation fault, though database corruption is a possibility.
* Bring the processing of ORDER BY into compliance with the SQL standard
for case where a result alias and a table column name are in conflict.
Correct behavior is to prefer the result alias. Older versions of
SQLite incorrectly picked the table column. (See ticket #2822.)
* The VACUUM command preserves the setting of the legacy_file_format
pragma. ( Ticket #2804.)
* Productize and officially support the group_concat() SQL function.
* Better optimization of some IN operator expressions.
* Add the ability to change the auto_vacuum status of a database by
setting the auto_vaccum pragma and VACUUMing the database.
* Prefix search in FTS3 is much more efficient.
* Relax the SQL statement length restriction in the CLI so that the
".dump" output of databases with very large BLOBs and strings can be
played back to recreate the database.
* Other small bug fixes and optimizations.
2007 Nov 27 (3.5.3)
* Move website and documentation files out of the source tree into a
separate CM system.
* Fix a long-standing bug in INSERT INTO ... SELECT ... statements where
the SELECT is compound.
* Fix a long-standing bug in RAISE(IGNORE) as used in BEFORE triggers.
* Fixed the operator precedence for the ~ operator.
* On win32, do not return an error when attempting to delete a file that
does not exist.
* Allow collating sequence names to be quoted.
* Modify the TCL interface to use sqlite3_prepare_v2().
* Fix multiple bugs that can occur following a malloc() failure.
* sqlite3_step() returns SQLITE_MISUSE instead of crashing when called
with a NULL parameter.
* FTS3 now uses the SQLite memory allocator exclusively. The FTS3
amalgamation can now be appended to the SQLite amalgamation to
generate a super-amalgamation containing both.
* The DISTINCT keyword now will sometimes use an INDEX if an appropriate
index is available and the optimizer thinks its use might be
advantageous.
The new version fixes several bugs including the cross site scripting
vulnerability reported in PMASA-2007-8 and the SQL inject vulnerability
report in PMASA-2008-1.