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 -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to