summaryrefslogtreecommitdiff
path: root/ext/odbc
diff options
context:
space:
mode:
authorAnatol Belski <ab@php.net>2015-04-02 20:18:11 +0200
committerAnatol Belski <ab@php.net>2015-04-02 20:18:11 +0200
commitb3a027d6103b69bb935431dbec2e59eb20454862 (patch)
tree865fef1b2ef6df68fc9c229fee49bad919ac4447 /ext/odbc
parent48447da83690a32eb87abfab520e8a82278bacdb (diff)
downloadphp-git-b3a027d6103b69bb935431dbec2e59eb20454862.tar.gz
more compliance with the ODBC 3.x
Diffstat (limited to 'ext/odbc')
-rw-r--r--ext/odbc/php_odbc.c12
-rw-r--r--ext/odbc/php_odbc_includes.h2
2 files changed, 8 insertions, 6 deletions
diff --git a/ext/odbc/php_odbc.c b/ext/odbc/php_odbc.c
index 6a2db5581c..cc8a7f62dc 100644
--- a/ext/odbc/php_odbc.c
+++ b/ext/odbc/php_odbc.c
@@ -954,9 +954,9 @@ int odbc_bindcols(odbc_result *result)
charextraalloc = 0;
colfieldid = SQL_COLUMN_DISPLAY_SIZE;
- rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_NAME,
+ rc = PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_NAME,
result->values[i].name, sizeof(result->values[i].name), &colnamelen, 0);
- rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_TYPE,
+ rc = PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)(i+1), SQL_COLUMN_TYPE,
NULL, 0, NULL, &result->values[i].coltype);
/* Don't bind LONG / BINARY columns, so that fetch behaviour can
@@ -991,7 +991,7 @@ int odbc_bindcols(odbc_result *result)
charextraalloc = 1;
#endif
default:
- rc = SQLColAttributes(result->stmt, (SQLUSMALLINT)(i+1), colfieldid,
+ rc = PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)(i+1), colfieldid,
NULL, 0, NULL, &displaysize);
/* Workaround for Oracle ODBC Driver bug (#50162) when fetching TIMESTAMP column */
if (result->values[i].coltype == SQL_TIMESTAMP) {
@@ -1089,7 +1089,7 @@ void odbc_column_lengths(INTERNAL_FUNCTION_PARAMETERS, int type)
RETURN_FALSE;
}
- SQLColAttributes(result->stmt, (SQLUSMALLINT)pv_num, (SQLUSMALLINT) (type?SQL_COLUMN_SCALE:SQL_COLUMN_PRECISION), NULL, 0, NULL, &len);
+ PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, (SQLUSMALLINT) (type?SQL_COLUMN_SCALE:SQL_COLUMN_PRECISION), NULL, 0, NULL, &len);
RETURN_LONG(len);
}
@@ -2135,7 +2135,7 @@ PHP_FUNCTION(odbc_result)
fieldsize = result->longreadlen;
}
} else {
- SQLColAttributes(result->stmt, (SQLUSMALLINT)(field_ind + 1),
+ PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)(field_ind + 1),
(SQLUSMALLINT)((sql_c_type == SQL_C_BINARY) ? SQL_COLUMN_LENGTH :
SQL_COLUMN_DISPLAY_SIZE),
NULL, 0, NULL, &fieldsize);
@@ -2890,7 +2890,7 @@ PHP_FUNCTION(odbc_field_type)
RETURN_FALSE;
}
- SQLColAttributes(result->stmt, (SQLUSMALLINT)pv_num, SQL_COLUMN_TYPE_NAME, tmp, 31, &tmplen, NULL);
+ PHP_ODBC_SQLCOLATTRIBUTE(result->stmt, (SQLUSMALLINT)pv_num, SQL_COLUMN_TYPE_NAME, tmp, 31, &tmplen, NULL);
RETURN_STRING(tmp)
}
/* }}} */
diff --git a/ext/odbc/php_odbc_includes.h b/ext/odbc/php_odbc_includes.h
index e1ddcec765..3c64743922 100644
--- a/ext/odbc/php_odbc_includes.h
+++ b/ext/odbc/php_odbc_includes.h
@@ -281,8 +281,10 @@ void odbc_sql_error(ODBC_SQL_ERROR_PARAMS);
#if defined(ODBCVER) && (ODBCVER >= 0x0300)
#define IS_SQL_LONG(x) (x == SQL_LONGVARBINARY || x == SQL_LONGVARCHAR || x == SQL_WLONGVARCHAR)
+#define PHP_ODBC_SQLCOLATTRIBUTE SQLColAttribute
#else
#define IS_SQL_LONG(x) (x == SQL_LONGVARBINARY || x == SQL_LONGVARCHAR)
+#define PHP_ODBC_SQLCOLATTRIBUTE SQLColAttributes
#endif
#define IS_SQL_BINARY(x) (x == SQL_BINARY || x == SQL_VARBINARY || x == SQL_LONGVARBINARY)