Changeset: 136f90bd2787 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=136f90bd2787
Modified Files:
        sql/backends/monet5/sql.c
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
Branch: Nov2019
Log Message:

Don't stack error codes


diffs (149 lines):

diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -310,18 +310,18 @@ create_table_or_view(mvc *sql, char* sna
                        list *id_l;
 
                        sql->sa = sa_create();
-                       if(!sql->sa) {
+                       if (!sql->sa) {
                                sql->sa = osa;
                                throw(SQL, "sql.catalog",SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
                        }
                        buf = sa_alloc(sql->sa, strlen(c->def) + 8);
-                       if(!buf) {
+                       if (!buf) {
                                sa_destroy(sql->sa);
                                sql->sa = osa;
                                throw(SQL, "sql.catalog",SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
                        }
                        typestr = subtype2string2(&c->type);
-                       if(!typestr) {
+                       if (!typestr) {
                                sa_destroy(sql->sa);
                                sql->sa = osa;
                                throw(SQL, "sql.catalog",SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
@@ -331,11 +331,14 @@ create_table_or_view(mvc *sql, char* sna
                        r = rel_parse(sql, s, buf, m_deps);
                        if (!r || !is_project(r->op) || !r->exps || 
list_length(r->exps) != 1 ||
                                rel_check_type(sql, &c->type, r, 
r->exps->h->data, type_equal) == NULL) {
-                               if(r)
+                               if (r)
                                        rel_destroy(r);
                                sa_destroy(sql->sa);
                                sql->sa = osa;
-                               throw(SQL, "sql.catalog", SQLSTATE(42000) "%s", 
sql->errstr);
+                               if (strlen(sql->errstr) > 6 && sql->errstr[5] 
== '!')
+                                       throw(SQL, "sql.catalog", "%s", 
sql->errstr);
+                               else 
+                                       throw(SQL, "sql.catalog", 
SQLSTATE(42000) "%s", sql->errstr);
                        }
                        id_l = rel_dependencies(sql, r);
                        mvc_create_dependencies(sql, id_l, nt->base.id, 
FUNC_DEPENDENCY);
@@ -352,16 +355,16 @@ create_table_or_view(mvc *sql, char* sna
                        sql->sa = osa;
                        throw(SQL, "sql.catalog", SQLSTATE(42000) "CREATE 
TABLE: %s_%s_%s conflicts", s->base.name, t->base.name, c->base.name);
                }
-               if(isPartitionedByColumnTable(t) && c->base.id == 
t->part.pcol->base.id)
+               if (isPartitionedByColumnTable(t) && c->base.id == 
t->part.pcol->base.id)
                        nt->part.pcol = copied;
        }
-       if(isPartitionedByExpressionTable(t)) {
+       if (isPartitionedByExpressionTable(t)) {
                char *err = NULL;
 
                nt->part.pexp->exp = sa_strdup(sql->session->tr->sa, 
t->part.pexp->exp);
 
                sql->sa = sa_create();
-               if(!sql->sa) {
+               if (!sql->sa) {
                        sql->sa = osa;
                        throw(SQL, "sql.catalog",SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
                }
@@ -369,16 +372,16 @@ create_table_or_view(mvc *sql, char* sna
                err = bootstrap_partition_expression(sql, sql->session->tr->sa, 
nt, 1);
                sa_destroy(sql->sa);
                sql->sa = NULL;
-               if(err) {
+               if (err) {
                        sql->sa = osa;
                        return err;
                }
        }
        check = sql_trans_set_partition_table(sql->session->tr, nt);
-       if(check == -1) {
+       if (check == -1) {
                sql->sa = osa;
                throw(SQL, "sql.catalog", SQLSTATE(42000) "CREATE TABLE: %s_%s: 
the partition's expression is too long", s->base.name, t->base.name);
-       } else if(check) {
+       } else if (check) {
                sql->sa = osa;
                throw(SQL, "sql.catalog", SQLSTATE(42000) "CREATE TABLE: %s_%s: 
an internal error occurred", s->base.name, t->base.name);
        }
@@ -403,7 +406,7 @@ create_table_or_view(mvc *sql, char* sna
                        err = sql_partition_validate_key(sql, nt, k, "CREATE");
                        sa_destroy(sql->sa);
                        sql->sa = NULL;
-                       if(err) {
+                       if (err) {
                                sql->sa = osa;
                                return err;
                        }
@@ -427,7 +430,7 @@ create_table_or_view(mvc *sql, char* sna
                sql_rel *r = NULL;
 
                sql->sa = sa_create();
-               if(!sql->sa) {
+               if (!sql->sa) {
                        sql->sa = osa;
                        throw(SQL, "sql.catalog",SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
                }
diff --git 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err
 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err
--- 
a/sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err
+++ 
b/sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err
@@ -12,7 +12,7 @@ stderr of test 'default_next_value_for_n
 
 MAPI  = (monetdb) /var/tmp/mtest-27483/.s.monetdb.35395
 QUERY = create table test1246631( i int default next value for non_ex_seq);
-ERROR = !42000!NEXT VALUE FOR: no such sequence 'sys'.'non_ex_seq'
+ERROR = !NEXT VALUE FOR: no such sequence 'sys'.'non_ex_seq'
 CODE  = 42000
 MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
 QUERY = insert into test1246631;
diff --git 
a/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err 
b/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err
--- a/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err
+++ b/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err
@@ -34,7 +34,7 @@ ERROR = !types timetz(7,0) and timestamp
 CODE  = 42000
 MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
 QUERY = create table d(t timestamp default current_time, i integer);
-ERROR = !42000!types timetz(7,0) and timestamp(7,0) are not equal
+ERROR = !types timetz(7,0) and timestamp(7,0) are not equal
 CODE  = 42000
 
 # 14:58:53 >  
diff --git 
a/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out 
b/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
--- a/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
+++ b/sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.out
@@ -63,8 +63,8 @@ stdout of test 'current_timestamp.Bug-34
 #insert into x(i,t) values(0,now());
 [ 1    ]
 #select i, tn, td - t, tc - t from x;
-% sys.x,       sys.x,  sys.L4, sys.L6 # table_name
-% i,   tn,     L4,     L6 # name
+% sys.x,       sys.x,  sys.L1, sys.L2 # table_name
+% i,   tn,     L1,     L2 # name
 % int, timestamp,      sec_interval,   sec_interval # type
 % 1,   26,     5,      5 # length
 [ 0,   NULL,   0.000,  0.000   ]
@@ -78,8 +78,8 @@ stdout of test 'current_timestamp.Bug-34
 #insert into x(i,t) values(0,now());
 [ 1    ]
 #select i, tn, td - t, tc - t from x;
-% sys.x,       sys.x,  sys.L4, sys.L6 # table_name
-% i,   tn,     L4,     L6 # name
+% sys.x,       sys.x,  sys.L1, sys.L2 # table_name
+% i,   tn,     L1,     L2 # name
 % int, time,   sec_interval,   sec_interval # type
 % 1,   8,      5,      5 # length
 [ 0,   NULL,   0.000,  0.000   ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to