result->type = IS_DOUBLE;
break;
}
+ case SQLVARBINARY:
+ case SQLBINARY:
+ case SQLIMAGE: {
+ DBBINARY *bin;
+ unsigned char *res_buf;
+ int res_length = dbdatlen(mssql_ptr->link,offset);
+
+ res_buf = (unsigned char *) emalloc(res_length);
+ memset(res_buf, 0, res_length);
+ bin = ((DBBINARY *)dbdata(mssql_ptr->link,offset));
+ memcpy(res_buf,bin,res_length);
+ result->value.str.len = res_length;
+ result->value.str.val = res_buf;
+ result->type = IS_STRING;
+ }
+ break;
case SQLNUMERIC:
default: {
if (dbwillconvert(column_type,SQLCHAR)) {
return;
}
- if (dbwillconvert(coltype(offset),SQLCHAR)) {
+ if (column_type == SQLVARBINARY ||
+ column_type == SQLBINARY ||
+ column_type == SQLIMAGE) {
+ DBBINARY *bin;
+ unsigned char *res_buf;
+ int res_length = dbdatlen(mssql_ptr->link,offset);
+
+ res_buf = (unsigned char *) emalloc(res_length);
+ memset(res_buf, 0, res_length);
+ bin = ((DBBINARY *)dbdata(mssql_ptr->link,offset));
+ memcpy(res_buf,bin,res_length);
+ result->value.str.len = res_length;
+ result->value.str.val = res_buf;
+ result->type = IS_STRING;
+ }
+ else if (dbwillconvert(coltype(offset),SQLCHAR)) {
unsigned char *res_buf;
int res_length = dbdatlen(mssql_ptr->link,offset);