summaryrefslogtreecommitdiff
path: root/ext/odbc/php_odbc.c
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2018-01-22 17:03:48 +0100
committerAnatol Belski <ab@php.net>2018-01-22 17:03:48 +0100
commite403e122cdaa5fe720ad1d15399caf4d7b075d36 (patch)
tree23e6de51591d4c3fff624014bba4eb9e5d31376f /ext/odbc/php_odbc.c
parent2dc1cd1154f5b25a7b43d75e2b352c46e8fb4b78 (diff)
parent2384ade53c9ddb45b56e803a8d8494737732b84b (diff)
downloadphp-git-e403e122cdaa5fe720ad1d15399caf4d7b075d36.tar.gz
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1: Fixed bug #73725 Unable to retrieve value of varchar(max) type
Diffstat (limited to 'ext/odbc/php_odbc.c')
-rw-r--r--ext/odbc/php_odbc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 437ba8667f..d0af665746 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -1027,6 +1027,13 @@ int odbc_bindcols(odbc_result *result)
break;
}
#endif
+ /* Workaround for drivers that report VARCHAR(MAX) columns as SQL_VARCHAR (bug #73725) */
+ if (SQL_VARCHAR == result->values[i].coltype && displaysize == 0) {
+ result->values[i].coltype = SQL_LONGVARCHAR;
+ result->values[i].value = NULL;
+ break;
+ }
+
/* Workaround for Oracle ODBC Driver bug (#50162) when fetching TIMESTAMP column */
if (result->values[i].coltype == SQL_TIMESTAMP) {
displaysize += 3;