Skip to content

Commit 04c5edc

Browse files
committed
Move SYBVARIANT to bottom of rb_tinytds_result_fetch_row.
1 parent 9795cd0 commit 04c5edc

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

ext/tiny_tds/result.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,6 @@ static VALUE rb_tinytds_result_fetch_row(VALUE self, ID timezone, int symbolize_
213213
val = INT2FIX(*(DBSMALLINT *)data);
214214
break;
215215
case SYBINT4:
216-
case 98: // https://git.io/v1ItA
217216
val = INT2NUM(*(DBINT *)data);
218217
break;
219218
case SYBINT8:
@@ -326,6 +325,15 @@ static VALUE rb_tinytds_result_fetch_row(VALUE self, ID timezone, int symbolize_
326325
case SYBTEXT:
327326
val = ENCODED_STR_NEW(data, data_len);
328327
break;
328+
case 98: { // SYBVARIANT
329+
if (data_len == 4) {
330+
val = INT2NUM(*(DBINT *)data);
331+
break;
332+
} else {
333+
val = ENCODED_STR_NEW(data, data_len);
334+
break;
335+
}
336+
}
329337
default:
330338
val = ENCODED_STR_NEW(data, data_len);
331339
break;

0 commit comments

Comments
 (0)