Package: libalzabo-perl
Version: 0.87-1
Severity: wishlist
there are two years worth of bugfixes and enhancements available:
0.91 Mar 25, 2007
BUG FIXES:
- Alzabo checked whether a particular variable was an array reference
with a construct like this "eval { @$thing } ? @$thing :
$thing". Under most circumstances, this is ok, but Mason installs a
$SIG{__DIE__} handler that turns all string exceptions into
exception objects. This meant that under Mason, for any eval where
the reference in question was _not_ an array reference, a string
exception was caught and turned into a full-blown exception
object. This could cause a massive performance hit in some cases.
0.90 Mar 9, 2007
ENHANCEMENTS:
- Added handling of multi-column indexes which include one function
when reverse-engineering Pg schemas.
BUG FIXES:
- When a row was deleted, it was not being deleted from the cache. If
you then inserted a row with the same primary key, you got back the
row from the cache, which was marked as deleted, instead of the new
row.
- Newer versions of MySQL may return fully qualified and quoted table
names (`Schema`.`Table`) from $dbh->tables. This broke
reverse-engineering.
- The Alzabo::Column->is_time() method was totally broken for MySQL.
0.8904 Nov 17, 2006
BUG FIXES:
- The t/21-row_by_pk-exception test blew up if no test config was
provided, instead of just skipping its tests gracefully. Reported by
Andy Lester.
0.8903 Nov 16, 2006
BUG FIXES:
- The change in 0.8902 to not use UNIVERSAL::isa exposed a bug in the
handling of an attempt to load a row which doesn't exist in the
DBMS. Reported by Jon Prettyman.
0.8902 Nov 9, 2006
BUG FIXES:
- Make Alzabo "safe" to use with UNIVERSAL::can (the module), which
spits out lots of warning if you use Alzabo after it has been
loaded.
- Fixed a warning from DBI in the 03-runtime.t tests.
- Fixed reverse engineering of nextval() as a column default with Pg.
0.8901 Jul 19, 2006
BUG FIXES:
- Fix reverse engineering of "now()" as default for a column with Pg.
0.89 Jun 20, 2006
ENHANCEMENTS:
- Improved schema diffs for Postgres, particularly in the area of
comparing two columns. Now we attempt to determine if two columns
are logically equivalent, even if they might have minor variations
(INT vs INTEGER type name, 'f' versus 'false' for BOOLEAN default,
etc.).
- Added Alzabo::SQLMaker->distinct_requires_order_by_in_select for the
benefit of Pg, which requires that anything in the ORDER BY clause
show up in the SELECT when you SELECT DISTINCT. This change is
experimental, and may go away in future versions.
- Removed support for passing order_by and group_by as a hash
reference. This was deprecated in 0.59.
BUG FIXES:
- When reverse engineering a Postgres schema, Alzabo did not look for
its own sequences to determine if a column should be marked as
sequenced.
- Defer FK creation until all other DDL has been executed. This
ensures that the table to which we're referring will be available.
- When recreating a table during a SQL diff, make this an exception so
we don't do other column diff/add/drop operations on the same table.
- Fixed a test failure in 07-methodmaker.t when testing with
Postgres. This failure may not have showed up often because it came
from a test that depended on the DBMS returning rows in a speific
order by without specifying an ORDER BY.
- When a Postgres table is renamed, its sequences are also renamed.
0.8801 Mar 13, 2006
BUG FIXES:
- Quoting of PostgreSQL column defaults in DDL SQL was completely
broken.
0.88 Mar 13, 2006
ENHANCEMENTS:
- Added a new option when creating a column, "default_is_raw", which
can be used to allow for a function like NOW() as a column default.
- Added an "--automated" option for Build.PL, to force it to just use
default prereqs. Also added other options to be used with this one,
see "perl Build.PL --help" for detalis.
- The Alzabo::Driver classes will now transparently reconnect to the
DBMS if you attempt to use them in a child process after a
fork. This prevents various problems that can occur if you attempt
to share a DBI handle between two processes. One notable problem is
that the parent's DBI handle is closed when the child exits.
- Added support for (VAR)BINARY type columns in MySQL. Request by
Martin Groenemeyer. RT Ticket #16338.
BUG FIXES:
- Alzabo::Table->foreign_keys_by_table() and foreign_keys_by_column()
could return the same object more than once when using
multiple-column foreign keys. Reported by Rainer Rohmfeld. RT Ticket
#13885.
- Calling connect() on a driver object (via a schema object) with
different parameters did not reconnect if the existing handle was
still good. This was explicitly opposite what the docs said the code
was doing. RT Ticket #17942.
- Fix bug in reverse engineering function indexes in Postgres. The
reverse engineering code always ended up thinking all of the columns
in the table were used in the index.
- Fix failing MySQL test in 03-runtime.t. The problem was the test,
not the Alzabo core. Reported by Alex McLintock.
- Fixed adding too many "=cut" directives in docs generated by
Alzabo::MethodMaker.
- Fixed SQL generation for the Postgres functions CURRENT_DATE,
CURRENT_TIME, and CURRENT_TIMESTAMP, which should not have
parentheses after them.
- Documented that DATE_TRUNC() is a support Pg function in
Alzabo::SQLMaker::PostgreSQL. RT Ticket #13843.
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]