Alzabo

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

INCOMPATIBILITIES

- See the note above about the changes required to support
  multi-column foreign keys.

- Because of the aforementioned changes to the caching architecture,
  caching just does not work the way it used to.

  1. By default, there is no caching at all.

  2. To get the old behavior, which defaulted to an in-process memory
  cache with no inter-process syncing (meaning deletes are tracked but
  there is no such thing as expiration), you can do this in your code:

    use Alzabo::ObjectCache( store => 'Alzabo::ObjectCache::MemoryStore',
                             sync  => 'Alzabo::ObjectCache::NullSync' );

  or just:

    use Alzabo::ObjectCache;  # the above modules are the defaults

  3. To get the behavior of the old Alzabo::ObjectCacheIPC module, do:

    use Alzabo::ObjectCache( store => 'Alzabo::ObjectCache::MemoryStore',
                             sync  => 'Alzabo::ObjectCache::IPCSync' );

  However, the new DBMSync module will probably scale better, and
  performance should be about the same for smaller applications.  To
  use it, do:

    use Alzabo::ObjectCache( store => 'Alzabo::ObjectCache::MemoryStore',
                             sync  => 'Alzabo::ObjectCache::DBMSync' );

  4. If you run without any caching at all then the
  Alzabo::Runtime::Row class's behavior has changed somewhat.  In
  particular, selects or updates against a deleted object will always
  throw an Alzabo::Exception::NoSuchRow exception.  Before, the
  behavior wasn't very well defined.

  Please read the section on clearing the cache in the
  Alzabo::ObjectCache module, as this is an important concept.  By
  default, the caching and syncing modules will just grow unchecked.
  You need to clear at the appropriate points (usually your
  application's entry points) in order to keep them under control.

---------------------------------------------------------------------------

0.20 Jan 9, 2001

- Preliminary Postgres support.  There is no support yet for
  constraints or foreign keys when reverse engineering or making SQL.
  There is also no support for large objects (I'm hoping that 7.1 will
  be released soon so I won't have to think about this).  Otherwise,
  the support is about at the same level as MySQL support, though less
  mature.

- Added Alzabo::MethodMaker module.  This can be used to auto-generate
  useful methods for your schema/table/row objects based on the
  properties of your objects themselves.

- Reworking/expanding/clarifying/editing of the docs.

- Add order_by and limit options whenever creating a cursor.

- Method documentation POD from the Alzabo::* modules is merged into
  the relevant Alzabo::Create::* and Alzabo::Runtime::* modules during
  install.  This should make it easier to find what you need since the
  average user will only need to look at a few modules in
  Alzabo::Runtime::*.

- Reworked exceptions so they are all now
  Alzabo::Exception::Something.

- Added default as a column attribute (thus there are now
  Alzabo::Column->default and Alzabo::Create::Column->set_default
  methods).

- Added length & precision attributes for columns.  Both are set
  through the Alzabo::Create::Column->set_length method.

- This release includes a script in eg/ called convert.pl to convert
  older schemas.

- Alzabo::Schema->tables & Alzabo::Table->columns now take an optional
  list of tables/columns as an argument and return a list of matching
  objects.

- Added Alzabo::Column->has_attribute method.

- The data browser has actually lost some functionality (the
  filtering).  Making this more powerful is a fairly low priority at
  the moment.

- Fix bugs where extra params passed to Alzabo::Runtime::Table->insert
  were not making it to the Alzabo::Runtime::Row->new method.

- Fix for Alzabo::Runtime::Table->set_prefetch method.

- Fixed bug in handling of deleted object in Alzabo::ObjectCacheIPC
  (they were never reported as deleted).

- Fix bug that caused schema to get bigger every time it was saved.

- Finally switched to regular hashes for objects.

- Added Alzabo::SQLMaker classes to handle generating SQL in a
  cross-platform compatible way.

DEPRECATIONS:

- Parameters for Alzabo::Create::Column->new: 'null' parameter is now
  'nullable'.  The use of the parameter 'null' is deprecated.

- Alzabo::Column->null & Alzabo::Column->set_null methods are now
  Alzabo::Column->nullable & Alzabo::Column->set_nullable.  The old
  methods are deprecated.

- Alzabo::Create::ForeignKey->new no longer requires table_from &
  table_to params (it took me this long to realize I can get that from
  the column passed in.  doh!)



( run in 2.147 seconds using v1.01-cache-2.11-cpan-0d23b851a93 )