summaryrefslogtreecommitdiff
path: root/ext/mssql
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2003-07-23 16:53:26 +0000
committerIlia Alshanetsky <iliaa@php.net>2003-07-23 16:53:26 +0000
commit1a1826903b78fbde6b68c36148357c33098175ea (patch)
treee25b6d11534ab08421b51e64131bb9097cce8c50 /ext/mssql
parent9826911139d1ed8fd19b26b47a5b8694c0c8e668 (diff)
downloadphp-git-1a1826903b78fbde6b68c36148357c33098175ea.tar.gz
Fixed bug #24752 (Unhandled "uniqueidentifier" field type)
Original Patch By: s.sonnenberg[at]coolspot.de
Diffstat (limited to 'ext/mssql')
-rw-r--r--ext/mssql/php_mssql.c14
-rw-r--r--ext/mssql/php_mssql.h3
2 files changed, 17 insertions, 0 deletions
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)