<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
    <channel rdf:about="http://pear.php.net/">
    <link>http://pear.php.net/</link>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <dc:language>en-us</dc:language><items>
<rdf:Seq><rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0b1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0a2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0a1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.2.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.2.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/1.0.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/MDB2_Driver_mssql/download/0.1.2/"/>
</rdf:Seq>
</items>

<title>Latest releases</title>
<description>The latest releases for the package mdb2_driver_mssql</description>
</channel>

<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0b1/">
 <title>MDB2_Driver_mssql 1.3.0b1</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0b1/</link>
 <content:encoded>- fixed bug #12391: fixed lastInsertID() (thanks to Marius Toma)&lt;br /&gt;
- fixed bug #12599: BLOB quoting incorrect (thanks to Ferdy Hanssen)&lt;br /&gt;
- fixed bug #12697: MDB2_Driver_mssql fails to load with the sybase_ct extension&lt;br /&gt;
- request #12731: added truncateTable() in the Manager module&lt;br /&gt;
- request #12732: added vacuum() in the Manager module for OPTIMIZE/VACUUM TABLE abstraction&lt;br /&gt;
- request #12800: added alterDatabase() in the Manager module [afz]&lt;br /&gt;
- fixed bug #12924: correctly handle internal expected errors even with custom error handling&lt;br /&gt;
- extended alterTable() support in the Manager module [afz]&lt;br /&gt;
- added standaloneQuery() and databaseExists()&lt;br /&gt;
- request #13106: added unixtimestamp() in the Function module&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2008-03-15T04:28:17-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0a2/">
 <title>MDB2_Driver_mssql 1.3.0a2</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0a2/</link>
 <content:encoded>- fixed bug #11571: when using setLimit(), numRows() returns wrong values&lt;br /&gt;
- request #12012: added collation support in createDatabase() and in createTable()&lt;br /&gt;
  for table fields&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2007-12-06T15:15:45-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0a1/">
 <title>MDB2_Driver_mssql 1.3.0a1</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.3.0a1/</link>
 <content:encoded>- initial support for FOREIGN KEY and CHECK constraints in the Reverse and Manager modules&lt;br /&gt;
- fixed bug #9735, #11175, #11228: two instances fail to keep different databases selected&lt;br /&gt;
- request #11297: added support for &quot;schema.table&quot; notation in the Reverse module&lt;br /&gt;
- request #11445: added support for unicode datatypes (nchar, nvarchar, ntext)&lt;br /&gt;
- fixed bug #11479: wrong query in nextID()&lt;br /&gt;
- fixed bug #11790: avoid array_diff() because it has a memory leak in PHP 5.1.x&lt;br /&gt;
- request #11797: don't use mssql_field_name() in listTableFields() in the Manager module&lt;br /&gt;
  since it only returns the first 30 chars&lt;br /&gt;
- fixed bug #12010: MDB2_PORTABILITY_RTRIM option was ignored&lt;br /&gt;
- fixed bug #12083: createTable() in the Manager module now returns MDB2_OK on success,&lt;br /&gt;
  as documented&lt;br /&gt;
- fixed bug #12269: tableInfo() in the Reverse module detect 'clob' data type&lt;br /&gt;
  as first option&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2007-10-28T15:26:44-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.2.1/">
 <title>MDB2_Driver_mssql 1.2.1</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.2.1/</link>
 <content:encoded>- return length as &quot;precision,scale&quot; for NUMERIC and DECIMAL fields in mapNativeDatatype()&lt;br /&gt;
- in getTableIndexDefinition() and getTableConstraintDefinition() in the Reverse&lt;br /&gt;
  module, also return the field position in the index/constraint&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2007-05-03T15:31:49-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.2.0/">
 <title>MDB2_Driver_mssql 1.2.0</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.2.0/</link>
 <content:encoded>- added ability to escape wildcard characters in escape() and quote()&lt;br /&gt;
- added setTransactionIsolation()&lt;br /&gt;
- added savepoint support to beginTransaction(), commit() and rollback()&lt;br /&gt;
- added debug() call at the end of a query/prepare/execute calling (Request #7933)&lt;br /&gt;
- added context array parameter to debug() and make use of it whereever sensible&lt;br /&gt;
- added optional method name parameter to raiseError() and use whereever possible&lt;br /&gt;
- added ability to escape wildcard characters in escape() and quote()&lt;br /&gt;
- added debug() call at the end of a query/prepare/execute calling (Request #7933)&lt;br /&gt;
- added 'nativetype' output to tableInfo() and getTableFieldDefinition()&lt;br /&gt;
- added 'mdb2type' output to getTableFieldDefinition()&lt;br /&gt;
- reworked tableInfo() to use a common implementation based on getTableFieldDefinition()&lt;br /&gt;
  when a table name is passed (Bug #8124)&lt;br /&gt;
- fixed incorrect regex in mapNativeDatatype() (Bug #8256) (thx ioz at ionosfera dot com)&lt;br /&gt;
- use old DSN when rolling back open transactions in disconnect()&lt;br /&gt;
- MSSQL requires making columns exlicitly NULLable (Bug #8359)&lt;br /&gt;
- do not list empty contraints and indexes&lt;br /&gt;
- added support for autoincrement via IDENTITY in getDeclaration()&lt;br /&gt;
- ALTER TABLE bug when adding more than 1 column (Bug #8373)&lt;br /&gt;
- fixed handling return values when disable_query is set in _doQuery() and _execute()&lt;br /&gt;
- added dropIndex() to the manager module&lt;br /&gt;
- increased MDB2 dependency to XXX&lt;br /&gt;
- renamed valid_types property to valid_default_values in the Datatype module&lt;br /&gt;
- increased PHP dependency due to bug #31195&lt;br /&gt;
- using 'ADD COLUMN' syntax instead of just 'ADD' in alterTable()&lt;br /&gt;
- fixed bug #9024: typo in error checking&lt;br /&gt;
- fixed inheritance structure of convertResult()&lt;br /&gt;
- added support for new 'disable_iso_date' date DSN option (Request #8739)&lt;br /&gt;
- fix typos in error handling in a few places (bug #9024)&lt;br /&gt;
- do not skip id generation in nextId() when creating a sequence on demand&lt;br /&gt;
  because this prevents lastInsertID() from working&lt;br /&gt;
- added support for more error codes (patch by Adam Harvey)&lt;br /&gt;
- migrated to package.xml version 2&lt;br /&gt;
- implemented getTableFieldDefinition() in the Reverse module&lt;br /&gt;
- implemented getTableIndexDefinition() in the Reverse module&lt;br /&gt;
- implemented getTableConstraintDefinition() in the Reverse module&lt;br /&gt;
- implemented getTriggerDefinition() in the Reverse module&lt;br /&gt;
- implemented listTableConstraints() in the Manager module&lt;br /&gt;
- implemented listFunctions() in the Manager module&lt;br /&gt;
- implemented listDatabases() in the Manager module&lt;br /&gt;
- implemented listUsers() in the Manager module&lt;br /&gt;
- implemented guid() in the Function module [globally unique identifier]&lt;br /&gt;
- implemented a fallback mechanism within getTableIndexDefinition() in the Reverse&lt;br /&gt;
  module to ignore the 'idxname_format' option and use the index name as provided&lt;br /&gt;
  in case of failure before returning an error&lt;br /&gt;
- added a 'nativetype_map_callback' option to map native data declarations back to&lt;br /&gt;
  custom data types (thanks to Andrew Hill).&lt;br /&gt;
- added missing integer data types and their length in _mapNativeDatatype()&lt;br /&gt;
- phpdoc fixes&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2007-03-14T08:19:31-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.2/">
 <title>MDB2_Driver_mssql 1.1.2</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.2/</link>
 <content:encoded>- removed mysql_select_db and used mssql_select_db&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2007-01-10T14:22:16-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.1/">
 <title>MDB2_Driver_mssql 1.1.1</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.1/</link>
 <content:encoded>- Quotes being escaped when autoExecute (Bug #9442)&lt;br /&gt;
- fread() truncates after execute() ? (Bug #9410)&lt;br /&gt;
- LimitQuery now compatible with DISTINCT (Bug #8206)&lt;br /&gt;
- Now using @@IDENTITY (Bug #7291)&lt;br /&gt;
- Implementation of mapNativeDatatype()&lt;br /&gt;
- Limit query now working&lt;br /&gt;
- Execute syntax changed in sql server 2005&lt;br /&gt;
- Added more relevant sql server 2005 error codes&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- fix sequence emulation soon&lt;br /&gt;
- explore fast limit/offset emulation (Request #4544)
 </content:encoded>
 <dc:date>2007-01-09T11:12:41-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.0/">
 <title>MDB2_Driver_mssql 1.1.0</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.1.0/</link>
 <content:encoded>- added the listTableTriggers() method to the Manager.&lt;br /&gt;
- added the listViews() method to the Manager.&lt;br /&gt;
- aligned _modifyQuery() signature and phpdoc&lt;br /&gt;
- added the map datatype patch for (bug #6863)&lt;br /&gt;
- added support for length in reverse engineering of integer fields&lt;br /&gt;
- added 'result_introspection' supported metadata support&lt;br /&gt;
- fixed alterTable() when adding/dropping multiple columns&lt;br /&gt;
- properly quote table names in tableInfo() (related to bug #6573)&lt;br /&gt;
- use connected_server_info in getServerVersion() as a cache cache&lt;br /&gt;
- use parent::disconnect() in disconnect()&lt;br /&gt;
- added support for length in integer reverse engineering&lt;br /&gt;
- some fixes regarding boolean reverse engineering&lt;br /&gt;
- protect against sql injection in the reverse and manager module&lt;br /&gt;
- explicitly set is_manip parameter to false for transaction debug calls&lt;br /&gt;
- various minor tweaks to error messages, phpdoc and adding stub methods to the&lt;br /&gt;
  common driver&lt;br /&gt;
- typo fixes in phpdoc (thx Stoyan)&lt;br /&gt;
- added support for fixed and variable types for 'text' in declarations,&lt;br /&gt;
  as well as in reverse engineering (Request #1523)&lt;br /&gt;
- made _doQuery() return a reference&lt;br /&gt;
- added userinfo's to all raiseError calls that previously had none&lt;br /&gt;
- added 'prepared_statements' supported meta data setting&lt;br /&gt;
- limit fetch to 1 row in listTableFields()&lt;br /&gt;
- use setCharset() in connect()/_doConnect()&lt;br /&gt;
- generalized quoteIdentifier() with a property&lt;br /&gt;
- drop parentheses from executeStoredProc() syntax (bug #7855)&lt;br /&gt;
- switched most array_key_exists() calls to !empty() to improve readability and performance&lt;br /&gt;
- fixed a few edge cases and potential warnings&lt;br /&gt;
- added ability to rewrite queries for query(), exec() and prepare() using a debug handler callback&lt;br /&gt;
- added implementation for now() and substring() (Request #7774)&lt;br /&gt;
- check if result/connection has not yet been freed/dicsonnected before&lt;br /&gt;
  attempting to free a result set(Bug #7790)&lt;br /&gt;
- fix range offsets (bug #7448)&lt;br /&gt;
- revert change that would prefer 'clob' over 'text' for TEXT fields&lt;br /&gt;
  (this was breaking runtime instrospection)&lt;br /&gt;
- use SCOPE_IDENTITY() when version &gt;= 8 (SQL Server 2000) otherwise fallback to&lt;br /&gt;
  @@IDENTITY to retrieve last inserted value (bug #7291)&lt;br /&gt;
- implement getServerVersion()&lt;br /&gt;
- removed bogus but unharmful code from mapNativeDatatype()
 </content:encoded>
 <dc:date>2006-06-15T09:31:02-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/1.0.0/">
 <title>MDB2_Driver_mssql 1.0.0</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/1.0.0/</link>
 <content:encoded>- unified case fixing in the list*() methods&lt;br /&gt;
- use getConnection() to access connection property&lt;br /&gt;
- split index and constraint handling&lt;br /&gt;
- quote identifiers where possible inside the manager methods depending on&lt;br /&gt;
  the new 'quote_identifier' option (defaults to off)&lt;br /&gt;
- refactored get*Declaration() methods to use getTypeDeclaration()&lt;br /&gt;
- setting in_transaction to false on disconnect&lt;br /&gt;
- added new Function modules to handle difference in SQL functions&lt;br /&gt;
- force rollback() with open transactions on disconnect&lt;br /&gt;
- escape floats to make sure they do not contain evil characters (bug #5608)&lt;br /&gt;
- split off manipulation queries into exec() method from the query() method *BC BREAK*&lt;br /&gt;
- only if result_types is set to false in prepare() method the query will be&lt;br /&gt;
  handled as a DML statement *BC BREAK*&lt;br /&gt;
- use lastInsertID() method in nextID()&lt;br /&gt;
- cleanup _checkSequence() method to not raise errors when no table was found&lt;br /&gt;
- added 'mdbtype' to tableInfo() output&lt;br /&gt;
- changed 'len' to 'length' in tableInfo() output *BC BREAK*&lt;br /&gt;
- explicitly pass if the module is phptype specific in all loadModule calls (bug #6226)&lt;br /&gt;
- fixed signature of quoteIdentifier() to make second param optional&lt;br /&gt;
- fixed signature of executeStoredProc()&lt;br /&gt;
- typo fixes in error handling of nextResult() and numRows() calls&lt;br /&gt;
- nextResult() returns false if there are no more result sets to read&lt;br /&gt;
- _fixIndexName() now just attempts to remove possible formatting&lt;br /&gt;
- renamed _isSequenceName() to _fixSequenceName()&lt;br /&gt;
- _fixSequenceName() now just attempts to remove possible formatting, and only&lt;br /&gt;
  returns a boolean if no formatting was applied when the new &quot;check&quot; parameter is set to true&lt;br /&gt;
- added support for length in decimal columns&lt;br /&gt;
- removed ugly hack for quote parameter in quote() since it was insufficient&lt;br /&gt;
  (escaping also needs to be prevented)&lt;br /&gt;
- handle null as resource when disable_query option is enabled in result object&lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- add missing index/contraint methods to the manager and reverse module methods&lt;br /&gt;
- ensure that all primary/unique/foreign key handling is only in the contraint methods&lt;br /&gt;
- fix alterTable()
 </content:encoded>
 <dc:date>2006-02-09T10:27:42-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/MDB2_Driver_mssql/download/0.1.2/">
 <title>MDB2_Driver_mssql 0.1.2</title>
 <link>http://pear.php.net/package/MDB2_Driver_mssql/download/0.1.2/</link>
 <content:encoded>* Bugfix 5507&lt;br /&gt;
* created method _checkSequence that checks if a sequence exists&lt;br /&gt;
* moved all private fetch mode into _fixResultAraryValues&lt;br /&gt;
* net portability with MDB2_PORTABILITY_FIX_ASSOC_FIELD (to remove database/table qualifiers from assoc indexes)&lt;br /&gt;
* now using !empty instead of isset() to fetchRow&lt;br /&gt;
* getAfterId is no lastInsertId&lt;br /&gt;
* fixed some php4 breakage&lt;br /&gt;
* Fixed many typos.&lt;br /&gt;
* return 0 for manipulation queries when disable_query is enabled.&lt;br /&gt;
* Cosmetic fixes&lt;br /&gt;
* dropped_fields is handled by 'remove'&lt;br /&gt;
* using array_key_exist instaed of isset()&lt;br /&gt;
* structures of field add/remove/change in alterTable now match with MDB2_Schema&lt;br /&gt;
* bug fixes 5507&lt;br /&gt;
* renamed MDB2_PORTABILITY_LOWERCASE to MDB2_PORTABILITY_FIX_CASE and use 'field_case' option to determine if to upper- or lowercase (CASE_LOWER/CASE_UPPER)&lt;br /&gt;
* use getDBInstance()&lt;br /&gt;
* query() -&gt; queryCol()&lt;br /&gt;
* native extends to MDB2_Module_Common&lt;br /&gt;
* reverse now uses TOP instead of LIMIT&lt;br /&gt;
* reverse fixed typos&lt;br /&gt;
* reverse uses getDBInstance()&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
open todo items:&lt;br /&gt;
- added missing createIndex() method
 </content:encoded>
 <dc:date>2005-10-11T09:49:17-05:00</dc:date>
</item>

</rdf:RDF>