Changeset: f09899da130e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f09899da130e
Modified Files:
        sql/backends/monet5/sql_scenario.c
Branch: Apr2019
Log Message:

Don't truncate error message + removed unused code.


diffs (54 lines):

diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1340,25 +1340,12 @@ SQLCacheRemove(Client c, str nme)
 }
 
 str
-SQLcallback(Client c, str msg){
-       char newerr[1024];
+SQLcallback(Client c, str msg)
+{
+       char *newerr;
 
-       if (msg && (strstr(msg, "MALexception") || strstr(msg,"GDKexception"))) 
{
-               // massage the error to comply with SQL
-               char *s;
-               s = strchr(msg, ':');
-               if (s) {
-                       s++;
-                       if (s - msg >= (ptrdiff_t) sizeof(newerr))
-                               s = msg + sizeof(newerr) - 1;
-                       strncpy(newerr, msg, s - msg);
-                       newerr[s-msg] = 0;
-                       snprintf(newerr + (s-msg), sizeof(newerr) -(s-msg), 
SQLSTATE(HY020) "%s",s);
-                       freeException(msg);
-                       msg = GDKstrdup(newerr);
-               }
-       }
-       if (msg) {
+       if (msg &&
+           (newerr = GDKmalloc(strlen(msg) + 1)) != NULL) {
                /* remove exception decoration */
                char *m, *n, *p, *s;
                size_t l;
@@ -1374,17 +1361,15 @@ SQLcallback(Client c, str msg){
                        } else {
                                l = strlen(s);
                        }
-                       if (p + l >= newerr + sizeof(newerr))
-                               l = newerr + sizeof(newerr) - p - 1;
                        memcpy(p, s, l);
                        p += l;
                        m = n;
                }
                *p = 0;
                freeException(msg);
-               msg = GDKstrdup(newerr);
+               msg = GDKrealloc(newerr, strlen(newerr) + 1);
        }
-       return MALcallback(c,msg);
+       return MALcallback(c, msg);
 }
 
 str
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to