<?xml version="1.0" encoding="UTF-8" ?>
<r xmlns="http://pear.php.net/dtd/rest.release"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xsi:schemaLocation="http://pear.php.net/dtd/rest.release
    http://pear.php.net/dtd/rest.release.xsd">
 <p xlink:href="/rest/p/db_table">DB_Table</p>
 <c>pear.php.net</c>
 <v>0.23.0</v>
 <st>beta</st>
 <l>LGPL</l>
 <m>pmjones</m>
 <s>Builds on PEAR DB to abstract datatypes and automate table creation, data validation, insert, update, delete, and select; combines these with PEAR HTML_QuickForm to automatically generate input forms that match the table column definitions.</s>
 <d>Builds on PEAR DB to abstract datatypes and automate table creation, data validation, insert, update, delete, and select; combines these with PEAR HTML_QuickForm to automatically generate input forms that match the table column definitions.
</d>
 <da>2004-12-30 10:39:53</da>
 <n>* WARNING: MULTIPLE BC BREAKS related to naming conventions,
      mostly because of Oracle.  Read and heed the following two notes
      before you upgrade.  These are per email conversations with,
      patches from, and suggestions by Alex Hoebart.
      
    * BC BREAK on name lengths:
    
      Table, column, index, and sequence names are now limited
      to 30 characters at table-creation time via the create()
      method in Manager.php.  This means that column names and
      must be no longer than 30 characters.
      
      More confusingly, this means that generated index names
      can be no longer than 30 characters total. DB_Table
      generates index names using the table name, an
      underscore, the index name, and a '_idx' suffix. This
      combination of rules is to soothe PostgreSQL (which does
      not allow identical index names even if they are on
      different tables) and Oracle (which has a 30-char limit
      on index names).  This means that the table name
      combined with the index name cannot be longer than 25
      characters (becuase of the separating underscore and the
      '_idx' suffix).  Yes, this sucks.  Well, Oracle sucks. 
      :-(
      
      Error codes and messages have been added to notify of
      the new rules. effect.  This should only affect users
      who are creating new tables with DB_Table and should not
      affect existing tables and indexes.
      
    * BC BREAK on sequences:
    
      If no sequence name is defined in a call to nextID(),
      DB_Table used to default to '_table_id' as the name of
      the sequence, and DB would take that to create a
      '_table_id_seq' sequence name. However, Oracle will not
      allow a sequence name to start with '_'.  In addition,
      Oracle has a maximum length of 30 for sequence names.
      
      For Oracle compliance, and in the interest of
      consistency between DB and DB_Table, as well as keeping
      names under 30 chars, DB_Table now uses only the table
      name as the default, which means that DB translates this
      into 'tablename_seq'.  Also, the nextID() method will 
      check to make sure the sequence name will end up being 
      no longer than 30 chars.
      
      Users of DB_Table should rename their sequences to
      remove the initial underscore and change the trailing
      '_id_seq' to just '_seq' for any automatically-generated
      sequence names.  If you do not, the upgrade to DB_Table
      0.23.0 will create a new sequence restarting at 1 with
      the new non-underscored different-suffix name on the
      first call to nextID().
      
    * Added 'autocomplete' as a supported element, per Alex
      Hobart.
    
    * Added new keys to the $sql property to support per-query
      'fetchmode' and 'fetchmode_object_class' settings.  Patch
      provided by Ian Eure.
    
    * Quickform.php addRules() method now supports any registered
      rule.  Patch provided by Alex Hoebart.
    
    * Valid.php isChar() is less restrictive and allows numbers
      in character fields.  Patch provided by Alex Hoebart.
    
    * Fixed bug 2799 &quot;error in getFormElement&quot;, patch provided
      by David Glenn.
    * Fixed bug 2918 &quot;recast($data) timestamp zero packing&quot;,
      reported by Simon Massey.
    * Added selectCount() method to let you get a row-count
      on an existing query; patch provided by Ian Eure.</n>
 <f>28750</f>
 <g>http://pear.php.net/get/DB_Table-0.23.0</g>
 <x xlink:href="package.0.23.0.xml"/>
</r>