diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2010-03-08 12:39:44 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2010-03-08 12:39:44 +0000 |
commit | dbdd20a72bc9327b307fec4ef7575ddacfd728c2 (patch) | |
tree | e6d1fa62b9df281bc4a24927a8c882a327f35658 | |
parent | de18a0216358c46eae022e720aa553cc46deb946 (diff) | |
download | php-git-dbdd20a72bc9327b307fec4ef7575ddacfd728c2.tar.gz |
Fixed bug #51213 (pdo_mssql is trimming value of the money column).
-rw-r--r-- | ext/pdo_dblib/dblib_stmt.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/pdo_dblib/dblib_stmt.c b/ext/pdo_dblib/dblib_stmt.c index 2a447c036f..d3e87555a0 100644 --- a/ext/pdo_dblib/dblib_stmt.c +++ b/ext/pdo_dblib/dblib_stmt.c @@ -166,7 +166,14 @@ static int pdo_dblib_stmt_execute(pdo_stmt_t *stmt TSRMLS_DC) memcpy(val->data, dbdata(H->link, i+1), val->len); val->data[val->len] = '\0'; break; - + case SQLMONEY: + case SQLMONEY4: + case SQLMONEYN: { + DBFLT8 money_value; + dbconvert(NULL, S->cols[i].coltype, dbdata(H->link, i+1), dbdatlen(H->link, i+1), SQLFLT8, (LPBYTE)&money_value, val->len); + val->len = spprintf(val->data, 0, "%.4f", money_value); + } + break; default: if (dbwillconvert(S->cols[i].coltype, SQLCHAR)) { val->len = 32 + (2 * dbdatlen(H->link, i+1)); |