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