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]

Reply via email to