felipe Thu, 17 Mar 2011 11:59:54 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=309343
Log: - Fixed bug #54167 (PDO_DBLIB returns null on SQLUNIQUE field) patch by: mjh at hodginsmedia dot com Bug: http://bugs.php.net/54167 (Feedback) PDO_DBLIB returns null on SQLUNIQUE field Changed paths: U php/php-src/branches/PHP_5_3/ext/pdo_dblib/dblib_stmt.c Modified: php/php-src/branches/PHP_5_3/ext/pdo_dblib/dblib_stmt.c =================================================================== --- php/php-src/branches/PHP_5_3/ext/pdo_dblib/dblib_stmt.c 2011-03-17 11:49:18 UTC (rev 309342) +++ php/php-src/branches/PHP_5_3/ext/pdo_dblib/dblib_stmt.c 2011-03-17 11:59:54 UTC (rev 309343) @@ -25,6 +25,7 @@ #include "php.h" #include "php_ini.h" +#include "ext/standard/php_string.h" #include "ext/standard/info.h" #include "pdo/php_pdo.h" #include "pdo/php_pdo_driver.h" @@ -173,6 +174,23 @@ val->len = spprintf(&val->data, 0, "%.4f", money_value); } break; +#ifdef SQLUNIQUE + case SQLUNIQUE: { +#else + case 36: { /* FreeTDS hack, also used by ext/mssql */ +#endif + val->len = 36+1; + val->data = emalloc(val->len + 1); + + /* uniqueidentifier is a 16-byte binary number, convert to 32 char hex string */ +#ifdef SQLUNIQUE + val->len = dbconvert(NULL, SQLUNIQUE, dbdata(H->link, i+1), dbdatlen(H->link, i+1), SQLCHAR, val->data, val->len); +#else + val->len = dbconvert(NULL, 36, dbdata(H->link, i+1), dbdatlen(H->link, i+1), SQLCHAR, val->data, val->len); +#endif + php_strtoupper(val->data, val->len); + break; + } default: if (dbwillconvert(S->cols[i].coltype, SQLCHAR)) { val->len = 32 + (2 * dbdatlen(H->link, i+1));
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php