<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
<package version="1.0" packagerversion="1.4.0a1">
 <name>DB_QueryTool</name>       
 <summary>An OO-interface for easily retrieving and modifying data in a DB.</summary>
 <description>This package is an OO-abstraction to the SQL-Query language, it provides methods such
as setWhere, setOrder, setGroup, setJoin, etc. to easily build queries.
It also provides an easy to learn interface that interacts nicely with HTML-forms using
arrays that contain the column data, that shall be updated/added in a DB.
This package bases on an SQL-Builder which lets you easily build
SQL-Statements and execute them.
 </description>
 <maintainers>
  <maintainer>
   <user>cain</user>
   <name>Wolfram Kriesing</name>
   <email>wolfram@kriesing.de</email>
   <role>lead</role>
  </maintainer>
  <maintainer>
   <user>quipo</user>
   <name>Lorenzo Alberton</name>
   <email>l.alberton@quipo.it</email>
   <role>lead</role>
  </maintainer>
  </maintainers>
 <release>
  <version>1.0.0</version>
  <date>2005-03-03</date>
  <license>PHP</license>
  <state>stable</state>
  <notes>* fixed bug #3290, getCount() method returns zero when using an offset
  (patch by kubo at isite dot co dot jp)
* strings lenghtier than the column max size are truncated
  to prevent db errors
* using setOrder() with setGroup()+setHaving() could cause a malformed query
* fully tested with MySQL, PostgreSQL and Firebird/Interbase
  (added a new testsuite using SimpleTest)
  </notes>
  <deps>
   <dep type="pkg" rel="has">DB</dep>
   <dep type="pkg" rel="ge" version="1.7">Log</dep>
  </deps>
  <provides type="class" name="DB_QueryTool" extends="DB_QueryTool_EasyJoin" />
  <provides type="class" name="DB_QueryTool_Query" />
  <provides type="function" name="DB_QueryTool_Query::connect" />
  <provides type="function" name="DB_QueryTool_Query::getDbInstance" />
  <provides type="function" name="DB_QueryTool_Query::setDbInstance" />
  <provides type="function" name="DB_QueryTool_Query::get" />
  <provides type="function" name="DB_QueryTool_Query::getMultiple" />
  <provides type="function" name="DB_QueryTool_Query::getAll" />
  <provides type="function" name="DB_QueryTool_Query::getCol" />
  <provides type="function" name="DB_QueryTool_Query::getCount" />
  <provides type="function" name="DB_QueryTool_Query::getDefaultValues" />
  <provides type="function" name="DB_QueryTool_Query::getEmptyElement" />
  <provides type="function" name="DB_QueryTool_Query::getQueryString" />
  <provides type="function" name="DB_QueryTool_Query::save" />
  <provides type="function" name="DB_QueryTool_Query::update" />
  <provides type="class" name="DB_QueryTool_EasyJoin" extends="DB_QueryTool_Query" />
  <provides type="function" name="DB_QueryTool_EasyJoin::autoJoin" />
  <provides type="class" name="DB_QueryTool_Result" />
  <provides type="function" name="DB_QueryTool_Result::numRows" />
  <provides type="function" name="DB_QueryTool_Result::getCount" />
  <provides type="function" name="DB_QueryTool_Result::getData" />
  <provides type="class" name="DB_QueryTool_Result_Row" />
  <provides type="class" name="DB_QueryTool_Result_Object" extends="DB_QueryTool_Result" />
  <provides type="function" name="DB_QueryTool_Result_Object::fetchRow" />
  <filelist>
   <file role="php" baseinstalldir="DB" md5sum="a1c51634bf00b61e9cee46e817c3f2f5" name="QueryTool.php"/>
   <file role="php" baseinstalldir="DB" md5sum="756e9ed11d2a04d0dce5dade121c5330" name="QueryTool/Query.php"/>
   <file role="php" baseinstalldir="DB" md5sum="bb22c576f9745c7a23d530c26b5a7d42" name="QueryTool/EasyJoin.php"/>
   <file role="php" baseinstalldir="DB" md5sum="2ffb7373bda92ff2a569aa8f7c51a300" name="QueryTool/Result.php"/>
   <file role="php" baseinstalldir="DB" md5sum="da34db2bcadd9f729f791e505b8e890b" name="QueryTool/Result/Object.php"/>
   <file role="doc" baseinstalldir="DB" md5sum="aa8b6bb05c7f81522c3183b7b279502d" name="docs/examples/example.php"/>
   <file role="doc" baseinstalldir="DB" md5sum="7bd8b3c0dde5b2811203e58d4d1bd058" name="docs/examples/mysql.sql"/>
   <file role="doc" baseinstalldir="DB" md5sum="c0f62bc23d8e438997eb6711820b1242" name="docs/examples/pgsql.sql"/>
   <file role="test" baseinstalldir="DB" md5sum="a4ecf8fe13cf2a9267c68ca26a0de5e7" name="tests/Common.php"/>
   <file role="test" baseinstalldir="DB" md5sum="75fe73aa8217a359400f35ff05473ca4" name="tests/Get.php"/>
   <file role="test" baseinstalldir="DB" md5sum="349fa21db9f7c28644fe41f9e7a1dab1" name="tests/GetAll.php"/>
   <file role="test" baseinstalldir="DB" md5sum="bbdeb7de70fa29f7b004e1e388e5a287" name="tests/GetCount.php"/>
   <file role="test" baseinstalldir="DB" md5sum="1ebe7c10a0302cd6449ae3c127af45cc" name="tests/GetQueryString.php"/>
   <file role="test" baseinstalldir="DB" md5sum="bad6c8cf29178c86f3f83c1b29d5026a" name="tests/index.php"/>
   <file role="test" baseinstalldir="DB" md5sum="9f51d21bedf4d9b8b5fe6ff2b33170e9" name="tests/Having.php"/>
   <file role="test" baseinstalldir="DB" md5sum="075e9e0b6bcbbe39747f492030c0c953" name="tests/Limit.php"/>
   <file role="test" baseinstalldir="DB" md5sum="6c2d48d349aae8f297c7320664f6e35b" name="tests/sql.php"/>
   <file role="test" baseinstalldir="DB" md5sum="7b6a6279653a5de9692c56e920506e36" name="tests/UnitTest.php"/>
   <file role="test" baseinstalldir="DB" md5sum="1f9b862e25a90f86cd48dbbc5095e8f7" name="tests/Where.php"/>
   <file role="test" baseinstalldir="DB" md5sum="cbbba5a88ffa116f4c1343d51987e02e" name="tests/SetDbInstance.php"/>
   <file role="test" baseinstalldir="DB" md5sum="d016b248fdbb16c18c502d5d2181bd8c" name="tests/simpletest_tests/all_tests.php"/>
   <file role="test" baseinstalldir="DB" md5sum="e19d4ab13bb628c7e542c5a163fa36f5" name="tests/simpletest_tests/db_querytool_include.php"/>
   <file role="test" baseinstalldir="DB" md5sum="479725819db6036ad31609829f6a747c" name="tests/simpletest_tests/db_querytool_test_base.php"/>
   <file role="test" baseinstalldir="DB" md5sum="0acbc2e006be275d96358c5a66a64278" name="tests/simpletest_tests/db_querytool_testDbInstance.php"/>
   <file role="test" baseinstalldir="DB" md5sum="7bc7061813dd32b562ffe7b7ac0b27cd" name="tests/simpletest_tests/db_querytool_testGet.php"/>
   <file role="test" baseinstalldir="DB" md5sum="1256319f2ed81b1f70ef1709a92c4321" name="tests/simpletest_tests/db_querytool_testGetAll.php"/>
   <file role="test" baseinstalldir="DB" md5sum="4d98f5273e7bb861d3b6e6b5e24521f3" name="tests/simpletest_tests/db_querytool_testGetCount.php"/>
   <file role="test" baseinstalldir="DB" md5sum="4fd082be3152974f4c19a71e5dea2439" name="tests/simpletest_tests/db_querytool_testGetQueryString.php"/>
   <file role="test" baseinstalldir="DB" md5sum="3090fb192f078b0961b19bd7c2701b88" name="tests/simpletest_tests/db_querytool_testHaving.php"/>
   <file role="test" baseinstalldir="DB" md5sum="cdff14d2d6109e4e0dbff5374a664fcb" name="tests/simpletest_tests/db_querytool_testLimit.php"/>
   <file role="test" baseinstalldir="DB" md5sum="49b213946ffadab6d58d5e0497014e2c" name="tests/simpletest_tests/db_querytool_tests_get.php"/>
   <file role="test" baseinstalldir="DB" md5sum="4586d13f3b42859e4d4ccb4430697318" name="tests/simpletest_tests/db_querytool_tests_usage.php"/>
   <file role="test" baseinstalldir="DB" md5sum="c76e7d53d90d772468614baf0dee821a" name="tests/simpletest_tests/db_querytool_testWhere.php"/>
   <file role="test" baseinstalldir="DB" md5sum="0ad830d10d03df7f28bd9d74f75be30f" name="tests/simpletest_tests/db_settings.php"/>
   <file role="test" baseinstalldir="DB" md5sum="a3eb0b5304a57daf9d8321ba2456e935" name="tests/simpletest_tests/index.php"/>
   <file role="test" baseinstalldir="DB" md5sum="aa71f03c9b307b9e2f7b1e6e9d9a7bfa" name="tests/simpletest_tests/readme.txt"/>
   <file role="test" baseinstalldir="DB" md5sum="87e31a65b28a8e66c0363264a7122fb5" name="tests/simpletest_tests/simple_include.php"/>
  </filelist>
 </release>
 <changelog>
   <release>
    <version>0.11.1</version>
    <date>2004-10-18</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>* allow multiple left|right join clauses.
  NB: getJoin($type) now returns
    array(
       $joinTable1 =&gt; $joinOnClause1,
       $joinTable2 =&gt; $joinOnClause2,
    )
* allow class usage without instanciating a db object
  (to use the class as a simple query builder)
* unset non-specific PEAR::DB options before calling connect()
  (bug #1614)
* allow reuse of existing connection (bug #2007),
  thanks to eln at gmx dot net
    </notes>
   </release>
   <release>
    <version>0.10.1</version>
    <date>2004-05-05</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>* on UPDATE, field names are no more prefixed by the table name
  (it didn't work with PostgreSQL)
* added an $options parameter to connect()
* fixed bug #284 (Log::factory() needs to return a reference)
* fixed bug #298 (reset() does not reset limit)
* fixed bug #322 (undefined var $autoConnect)
* changed useResult() method; now it accepts a $type parameter, use it to return
  'array' results or 'object' results (thanks to Roman Dostovalov).
  Please note that BC is maintained, useResult(true) will default to
  useResult('array'), and useResult(false) will default to useResult('none').
* fixed problems with useResult(true) and empty results
* when using useResult(true), if the user doesn't call getFirst() on the first
  iteration, the class does so automatically
* PHP 5 fixes
* fixes to the testsuite
    </notes>
   </release>
   <release>
    <version>0.9.8</version>
    <date>2003-09-23</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>* added new method getQueryString() which returns the rendered query
* added setDbInstance() which lets you supply an existing DB-instance to work with
  using this you dont need to pass a DSN to the constructor!
    </notes>
   </release>
   <release>
    <version>0.9.7</version>
    <date>2003-09-15</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>* use Log 1.7 API
    </notes>
   </release>
   <release>
    <version>0.9.6</version>
    <date>2003-09-12</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>- bugfix in addMultiple()
- addWhereSearch now only prefixes known columns as it is supposed to be,
  otherwise it would also prefix aliases with the table name, which is bull...
- quirk in the addLeftJoin() method ... not nice, but v1.0 will be, unit tests pass but thats still not enough proof
- make setLimit also work to unset it
    </notes>
   </release>
   <release>
    <version>0.9.5</version>
    <date>2003-06-17</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>- bugfix when writing log files, times were wrong
- bugfix in EasyJoin, which added unnecessary conditions
- bugfix in building column alias which is at the end of the string
- bugfix in addMultiple() which didnt work without primaryCol
- bugfix in addHaving and unit test, thanks to Johannes Schfer
    </notes>
   </release>
   <release>
    <version>0.9.4</version>
    <date>2003-06-06</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>- added set/getLimit(), which set the limit globally,
  getAll() and getCol() can still overwrite this temporarily
- added addOrder()
- added *Having() methods by Johannes Schaefer
- added log functionality
- added condition param to addWhereSearch()
- fix bug in building group clause for getCount()
- bug fix in building join
    </notes>
   </release>
   <release>
    <version>0.9.3</version>
    <date>2003-03-11</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>- new method getCol() which lets you retreive just one column
- getAll() takes an additional optional parameter, where you can define
  the method that should be used for firing the query
- update() does also consider the value of setWhere() when no primary column is given
  added a _buildUpdateQuery() for that too
- added umbrello-uml class diagram
- fixing some typos, esp. for making the useResult() work
- bugfix in update, use fully qualified table name (Uwe Drl)
- bugfix in _buildSelectQuery, enclose column names by &quot;&quot;
  now Oracle should work and also reserved keywords can be used as column names (Uwe Drl)
- some bugfixes and more CS issues
    </notes>
   </release>
   <release>
    <version>0.9.2</version>
    <date>2003-02-09</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>- now you can customize the sequence name
- testing on postgres and added example
- enhancing the constructor to take the error/log callbacks
- some cleaning up
    </notes>
   </release>
   <release>
    <version>0.9.1</version>
    <date>2003-01-29</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>maintanence release, fix a lot E_ALL issues and CS issues
    </notes>
   </release>
   <release>
    <version>0.9</version>
    <date>2003-01-17</date>
    <license>PHP</license>
    <state>stable</state>
    <notes>- initial release in PEAR
    </notes>
   </release>
 </changelog>
</package>
