Changeset: 40a9865349b9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=40a9865349b9
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/server/rel_psm.c
        sql/server/rel_select.c
        sql/server/sql_parser.h
        sql/server/sql_parser.y
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out.int128
Branch: Mar2018
Log Message:

Backed out changeset bee93cbacfa0: fix is not ready for prime time.
Not backing out in default branch.


diffs (truncated from 303 to 300 lines):

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
@@ -1956,12 +1956,11 @@ rel2bin_semijoin(backend *be, sql_rel *r
         *      second selects/filters 
         */
        if (rel->exps && rel->op == op_anti && need_no_nil(rel)) {
-               sql_subtype *lng = sql_bind_localtype("lng");
-               stmt *nilcnt = NULL;
+               list *l;
+               stmt *sel = NULL;
 
                for( en = rel->exps->h; en; en = en->next ) {
                        sql_exp *e = en->data, *r, *l;
-                       stmt *s;
 
                        if (e->type != e_cmp || e->flag != cmp_equal)
                                break;
@@ -1969,33 +1968,28 @@ rel2bin_semijoin(backend *be, sql_rel *r
                        r = e->r;
 
                        /* for each equality join add a rel_select(r is NULL) */
-                       s = exp_bin(be, r, right, NULL, NULL, NULL, NULL, NULL);
+                       stmt *s = exp_bin(be, r, right, NULL, NULL, NULL, NULL, 
NULL);
                        if (!s)
                                s = exp_bin(be, l, right, NULL, NULL, NULL, 
NULL, NULL);
                        if (s && !exp_is_atom(r)) {
+                               sql_subtype *lng = sql_bind_localtype("lng");
                                sql_subaggr *cnt = sql_bind_aggr(sql->sa, 
sql->session->schema, "count", NULL);
-                               sql_subfunc *add = 
sql_bind_func_result(sql->sa, sql->session->schema, "sql_add", lng, lng, lng);
-
+                               sql_subtype *bt = sql_bind_localtype("bit");
+                               sql_subfunc *ne = sql_bind_func_result(sql->sa, 
sql->session->schema, "<>", lng, lng, bt);
+
+                               stmt *l;
                                s = stmt_selectnil(be, s);
-                               s = stmt_aggr(be, s, NULL, NULL, cnt, 1, 0, 1);
-                               if (nilcnt) {
-                                       nilcnt = stmt_binop(be, nilcnt, s, add);
-                               } else {
-                                       nilcnt = s;
-                               }
+                               s = stmt_binop(be, stmt_aggr(be, s, NULL, NULL, 
cnt, 1, 0, 1), stmt_atom_lng(be, 0), ne);
+
+                               l = bin_first_column(be, left);
+                               /* keep if no nulls are in the right side */
+                               l = stmt_const(be, l, stmt_bool(be,0));
+                               sel = stmt_uselect(be, l, s, cmp_equal, sel, 0);
                        }
+
                }
-               if (nilcnt) {
-                       sql_subtype *bt = sql_bind_localtype("bit");
-                       sql_subfunc *ne = sql_bind_func_result(sql->sa, 
sql->session->schema, "<>", lng, lng, bt);
-                       stmt *ls = bin_first_column(be, left), *s, *sel;
-                       list *l;
-
-                       s = stmt_binop(be, nilcnt, stmt_atom_lng(be, 0), ne);
-                       /* keep if no nulls are in the right side */
-                       ls = stmt_const(be, ls, stmt_bool(be,0));
-                       sel = stmt_uselect(be, ls, s, cmp_equal, NULL, 0);
-                       l = sa_list(sql->sa);
+               l = sa_list(sql->sa);
+               if (left && sel) {
                        for( n = left->op4.lval->h; n; n = n->next ) {
                                stmt *col = n->data;
        
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -627,7 +627,6 @@ sequential_block (mvc *sql, sql_subtype 
                case SQL_DECLARE:
                        reslist = rel_psm_declare(sql, s->data.lval->h);
                        break;
-               case SQL_DECLARE_TABLE:
                case SQL_CREATE_TABLE: 
                        res = rel_psm_declare_table(sql, s->data.lval->h);
                        break;
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
@@ -2539,26 +2539,6 @@ rel_logical_exp(mvc *sql, sql_rel *rel, 
                        ek.card = card_set;
                        select = rel_select(sql->sa, rel_dup(rel), NULL); /* 
dup to make sure we get a new select op */
                        rel_destroy(rel);
-                       /* first remove the NULLs */
-                       if (!l_is_value && sc->token == SQL_NOT_IN &&
-                           l->card != CARD_ATOM && has_nil(l)) {
-                               sql_exp *ol;
-
-                               if (l->type != e_column) {
-                                       pexps = rel_projections(sql, rel, NULL, 
1, 1);
-                                       rel = rel_project(sql->sa, rel, 
rel_projections(sql, rel, NULL, 1, 1));
-                                       select->l = rel;
-                                       l = exp_label(sql->sa, l, ++sql->label);
-                                       append(rel->exps, l);
-                                       ol = l;
-                                       l = exp_column(sql->sa, 
exp_relname(ol), exp_name(ol), exp_subtype(ol), ol->card, has_nil(ol), 
is_intern(ol));
-                               }                       
-                               e = rel_unop_(sql, l, NULL, "isnull", 
card_value);
-                               e = exp_compare(sql->sa, e, 
exp_atom_bool(sql->sa, 0), cmp_equal);
-                               rel_select_add_exp(sql->sa, select, e);
-                               if (pexps)
-                                       l = exp_column(sql->sa, 
exp_relname(ol), exp_name(ol), exp_subtype(ol), ol->card, has_nil(ol), 
is_intern(ol));
-                       }
                        rel = left = select;
 
                        append(ll, l);
diff --git a/sql/server/sql_parser.h b/sql/server/sql_parser.h
--- a/sql/server/sql_parser.h
+++ b/sql/server/sql_parser.h
@@ -49,7 +49,6 @@ typedef enum tokens {
        SQL_DROP_DEFAULT,
        SQL_ANALYZE,
        SQL_DECLARE,
-       SQL_DECLARE_TABLE,
        SQL_COMMENT,
        SQL_SET,
        SQL_CALL,
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -768,7 +768,7 @@ opt_minmax:
 declare_statement:
        declare variable_list
                { $$ = _symbol_create_list( SQL_DECLARE, $2); }
-    |   declare table_def { $$ = $2; if ($$) $$->token = SQL_DECLARE_TABLE; }
+    |   declare table_def { $$ = $2; }
     ;
 
 variable_list:
@@ -6176,7 +6176,6 @@ char *token2string(int token)
        SQL(DROP_CONSTRAINT);
        SQL(DROP_DEFAULT);
        SQL(DECLARE);
-       SQL(DECLARE_TABLE);
        SQL(COMMENT);
        SQL(SET);
        SQL(PREP);
diff --git a/sql/test/Dependencies/Tests/Dependencies.stable.out 
b/sql/test/Dependencies/Tests/Dependencies.stable.out
--- a/sql/test/Dependencies/Tests/Dependencies.stable.out
+++ b/sql/test/Dependencies/Tests/Dependencies.stable.out
@@ -632,9 +632,9 @@ Cleanup
 [ "functions", "dependency_functions_on_views",        "DEP_VIEW"      ]
 [ "users",     "dependency_schemas_on_users",  "DEP_VIEW"      ]
 [ "schemas",   "dependency_schemas_on_users",  "DEP_VIEW"      ]
-[ "tables",    "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "functions", "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "dependencies",      "dependency_tables_on_functions",       "DEP_VIEW"      
]
-[ "functions", "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "tables",    "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "functions", "dependency_views_on_functions",        "DEP_VIEW"      ]
 [ "dependencies",      "dependency_views_on_functions",        "DEP_VIEW"      
]
 [ "tables",    "dependency_views_on_functions",        "DEP_VIEW"      ]
@@ -657,16 +657,16 @@ Cleanup
 [ "tables",    "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "keys",      "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "columns",   "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "idxs",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "tables",    "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "objects",   "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "tables",    "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "idxs",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "keys",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "keys",      "dependency_tables_on_foreignkeys",     "DEP_VIEW"      ]
 [ "tables",    "dependency_tables_on_foreignkeys",     "DEP_VIEW"      ]
 [ "keys",      "dependency_keys_on_foreignkeys",       "DEP_VIEW"      ]
-[ "tables",    "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "functions", "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "dependencies",      "dependency_tables_on_procedures",      "DEP_VIEW"      
]
-[ "functions", "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "tables",    "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "functions", "dependency_views_on_procedures",       "DEP_VIEW"      ]
 [ "dependencies",      "dependency_views_on_procedures",       "DEP_VIEW"      
]
 [ "tables",    "dependency_views_on_procedures",       "DEP_VIEW"      ]
@@ -838,11 +838,11 @@ Cleanup
 [ "id",        "dependency_schemas_on_users",  "DEP_VIEW"      ]
 [ "name",      "dependency_schemas_on_users",  "DEP_VIEW"      ]
 [ "id",        "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "name",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "type",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "id",        "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "depend_id", "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "depend_type",       "dependency_tables_on_functions",       "DEP_VIEW"      
]
-[ "id",        "dependency_tables_on_functions",       "DEP_VIEW"      ]
-[ "name",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
-[ "type",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "id",        "dependency_views_on_functions",        "DEP_VIEW"      ]
 [ "name",      "dependency_views_on_functions",        "DEP_VIEW"      ]
 [ "type",      "dependency_views_on_functions",        "DEP_VIEW"      ]
@@ -890,12 +890,12 @@ Cleanup
 [ "table_id",  "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "name",      "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "id",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "nr",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "id",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "table_id",  "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "type",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "id",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "nr",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "table_id",  "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "id",        "dependency_tables_on_foreignkeys",     "DEP_VIEW"      ]
@@ -909,11 +909,11 @@ Cleanup
 [ "name",      "dependency_keys_on_foreignkeys",       "DEP_VIEW"      ]
 [ "rkey",      "dependency_keys_on_foreignkeys",       "DEP_VIEW"      ]
 [ "id",        "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "name",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "type",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "id",        "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "depend_id", "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "depend_type",       "dependency_tables_on_procedures",      "DEP_VIEW"      
]
-[ "id",        "dependency_tables_on_procedures",      "DEP_VIEW"      ]
-[ "name",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
-[ "type",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "id",        "dependency_views_on_procedures",       "DEP_VIEW"      ]
 [ "name",      "dependency_views_on_procedures",       "DEP_VIEW"      ]
 [ "type",      "dependency_views_on_procedures",       "DEP_VIEW"      ]
diff --git a/sql/test/Dependencies/Tests/Dependencies.stable.out.int128 
b/sql/test/Dependencies/Tests/Dependencies.stable.out.int128
--- a/sql/test/Dependencies/Tests/Dependencies.stable.out.int128
+++ b/sql/test/Dependencies/Tests/Dependencies.stable.out.int128
@@ -632,9 +632,9 @@ Cleanup
 [ "functions", "dependency_functions_on_views",        "DEP_VIEW"      ]
 [ "users",     "dependency_schemas_on_users",  "DEP_VIEW"      ]
 [ "schemas",   "dependency_schemas_on_users",  "DEP_VIEW"      ]
-[ "tables",    "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "functions", "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "dependencies",      "dependency_tables_on_functions",       "DEP_VIEW"      
]
-[ "functions", "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "tables",    "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "functions", "dependency_views_on_functions",        "DEP_VIEW"      ]
 [ "dependencies",      "dependency_views_on_functions",        "DEP_VIEW"      
]
 [ "tables",    "dependency_views_on_functions",        "DEP_VIEW"      ]
@@ -657,16 +657,16 @@ Cleanup
 [ "tables",    "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "keys",      "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "columns",   "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "idxs",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "tables",    "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "objects",   "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "tables",    "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "idxs",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "keys",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "keys",      "dependency_tables_on_foreignkeys",     "DEP_VIEW"      ]
 [ "tables",    "dependency_tables_on_foreignkeys",     "DEP_VIEW"      ]
 [ "keys",      "dependency_keys_on_foreignkeys",       "DEP_VIEW"      ]
-[ "tables",    "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "functions", "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "dependencies",      "dependency_tables_on_procedures",      "DEP_VIEW"      
]
-[ "functions", "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "tables",    "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "functions", "dependency_views_on_procedures",       "DEP_VIEW"      ]
 [ "dependencies",      "dependency_views_on_procedures",       "DEP_VIEW"      
]
 [ "tables",    "dependency_views_on_procedures",       "DEP_VIEW"      ]
@@ -838,11 +838,11 @@ Cleanup
 [ "id",        "dependency_schemas_on_users",  "DEP_VIEW"      ]
 [ "name",      "dependency_schemas_on_users",  "DEP_VIEW"      ]
 [ "id",        "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "name",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "type",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
+[ "id",        "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "depend_id", "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "depend_type",       "dependency_tables_on_functions",       "DEP_VIEW"      
]
-[ "id",        "dependency_tables_on_functions",       "DEP_VIEW"      ]
-[ "name",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
-[ "type",      "dependency_tables_on_functions",       "DEP_VIEW"      ]
 [ "id",        "dependency_views_on_functions",        "DEP_VIEW"      ]
 [ "name",      "dependency_views_on_functions",        "DEP_VIEW"      ]
 [ "type",      "dependency_views_on_functions",        "DEP_VIEW"      ]
@@ -890,12 +890,12 @@ Cleanup
 [ "table_id",  "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "name",      "dependency_tables_on_indexes", "DEP_VIEW"      ]
 [ "id",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "nr",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
+[ "id",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "table_id",  "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "type",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "id",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
-[ "nr",        "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "table_id",  "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "name",      "dependency_columns_on_indexes",        "DEP_VIEW"      ]
 [ "id",        "dependency_tables_on_foreignkeys",     "DEP_VIEW"      ]
@@ -909,11 +909,11 @@ Cleanup
 [ "name",      "dependency_keys_on_foreignkeys",       "DEP_VIEW"      ]
 [ "rkey",      "dependency_keys_on_foreignkeys",       "DEP_VIEW"      ]
 [ "id",        "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "name",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "type",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
+[ "id",        "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "depend_id", "dependency_tables_on_procedures",      "DEP_VIEW"      ]
 [ "depend_type",       "dependency_tables_on_procedures",      "DEP_VIEW"      
]
-[ "id",        "dependency_tables_on_procedures",      "DEP_VIEW"      ]
-[ "name",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
-[ "type",      "dependency_tables_on_procedures",      "DEP_VIEW"      ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to