diff options
author | Adam Baratz <adambaratz@php.net> | 2016-09-13 16:26:38 -0400 |
---|---|---|
committer | Adam Baratz <adambaratz@php.net> | 2016-09-13 16:32:37 -0400 |
commit | 91c49c4ab0632116760d9beeddb0ec26ddc61ca7 (patch) | |
tree | 40cc101e01bded33daf234be7b218d110ccc5d64 /ext/pdo_dblib/dblib_stmt.c | |
parent | 9cdf2042bd3e1a34c15e120cba85a76ef54eb854 (diff) | |
download | php-git-91c49c4ab0632116760d9beeddb0ec26ddc61ca7.tar.gz |
Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions
Diffstat (limited to 'ext/pdo_dblib/dblib_stmt.c')
-rw-r--r-- | ext/pdo_dblib/dblib_stmt.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/ext/pdo_dblib/dblib_stmt.c b/ext/pdo_dblib/dblib_stmt.c index 8ec4f782fd..311d856d55 100644 --- a/ext/pdo_dblib/dblib_stmt.c +++ b/ext/pdo_dblib/dblib_stmt.c @@ -266,6 +266,11 @@ static int pdo_dblib_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, if (data_len != 0 || data != NULL) { if (stmt->dbh->stringify) { switch (coltype) { + case SQLDECIMAL: + case SQLNUMERIC: + case SQLMONEY: + case SQLMONEY4: + case SQLMONEYN: case SQLFLT4: case SQLFLT8: case SQLINT4: @@ -361,18 +366,16 @@ static int pdo_dblib_stmt_get_col(pdo_stmt_t *stmt, int colno, char **ptr, break; } + case SQLDECIMAL: + case SQLNUMERIC: case SQLMONEY: case SQLMONEY4: case SQLMONEYN: { - DBFLT8 money_value; - dbconvert(NULL, coltype, data, 8, SQLFLT8, (LPBYTE)&money_value, -1); + DBFLT8 float_value; + dbconvert(NULL, coltype, data, 8, SQLFLT8, (LPBYTE)&float_value, -1); zv = emalloc(sizeof(zval)); - ZVAL_DOUBLE(zv, money_value); - - if (stmt->dbh->stringify) { - convert_to_string(zv); - } + ZVAL_DOUBLE(zv, float_value); break; } |