Changeset: 514d8e569538 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/514d8e569538
Modified Files:
sql/server/sql_scan.c
sql/test/copy/Tests/nonutf8.test
Branch: Dec2023
Log Message:
Improve error propagation.
diffs (29 lines):
diff --git a/sql/server/sql_scan.c b/sql/server/sql_scan.c
--- a/sql/server/sql_scan.c
+++ b/sql/server/sql_scan.c
@@ -1498,7 +1498,12 @@ sql_get_next_token(YYSTYPE *yylval, void
if (GDKstrFromStr((unsigned char *) str,
(unsigned char *)
yylval->sval + 2,
lc->yycur-lc->yysval
- 2, '\'') < 0) {
- sql_error(c, 1, SQLSTATE(42000) "%s",
GDKerrbuf);
+ char *err = GDKerrbuf;
+ if (strncmp(err, GDKERROR, strlen(GDKERROR)) ==
0)
+ err += strlen(GDKERROR);
+ else if (*err == '!')
+ err++;
+ sql_error(c, 1, SQLSTATE(42000) "%s", err);
return LEX_ERROR;
}
quote = '\'';
diff --git a/sql/test/copy/Tests/nonutf8.test b/sql/test/copy/Tests/nonutf8.test
--- a/sql/test/copy/Tests/nonutf8.test
+++ b/sql/test/copy/Tests/nonutf8.test
@@ -1,7 +1,7 @@
statement ok
create table nonutf8 (s string)
-statement error !ERROR: GDKstrFromStr: not a proper UTF-8 sequence
+statement error GDKstrFromStr: not a proper UTF-8 sequence
insert into nonutf8 values
(E'\x7A\x77\x61\x61\x72\x20\x6C\x61\x6E\x67\x65\x20\x67\x6F\x6C\x66\x20\x70\x69\x65\x6B\x20\x2D\x64\x61\x6C\x20\xB1\x31\x30\x63\x6D\x20\x76\x61\x6B\x35')
statement error Failed to import table 'nonutf8', line 1: column 1 s: 'clob'
expected in
'\x7A\x77\x61\x61\x72\x20\x6C\x61\x6E\x67\x65\x20\x67\x6F\x6C\x66\x20\x70\x69\x65\x6B\x20\x2D\x64\x61\x6C\x20\xB1\x31\x30\x63\x6D\x20\x76\x61\x6B\x35\x0A\xB1\x31\x37\x20\x25'
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]