Changeset: 146827d493c7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=146827d493c7
Modified Files:
        sql/server/rel_rel.c
        sql/server/rel_select.c
        sql/server/rel_updates.c
        sql/server/sql_tokens.h
        sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err
Branch: default
Log Message:

Small cleanup. Removed unused jt_union join.


diffs (195 lines):

diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c
--- a/sql/server/rel_rel.c
+++ b/sql/server/rel_rel.c
@@ -2057,12 +2057,10 @@ rel_visitor(mvc *sql, sql_rel *rel, rel_
                return sql_error(sql, 10, SQLSTATE(42000) "Query too complex: 
running out of stack space");
 
        if (!rel)
-               return rel;
+               return NULL;
 
-       if (topdown) {
-               if (!(rel = do_rel_visitor(sql, rel, rel_rewriter, changes, 
true)))
-                       return rel;
-       }
+       if (topdown && !(rel = do_rel_visitor(sql, rel, rel_rewriter, changes, 
true)))
+               return NULL;
 
        sql_rel *(*func)(mvc *, sql_rel *, rel_rewrite_fptr, int*) = topdown ? 
rel_visitor_topdown : rel_visitor_bottomup;
 
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -370,7 +370,7 @@ query_exp_optname(sql_query *query, sql_
                return rel_table_optname(sql, tq, q->data.lval->t->data.sym);
        }
        default:
-               (void) sql_error(sql, 02, SQLSTATE(42000) "case %d %s\n", 
q->token, token2string(q->token));
+               (void) sql_error(sql, 02, SQLSTATE(42000) "case %d %s", 
q->token, token2string(q->token));
        }
        return NULL;
 }
@@ -1492,9 +1492,8 @@ rel_convert_types(mvc *sql, sql_rel *ll,
                }
                *L = ls;
                *R = rs;
-               if (!ls || !rs) {
+               if (!ls || !rs)
                        return -1;
-               }
                return 0;
        }
        return -1;
@@ -1556,10 +1555,8 @@ rel_filter(mvc *sql, sql_rel *rel, list 
                }
                r = nexps;
        }
-       if (!f) {
+       if (!f)
                return sql_error(sql, 02, SQLSTATE(42000) "SELECT: no such 
FILTER function '%s'", filter_op);
-               return NULL;
-       }
        e = exp_filter(sql->sa, l, r, f, anti);
 
        /* atom or row => select */
@@ -4053,10 +4050,8 @@ rel_groupings(sql_query *query, sql_rel 
                                                if (!e)
                                                        return NULL;
                                                if (e->type != e_column) { /* 
store group by expressions in the stack */
-                                                       if 
(is_sql_group_totals(f)) {
-                                                               (void) 
sql_error(sql, 02, SQLSTATE(42000) "GROUP BY: grouping expressions not possible 
with ROLLUP, CUBE and GROUPING SETS");
-                                                               return NULL;
-                                                       }
+                                                       if 
(is_sql_group_totals(f))
+                                                               return 
sql_error(sql, 02, SQLSTATE(42000) "GROUP BY: grouping expressions not possible 
with ROLLUP, CUBE and GROUPING SETS");
                                                        if 
(!stack_push_groupby_expression(sql, grp, e))
                                                                return NULL;
                                                }
@@ -5147,7 +5142,6 @@ rel_table_exp(sql_query *query, sql_rel 
                if (!is_project((*rel)->op))
                        return NULL;
                r = rel_named_table_function( query, (*rel)->l, column_e, 0);
-       
                if (!r)
                        return NULL;
                *rel = r;
@@ -5195,9 +5189,8 @@ rel_table_exp(sql_query *query, sql_rel 
 sql_exp *
 rel_column_exp(sql_query *query, sql_rel **rel, symbol *column_e, int f)
 {
-       if (column_e->token == SQL_COLUMN || column_e->token == SQL_IDENT) {
+       if (column_e->token == SQL_COLUMN || column_e->token == SQL_IDENT)
                return column_exp(query, rel, column_e, f);
-       }
        return NULL;
 }
 
@@ -5362,7 +5355,7 @@ join_on_column_name(sql_query *query, sq
        node *n;
 
        nme = number2name(name, sizeof(name), nr);
-       if (!exps)
+       if (!exps || !r_exps)
                return NULL;
        for (n = exps->h; n; n = n->next) {
                sql_exp *le = n->data;
@@ -5681,9 +5674,6 @@ rel_joinquery_(sql_query *query, sql_rel
                l_nil = 1;
                r_nil = 1;
                break;
-       case jt_union:
-               /* fool compiler */
-               return NULL;
        }
 
        lateral = check_is_lateral(tab2);
@@ -5712,7 +5702,7 @@ rel_joinquery_(sql_query *query, sql_rel
                return NULL;
 
        if (!lateral && rel_name(t1) && rel_name(t2) && strcmp(rel_name(t1), 
rel_name(t2)) == 0) {
-               sql_error(sql, 02, SQLSTATE(42000) "SELECT: '%s' on both sides 
of the JOIN expression;", rel_name(t1));
+               sql_error(sql, 02, SQLSTATE(42000) "SELECT: '%s' on both sides 
of the JOIN expression", rel_name(t1));
                rel_destroy(t1);
                rel_destroy(t2);
                return NULL;
@@ -5723,12 +5713,10 @@ rel_joinquery_(sql_query *query, sql_rel
        if (lateral)
                set_dependent(inner);
 
-       if (js && natural) {
-               return sql_error(sql, 02, SQLSTATE(42000) "SELECT: cannot have 
a NATURAL JOIN with a join specification (ON or USING);");
-       }
-       if (!js && !natural) {
-               return sql_error(sql, 02, SQLSTATE(42000) "SELECT: must have 
NATURAL JOIN or a JOIN with a join specification (ON or USING);");
-       }
+       if (js && natural)
+               return sql_error(sql, 02, SQLSTATE(42000) "SELECT: cannot have 
a NATURAL JOIN with a join specification (ON or USING)");
+       if (!js && !natural)
+               return sql_error(sql, 02, SQLSTATE(42000) "SELECT: must have 
NATURAL JOIN or a JOIN with a join specification (ON or USING)");
 
        if (js && js->token != SQL_USING) {     /* On sql_logical_exp */
                rel = rel_logical_exp(query, rel, js, sql_where | sql_join);
@@ -5746,7 +5734,7 @@ rel_joinquery_(sql_query *query, sql_rel
                        sql_exp *rs = rel_bind_column(sql, t2, nm, sql_where, 
0);
 
                        if (!ls || !rs) {
-                               sql_error(sql, 02, SQLSTATE(42000) "JOIN: 
tables '%s' and '%s' do not have a matching column '%s'\n", 
rel_name(t1)?rel_name(t1):"", rel_name(t2)?rel_name(t2):"", nm);
+                               sql_error(sql, 02, SQLSTATE(42000) "JOIN: 
tables '%s' and '%s' do not have a matching column '%s'", 
rel_name(t1)?rel_name(t1):"", rel_name(t2)?rel_name(t2):"", nm);
                                rel_destroy(rel);
                                return NULL;
                        }
@@ -5872,7 +5860,7 @@ rel_unionjoinquery(sql_query *query, sql
        for (m = lexps->h; m; m = m->next) {
                sql_exp *le = m->data;
                sql_exp *rc = rel_bind_column(sql, rv, exp_name(le), sql_where, 
0);
-                       
+
                if (!rc && all)
                        break;
                if (rc) {
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -1582,10 +1582,8 @@ rel_import(mvc *sql, sql_table *t, const
                        fwf_string_cur += sprintf(fwf_string_cur, LLFMT"%c", 
dn->data.l_val, STREAM_FWF_FIELD_SEP);
                        ncol++;
                }
-               if(list_length(f->res) != ncol) {
-                       (void) sql_error(sql, 02, SQLSTATE(3F000) "COPY INTO: 
fixed width import for %d columns but %d widths given.", list_length(f->res), 
ncol);
-                       return NULL;
-               }
+               if (list_length(f->res) != ncol)
+                       return sql_error(sql, 02, SQLSTATE(3F000) "COPY INTO: 
fixed width import for %d columns but %d widths given.", list_length(f->res), 
ncol);
                *fwf_string_cur = '\0';
        }
 
diff --git a/sql/server/sql_tokens.h b/sql/server/sql_tokens.h
--- a/sql/server/sql_tokens.h
+++ b/sql/server/sql_tokens.h
@@ -182,8 +182,7 @@ typedef enum jt {
        jt_inner = 0,
        jt_left = 1,
        jt_right = 2,
-       jt_full = 3,
-       jt_union = 4
+       jt_full = 3
 } jt;
 
 #endif
diff --git a/sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err 
b/sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err
--- a/sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err
+++ b/sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err
@@ -12,11 +12,11 @@ stderr of test 'ambiguous_join.SF-158056
 
 MAPI  = (monetdb) /var/tmp/mtest-27483/.s.monetdb.35395
 QUERY = select * from B left join B on B.id = B.id;
-ERROR = !SELECT: 'b' on both sides of the JOIN expression;
+ERROR = !SELECT: 'b' on both sides of the JOIN expression
 CODE  = 42000
 MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
 QUERY = select * from A, B left join B on B.id = A.id;
-ERROR = !SELECT: 'b' on both sides of the JOIN expression;
+ERROR = !SELECT: 'b' on both sides of the JOIN expression
 CODE  = 42000
 MAPI  = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685
 QUERY = select * from A, B left join B as b2 on B.id = A.id;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to