Changeset: c25bdb00be23 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c25bdb00be23
Modified Files:
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
Branch: Dec2016
Log Message:

grow the message buffer when a large number of arguments is needed


diffs (31 lines):

diff --git a/sql/backends/monet5/sql_execute.c 
b/sql/backends/monet5/sql_execute.c
--- a/sql/backends/monet5/sql_execute.c
+++ b/sql/backends/monet5/sql_execute.c
@@ -841,13 +841,9 @@ RAstatement2(Client cntxt, MalBlkPtr mb,
        }
        refs = sa_list(m->sa);
        rel = rel_read(m, *expr, &pos, refs);
-       if (!rel)
+       if (!rel || monet5_create_relational_function(m, *mod, *nme, rel, 
stmt_list(m->sa, ops), 0) < 0)
                throw(SQL, "sql.register", "Cannot register %s", buf);
-       if (rel) {
-               monet5_create_relational_function(m, *mod, *nme, rel, 
stmt_list(m->sa, ops), 0);
-               rel_destroy(rel);
-       }
+       rel_destroy(rel);
        sqlcleanup(m, 0);
        return msg;
 }
-
diff --git a/sql/backends/monet5/sql_gencode.c 
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -658,6 +658,8 @@ static int
                        sql_subtype *t = tail_type(op);
                        const char *nme = 
(op->op3)?op->op3->op4.aval->data.val.sval:op->cname;
 
+                       if ((nr + 100) > len)
+                               buf = GDKrealloc(buf, len*=2);
                        nr += snprintf(buf+nr, len-nr, "%s %s(%u,%u)%c", nme, 
t->type->sqlname, t->digits, t->scale, n->next?',':' ');
                }
                s = buf;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to