Skip to content
Snippets Groups Projects
Commit 7525072c authored by Stephen R. van den Berg's avatar Stephen R. van den Berg
Browse files

pgsql: Autoconvert to UTF-8 for types as CITEXT.

parent c712594b
No related branches found
No related tags found
No related merge requests found
......@@ -1233,7 +1233,7 @@ class sql_result {
plugbuffer->add_int32(-1);
break;
}
if (!objectp(value) || typeof(value) != typeof(Stdio.Buffer()));
if (!objectp(value) || typeof(value) != typeof(Stdio.Buffer()))
/*
* Like Oracle and SQLite, we accept literal binary values
* from single-valued multisets.
......@@ -1242,20 +1242,20 @@ class sql_result {
value = indices(value)[0];
else {
value = (string)value;
if (String.width(value) > 8)
if (dtoid[i] == BYTEAOID)
if (cenc == UTF8CHARSET
&& (dtoid[i] != BYTEAOID || String.width(value) > 8))
/*
* FIXME We should throw an error here, it would
* have been correct, but for historical reasons and
* as a DWIM convenience we autoconvert to UTF8 here.
* FIXME For BYTEAOID and wide strings we should
* throw an error here, but for historical reasons and
* as a DWIM convenience we autoconvert to UTF8 anyway.
*/
value = string_to_utf8(value);
else {
SUSERERROR(
"Wide string %O not supported for type OID %d\n",
value, dtoid[i]);
value = "";
}
value = string_to_utf8(value);
else if (String.width(value) > 8) {
SUSERERROR(
"Wide string %O not supported for type OID %d\n",
value, dtoid[i]);
value = "";
}
}
plugbuffer->add_hstring(value, 4);
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment