From 1a1826903b78fbde6b68c36148357c33098175ea Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Wed, 23 Jul 2003 16:53:26 +0000 Subject: Fixed bug #24752 (Unhandled "uniqueidentifier" field type) Original Patch By: s.sonnenberg[at]coolspot.de --- ext/mssql/php_mssql.c | 14 ++++++++++++++ ext/mssql/php_mssql.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/ext/mssql/php_mssql.c b/ext/mssql/php_mssql.c index 57b4e6631b..7e1b7a10be 100644 --- a/ext/mssql/php_mssql.c +++ b/ext/mssql/php_mssql.c @@ -800,6 +800,15 @@ static void php_mssql_get_column_content_with_type(mssql_link *mssql_ptr,int off Z_DVAL_P(result) = (double) floatcol8(offset); Z_TYPE_P(result) = IS_DOUBLE; break; +#ifdef SQLUNIQUE + case SQLUNIQUE: { + char *data = charcol(offset); + + /* uniqueidentifier is a 16-byte binary number */ + ZVAL_STRINGL(result, data, 16, 1); + } + break; +#endif case SQLVARBINARY: case SQLBINARY: case SQLIMAGE: { @@ -1468,6 +1477,11 @@ static char *php_mssql_get_field_name(int type) case SQLIMAGE: return "image"; break; +#ifdef SQLUNIQUE + case SQLUNIQUE: + return "uniqueidentifier"; + break; +#endif default: return "unknown"; break; diff --git a/ext/mssql/php_mssql.h b/ext/mssql/php_mssql.h index 49b3b6c163..c39ad5de71 100644 --- a/ext/mssql/php_mssql.h +++ b/ext/mssql/php_mssql.h @@ -59,6 +59,9 @@ #define SQLIMAGE SYBIMAGE #define SQLBINARY SYBBINARY #define SQLVARBINARY SYBVARBINARY +#ifdef SQLUNIQUE /* FreeTSD 0.61+ */ +#define SQLUNIQUE SYBUNIQUE +#endif #define DBERRHANDLE(a, b) dberrhandle(b) #define DBMSGHANDLE(a, b) dbmsghandle(b) #define DBSETOPT(a, b, c) dbsetopt(a, b, c, -1) -- cgit v1.2.1