summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2003-07-23 16:53:38 +0000
committerIlia Alshanetsky <iliaa@php.net>2003-07-23 16:53:38 +0000
commit3a43c4124fbb47292ace7fb086ad2d9f06c74a51 (patch)
tree0b1969409ad8c231c5939bdcd278d9232adac0fc /ext
parentd197a131dbc07c8d50a391729a5f6379115aa898 (diff)
downloadphp-git-3a43c4124fbb47292ace7fb086ad2d9f06c74a51.tar.gz
MFH: Fixed bug #24752 (Unhandled "uniqueidentifier" field type)
Diffstat (limited to 'ext')
-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 6a85dd2214..969150e87e 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: {
@@ -1470,6 +1479,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 5168f181bc..6f2f3b8188 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)