FS-7673: [mod_v8] Fixed ODBC NULL value incorrectly evaluated
This commit is contained in:
parent
2655c12e45
commit
4977f608fe
|
@ -315,12 +315,17 @@ JS_ODBC_FUNCTION_IMPL(GetData)
|
||||||
SQLULEN ColumnSize;
|
SQLULEN ColumnSize;
|
||||||
SQLCHAR name[1024] = "";
|
SQLCHAR name[1024] = "";
|
||||||
SQLCHAR *data = _colbuf;
|
SQLCHAR *data = _colbuf;
|
||||||
|
SQLLEN pcbValue;
|
||||||
|
|
||||||
SQLDescribeCol(_stmt, x, name, sizeof(name), &NameLength, &DataType, &ColumnSize, &DecimalDigits, &Nullable);
|
SQLDescribeCol(_stmt, x, name, sizeof(name), &NameLength, &DataType, &ColumnSize, &DecimalDigits, &Nullable);
|
||||||
SQLGetData(_stmt, x, SQL_C_CHAR, _colbuf, _cblen, NULL);
|
SQLGetData(_stmt, x, SQL_C_CHAR, _colbuf, _cblen, &pcbValue);
|
||||||
|
|
||||||
if (name) {
|
if (name) {
|
||||||
arg->Set(String::NewFromUtf8(GetIsolate(), (const char *)name), String::NewFromUtf8(GetIsolate(), data ? (const char *)data : ""));
|
if (SQL_NULL_DATA == pcbValue) {
|
||||||
|
arg->Set(String::NewFromUtf8(GetIsolate(), (const char *)name), Null(info.GetIsolate()));
|
||||||
|
} else {
|
||||||
|
arg->Set(String::NewFromUtf8(GetIsolate(), (const char *)name), String::NewFromUtf8(GetIsolate(), data ? (const char *)data : ""));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue