Changeset: b4f90020ff3f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b4f90020ff3f
Modified Files:
        configure.ag
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/common/sql_types.c
        sql/common/sql_types.h
        sql/server/rel_select.c
        sql/server/rel_unnest.c
        sql/server/sql_partition.c
        sql/storage/bat/bat_storage.c
        sql/storage/sql_storage.h
        sql/storage/store.c
        sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
        sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
        sql/test/subquery/Tests/subquery3.sql
        sql/test/subquery/Tests/subquery3.stable.err
        sql/test/subquery/Tests/subquery3.stable.out
Branch: default
Log Message:

Merged with linear-hashing


diffs (truncated from 1068 to 300 lines):

diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -1147,7 +1147,7 @@ AS_VAR_IF([have_bz2], [no], [], [
                [AC_SUBST([PKG_BZIP2], [bzip2])])
        AS_VAR_IF([have_bz2], [yes],
                [AC_DEFINE([HAVE_LIBBZ2], 1, [Define if you have the bz2 
library])])])
-AM_CONDITIONAL([HAVE_LIBBZ2], [test x"$have_libbz2" != xno])
+AM_CONDITIONAL([HAVE_LIBBZ2], [test x"$have_bz2" != xno])
 
 
 
@@ -1556,12 +1556,12 @@ AC_ARG_WITH([lzma],
                [include lzma support (default=yes)])],
        [have_lzma=$withval])
 AS_VAR_IF([have_lzma], [no], [], [
-       PKG_CHECK_MODULES([liblzma], [liblzma], [have_liblzma=yes], 
[have_liblzma=no; why_not_liblzma="(liblzma not found, install xz-libs and 
xz-devel)"])
-       AS_VAR_IF([have_liblzma], [yes], [
+       PKG_CHECK_MODULES([liblzma], [liblzma], [have_lzma=yes], [have_lzma=no; 
why_not_liblzma="(liblzma not found, install xz-libs and xz-devel)"])
+       AS_VAR_IF([have_lzma], [yes], [
                AC_SUBST([PKG_LIBLZMA], [liblzma])])
-       AS_VAR_IF([have_liblzma], [yes], [
+       AS_VAR_IF([have_lzma], [yes], [
                AC_DEFINE([HAVE_LIBLZMA], 1, [Define if you have the lzma 
library])])])
-AM_CONDITIONAL([HAVE_LIBLZMA], [test x"$have_liblzma" != xno])
+AM_CONDITIONAL([HAVE_LIBLZMA], [test x"$have_lzma" != xno])
 
 org_have_valgrind=no
 have_valgrind=$org_have_valgrind
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -1694,10 +1694,11 @@ rel2bin_table(backend *be, sql_rel *rel,
                nme = number2name(name, sizeof(name), ++sql->remote);
 
                l = rel2bin_args(be, rel->l, sa_list(sql->sa));
-               if(!l)
+               if (!l)
                        return NULL;
                sub = stmt_list(be, l);
-               sub = stmt_func(be, sub, sa_strdup(sql->sa, nme), rel->l, 0);
+               if (!(sub = stmt_func(be, sub, sa_strdup(sql->sa, nme), rel->l, 
0)))
+                       return NULL;
                fr = rel->l;
                l = sa_list(sql->sa);
                for(i = 0, n = rel->exps->h; n; n = n->next, i++ ) {
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
@@ -953,7 +953,7 @@ RAstatement2(Client cntxt, MalBlkPtr mb,
        if (rel)
                rel = sql_processrelation(m, rel, 0);
        if (!rel || monet5_create_relational_function(m, *mod, *nme, rel, NULL, 
ops, 0) < 0)
-               throw(SQL, "sql.register", SQLSTATE(42000) "Cannot register 
%s", buf);
+               throw(SQL, "sql.register", SQLSTATE(42000) "Cannot register %s: 
%s", buf, m->errstr);
        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
@@ -145,15 +145,19 @@ static int
 
        backup = c->curprg;
        curPrg = c->curprg = newFunction(putName(mod), putName(name), 
FUNCTIONsymbol);
-       if( curPrg == NULL)
+       if( curPrg == NULL) {
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
+       }
 
        curBlk = c->curprg->def;
        curInstr = getInstrPtr(curBlk, 0);
 
        curInstr = relational_func_create_result(m, curBlk, curInstr, r);
-       if( curInstr == NULL)
+       if( curInstr == NULL) {
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
+       }
        setVarUDFtype(curBlk, 0);
 
        /* ops */
@@ -235,6 +239,7 @@ static int
                        c->curprg->def->errors = msg;
        }
        if (c->curprg->def->errors) {
+               sql_error(m, 003, SQLSTATE(42000) "Internal error while 
compiling statement: %s", c->curprg->def->errors);
                freeSymbol(curPrg);
                res = -1;
        }
@@ -252,17 +257,14 @@ rel2str( mvc *sql, sql_rel *rel)
        char *res = NULL;
 
        b = buffer_create(1024);
-       if(b == NULL) {
-               goto cleanup;
-       }
-       s = buffer_wastream(b, "rel_dump");
-       if(s == NULL) {
+       if(b == NULL)
                goto cleanup;
-       }
+       s = buffer_wastream(b, "rel_dump");
+       if(s == NULL)
+               goto cleanup;
        refs = sa_list(sql->sa);
-       if (!refs) {
+       if (!refs)
                goto cleanup;
-       }
 
        rel_print_refs(sql, s, rel, 0, refs, 0);
        rel_print_(sql, s, rel, 0, refs, 0);
@@ -292,25 +294,31 @@ static int
        char *lname;
        sql_rel *r = rel;
 
-       if(local_tbl == NULL)
+       if (local_tbl == NULL) {
+               sql_error(m, 003, SQLSTATE(42000) "Missing property on the 
input relation");
                return -1;
+       }
 
        lname = GDKstrdup(name);
-       if(lname == NULL)
+       if (lname == NULL) {
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
+       }
 
        if (is_topn(r->op))
                r = r->l;
        if (!is_project(r->op))
                r = rel_project(m->sa, r, rel_projections(m, r, NULL, 1, 1));
        lret = SA_NEW_ARRAY(m->sa, int, list_length(r->exps));
-       if(lret == NULL) {
+       if (lret == NULL) {
                GDKfree(lname);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
        rret = SA_NEW_ARRAY(m->sa, int, list_length(r->exps));
-       if(rret == NULL) {
+       if (rret == NULL) {
                GDKfree(lname);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
 
@@ -319,6 +327,7 @@ static int
        c->curprg = newFunction(putName(mod), putName(name), FUNCTIONsymbol);
        if( c->curprg == NULL) {
                GDKfree(lname);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
        lname[0] = 'l';
@@ -328,6 +337,7 @@ static int
        curInstr = relational_func_create_result(m, curBlk, curInstr, rel);
        if( curInstr == NULL) {
                GDKfree(lname);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
        setVarUDFtype(curBlk, 0);
@@ -396,12 +406,14 @@ static int
        char *s, *buf = GDKmalloc(len);
        if (!buf) {
                GDKfree(lname);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
        s = rel2str(m, rel);
        if (!s) {
                GDKfree(lname);
                GDKfree(buf);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
        o = newFcnCall(curBlk, remoteRef, putRef);
@@ -438,6 +450,7 @@ static int
                GDKfree(buf);
        } else {
                GDKfree(lname);
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
        }
        }
@@ -451,6 +464,7 @@ static int
                if (lsupervisor_session == NULL || rsupervisor_session == NULL) 
{
                        GDKfree(lsupervisor_session);
                        GDKfree(rsupervisor_session);
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
                }
 
@@ -458,6 +472,7 @@ static int
                if (rworker_plan_uuid == NULL) {
                        GDKfree(rsupervisor_session);
                        GDKfree(lsupervisor_session);
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
                }
                str lworker_plan_uuid = GDKstrdup(rworker_plan_uuid);
@@ -465,6 +480,7 @@ static int
                        free(rworker_plan_uuid);
                        GDKfree(lsupervisor_session);
                        GDKfree(rsupervisor_session);
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
                }
 
@@ -577,8 +593,10 @@ static int
        // (str) chkProgram(c->usermodule, c->curprg->def);
        if (!c->curprg->def->errors)
                c->curprg->def->errors = SQLoptimizeFunction(c, c->curprg->def);
-       if (c->curprg->def->errors)
+       if (c->curprg->def->errors) {
+               sql_error(m, 003, SQLSTATE(42000) "Internal error while 
compiling statement: %s", c->curprg->def->errors);
                res = -1;
+       }
        if (backup)
                c->curprg = backup;
        GDKfree(lname);         /* make sure stub is called */
@@ -608,6 +626,7 @@ sql_relation2stmt(backend *be, sql_rel *
        stmt *s = NULL;
 
        if (!r) {
+               sql_error(c, 003, SQLSTATE(42000) "Missing relation to convert 
into statements");
                return NULL;
        } else {
                if (c->emode == m_plan) {
@@ -622,7 +641,7 @@ sql_relation2stmt(backend *be, sql_rel *
 int
 backend_dumpstmt(backend *be, MalBlkPtr mb, sql_rel *r, int top, int add_end, 
const char *query)
 {
-       mvc *c = be->mvc;
+       mvc *m = be->mvc;
        InstrPtr q, querylog = NULL;
        int old_mv = be->mvc_var;
        MalBlkPtr old_mb = be->mb;
@@ -636,6 +655,7 @@ backend_dumpstmt(backend *be, MalBlkPtr 
 
                querylog = q = newStmt(mb, querylogRef, defineRef);
                if (q == NULL) {
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
                }
                setVarType(mb, getArg(q, 0), TYPE_void);
@@ -643,6 +663,7 @@ backend_dumpstmt(backend *be, MalBlkPtr 
                q = pushStr(mb, q, query);
                q = pushStr(mb, q, getSQLoptimizer(be->mvc));
                if (q == NULL) {
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
                }
 
@@ -662,8 +683,10 @@ backend_dumpstmt(backend *be, MalBlkPtr 
 
        /* announce the transaction mode */
        q = newStmt(mb, sqlRef, "mvc");
-       if (q == NULL)
+       if (q == NULL) {
+               sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                return -1;
+       }
        be->mvc_var = getDestVar(q);
        be->mb = mb;
        s = sql_relation2stmt(be, r);
@@ -675,16 +698,20 @@ backend_dumpstmt(backend *be, MalBlkPtr 
 
        be->mvc_var = old_mv;
        be->mb = old_mb;
-       if (top && !be->depth && (c->type == Q_SCHEMA || c->type == Q_TRANS)) {
+       if (top && !be->depth && (m->type == Q_SCHEMA || m->type == Q_TRANS)) {
                q = newStmt(mb, sqlRef, exportOperationRef);
-               if (q == NULL)
+               if (q == NULL) {
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
+               }
        }
        /* generate a dummy return assignment for functions */
        if (getArgType(mb, getInstrPtr(mb, 0), 0) != TYPE_void && 
getInstrPtr(mb, mb->stop - 1)->barrier != RETURNsymbol) {
                q = newAssignment(mb);
-               if (q == NULL)
+               if (q == NULL) {
+                       sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL);
                        return -1;
+               }
                getArg(q, 0) = getArg(getInstrPtr(mb, 0), 0);
                q->barrier = RETURNsymbol;
        }
@@ -713,8 +740,10 @@ backend_callinline(backend *be, Client c
                        int varid = 0;
 
                        curInstr = newAssignment(curBlk);
-                       if (curInstr == NULL)
+                       if (curInstr == NULL) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to