Changeset: e5d91d22fbe9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e5d91d22fbe9
Modified Files:
        
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
        monetdb5/mal/Tests/tst670.stable.err
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql_assert.c
        sql/backends/monet5/sql_optimizer.h
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_scenario.h
        sql/backends/monet5/sql_transaction.h
        sql/common/sql_types.h
        sql/server/rel_exp.h
        sql/server/rel_select.c
        sql/server/sql_env.h
        sql/server/sql_mvc.h
        sql/server/sql_parser.y
        sql/server/sql_privileges.h
        sql/server/sql_tokens.h
        
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.sql
        
sql/test/BugTracker-2019/Tests/prepared-merge-statement.Bug-6706.stable.out
        sql/test/Tests/trace.stable.out
Branch: context
Log Message:

merged with default


diffs (truncated from 1094 to 300 lines):

diff --git 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
--- 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
+++ 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
@@ -71,7 +71,7 @@ stdout of test 'opt_sql_append` in direc
 % mal # name
 % clob # type
 % 183 # length
-function user.s10_1():void;
+function user.s10_0():void;
     X_1:void := querylog.define("explain copy into ttt from 
E\\'a:\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 22:int);
     X_4:int := sql.mvc();
     (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(nil:ptr, 
"|":str, "\n":str, nil:str, "null":str, "a:\\tmp/xyz":str, -1:lng, 0:lng, 
0:int, 0:int, nil:str, 0:int);
@@ -114,7 +114,7 @@ end user.s10_0;
 % L2 # name
 % varchar # type
 % 6 # length
-[ "user_1"      ]
+[ "user_0"      ]
 #select def from optimizers() where name = optimizer;
 % .L1 # table_name
 % def # name
@@ -126,8 +126,8 @@ end user.s10_0;
 % mal # name
 % clob # type
 % 182 # length
-function user.s26_1():void;
-    X_1:void := querylog.define("explain copy into ttt from 
\\'Z:/tmp/xyz\\';":str, "user_1":str, 22:int);
+function user.s26_0():void;
+    X_1:void := querylog.define("explain copy into ttt from 
\\'Z:/tmp/xyz\\';":str, "user_0":str, 22:int);
     X_4:int := sql.mvc();
     (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(nil:ptr, 
"|":str, "\n":str, nil:str, "null":str, "Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 
0:int, nil:str, 0:int);
     X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, 
X_26:bat[:int]);
@@ -135,7 +135,7 @@ function user.s26_1():void;
     X_40:lng := aggr.count(X_28:bat[:int]);
     X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
     sql.affectedRows(X_38:int, X_40:lng);
-end user.s26_1;
+end user.s26_0;
 #inline               actions= 0 time=0 usec 
 #remap                actions= 0 time=2 usec 
 #costmodel            actions= 1 time=1 usec 
diff --git a/monetdb5/mal/Tests/tst670.stable.err 
b/monetdb5/mal/Tests/tst670.stable.err
--- a/monetdb5/mal/Tests/tst670.stable.err
+++ b/monetdb5/mal/Tests/tst670.stable.err
@@ -10,18 +10,6 @@ stderr of test 'tst670` in directory 'mo
 # 09:29:49 >  "mclient" "-lmal" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-25470" "--port=39422"
 # 09:29:49 >  
 
-MAPI  = (monetdb) /var/tmp/mtest-8241/.s.monetdb.34087
-QUERY = function foo();
-        io.print("go");
-        end foo;
-        user.foo();
-        clients.quit();
-        function foo();
-        io.print("gone");
-        end foo;
-        mdb.List("user","foo");
-        user.foo();
-ERROR = !MALException:mal.interpreter:prematurely stopped client
 
 # 09:29:49 >  
 # 09:29:49 >  "Done."
diff --git a/sql/backends/monet5/sql.h b/sql/backends/monet5/sql.h
--- a/sql/backends/monet5/sql.h
+++ b/sql/backends/monet5/sql.h
@@ -90,11 +90,6 @@ sql5_export str mvc_table_result_wrap(Cl
 
 sql5_export str mvc_export_table_wrap( Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 
-sql5_export str mvc_declared_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
-sql5_export str mvc_declared_table_column_wrap(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_drop_declared_table_wrap(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
-sql5_export str mvc_drop_declared_tables_wrap(Client cntxt, MalBlkPtr mb, 
MalStkPtr stk, InstrPtr pci);
-
 sql5_export str mvc_affected_rows_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 sql5_export str mvc_export_result_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
 sql5_export str mvc_export_head_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci);
@@ -132,8 +127,6 @@ sql5_export str SQLshrink(Client cntxt, 
 sql5_export str SQLreuse(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str SQLvacuum(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
 sql5_export str SQLdrop_hash(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-sql5_export str SQLnewDictionary(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-sql5_export str SQLdropDictionary(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str SQLargRecord(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str SQLoptimizersUpdate(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str month_interval_str(int *ret, const str *s, const int *ek, 
const int *sk);
diff --git a/sql/backends/monet5/sql_assert.c b/sql/backends/monet5/sql_assert.c
--- a/sql/backends/monet5/sql_assert.c
+++ b/sql/backends/monet5/sql_assert.c
@@ -26,6 +26,7 @@
  */
 #include "monetdb_config.h"
 #include "mal_backend.h"
+#include "sql_assert.h"
 #include "sql_scenario.h"
 /*
  * Assertion errors detected during the execution of a code block
diff --git a/sql/backends/monet5/sql_optimizer.h 
b/sql/backends/monet5/sql_optimizer.h
--- a/sql/backends/monet5/sql_optimizer.h
+++ b/sql/backends/monet5/sql_optimizer.h
@@ -14,8 +14,6 @@
 sql5_export str SQLoptimizeQuery(Client c, MalBlkPtr mb);
 sql5_export str SQLoptimizeFunction(Client c, MalBlkPtr mb);
 sql5_export void SQLaddQueryToCache(Client c);
-sql5_export str SQLoptimizer(Client c);
-sql5_export void SQLsetAccessMode(Client c);
 sql5_export str getSQLoptimizer(mvc *m);
 
 #endif /* _SQL_OPTIMIZER_H_ */
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -50,7 +50,7 @@ static int SQLinitialized = 0;
 static int SQLnewcatalog = 0;
 int SQLdebug = 0;
 static const char *sqlinit = NULL;
-MT_Lock sql_contextLock = MT_LOCK_INITIALIZER("sql_contextLock");
+static MT_Lock sql_contextLock = MT_LOCK_INITIALIZER("sql_contextLock");
 
 static void
 monet5_freestack(int clientid, backend_stack stk)
@@ -1035,8 +1035,10 @@ SQLparser(Client c)
                        n = sscanf(in->buf + in->pos + 7, "%d %d %d", &v, &off, 
&len);
 
                if (n == 2 || n == 3) {
-                       if (mvc_export_chunk(be, out, v, off, n == 3 ? len : 
m->reply_size))
-                               throw(SQL, "SQLparser", SQLSTATE(45000) "Result 
set construction failed");
+                       if (mvc_export_chunk(be, out, v, off, n == 3 ? len : 
m->reply_size)) {
+                               msg = createException(SQL, "SQLparser", 
SQLSTATE(45000) "Result set construction failed");
+                               goto finalize;
+                       }
 
                        in->pos = in->len;      /* HACK: should use parsed 
length */
                        return MAL_SUCCEED;
diff --git a/sql/backends/monet5/sql_scenario.h 
b/sql/backends/monet5/sql_scenario.h
--- a/sql/backends/monet5/sql_scenario.h
+++ b/sql/backends/monet5/sql_scenario.h
@@ -29,13 +29,7 @@ sql5_export str SQLreader(Client c);
 sql5_export str SQLparser(Client c);
 sql5_export str SQLengine(Client c);
 sql5_export str SQLcallback(Client c, str msg);
-sql5_export str SQLassert(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-sql5_export str SQLassertInt(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-sql5_export str SQLassertLng(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str handle_error(mvc *m, int pstatus, str msg);
-#ifdef HAVE_HGE
-sql5_export str SQLassertHge(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-#endif
 
 sql5_export str SQLstatement(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str SQLcompile(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
@@ -46,5 +40,4 @@ sql5_export str SQLescapeString(str s);
 sql5_export str SYSupdate_tables(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 sql5_export str SYSupdate_schemas(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
 
-sql5_export MT_Lock sql_contextLock;
 #endif /* _SQL_SCENARIO_H_ */
diff --git a/sql/backends/monet5/sql_transaction.h 
b/sql/backends/monet5/sql_transaction.h
--- a/sql/backends/monet5/sql_transaction.h
+++ b/sql/backends/monet5/sql_transaction.h
@@ -33,9 +33,7 @@
 sql5_export str SQLtransaction_begin(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci) ;
 sql5_export str SQLtransaction_release(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci) ;
 sql5_export str SQLtransaction_commit(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci) ;
-sql5_export str SQLtransaction_abort(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci) ;
 sql5_export str SQLtransaction_rollback(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr pci) ;
-sql5_export str SQLtransaction(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci) ;
 
 #endif /* _SQL_TRANSACTION_H */
 
diff --git a/sql/common/sql_types.h b/sql/common/sql_types.h
--- a/sql/common/sql_types.h
+++ b/sql/common/sql_types.h
@@ -84,8 +84,6 @@ extern int is_subtype(sql_subtype *t1, s
 extern char *subtype2string(sql_subtype *t);
 extern char *subtype2string2(sql_subtype *tpe);
 
-extern void type_destroy(sql_type *t);
-
 extern sql_arg *sql_create_arg(sql_allocator *sa, const char *name, 
sql_subtype *t, char inout);
 extern sql_arg *arg_dup(sql_allocator *sa, sql_arg *a);
 
diff --git a/sql/server/rel_exp.h b/sql/server/rel_exp.h
--- a/sql/server/rel_exp.h
+++ b/sql/server/rel_exp.h
@@ -17,7 +17,6 @@
 
 #define new_exp_list(sa) sa_list(sa)
 #define exp2list(sa,e)   append(sa_list(sa),e)
-#define new_compare_list(sa, l, r) exp2list(sa, exp_compare(sa, l, r, 
cmp_equal))
 
 extern comp_type swap_compare( comp_type t );
 extern comp_type range2lcompare( int r );
@@ -96,7 +95,6 @@ extern sql_exp * exp_copy( sql_allocator
 extern list * exps_copy( sql_allocator *sa, list *exps);
 extern list * exps_alias( sql_allocator *sa, list *exps);
 
-
 extern void exp_swap( sql_exp *e );
 
 extern sql_subtype * exp_subtype( sql_exp *e );
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
@@ -672,41 +672,6 @@ rel_op_(mvc *sql, sql_schema *s, char *f
        }
 }
 
-/* special class of table returning function, but with a table input as well */
-static sql_rel *
-rel_named_table_operator(sql_query *query, sql_rel *rel, symbol *ast)
-{
-       mvc *sql = query->sql;
-       exp_kind ek = {type_value, card_relation, TRUE};
-       sql_rel *sq = rel_subquery(query, rel, ast->data.lval->h->data.sym, ek);
-       list *exps;
-       node *en;
-       char *tname = NULL;
-
-       if (!sq)
-               return NULL;
-       
-       if (ast->data.lval->h->next->data.sym) {
-               dlist *column_spec = 
ast->data.lval->h->next->data.sym->data.lval->h->next->data.lval;
-
-               tname = 
ast->data.lval->h->next->data.sym->data.lval->h->data.sval;
-               if (column_spec) {
-                       dnode *n = column_spec->h;
-
-                       sq = rel_project(sql->sa, sq, rel_projections(sql, sq, 
NULL, 1, 1));
-                       for (en = sq->exps->h; n && en; n = n->next, en = 
en->next) 
-                               exp_setname(sql->sa, en->data, tname, 
n->data.sval );
-               }
-       }
-
-       exps = new_exp_list(sql->sa);
-       for (en = sq->exps->h; en; en = en->next) {
-               sql_exp *e = en->data;
-               append(exps, exp_column(sql->sa, tname, exp_name(e), 
exp_subtype(e), CARD_MULTI, has_nil(e), 0));
-       }
-       return rel_relational_func(sql->sa, sq, exps);
-}
-
 static sql_rel *
 rel_values(sql_query *query, symbol *tableref)
 {
@@ -795,9 +760,7 @@ rel_values(sql_query *query, symbol *tab
 static int
 check_is_lateral(symbol *tableref) 
 {
-       if (tableref->token == SQL_NAME ||
-           tableref->token == SQL_TABLE ||
-           tableref->token == SQL_TABLE_OPERATOR) {
+       if (tableref->token == SQL_NAME || tableref->token == SQL_TABLE) {
                if (dlist_length(tableref->data.lval) == 3)
                        return tableref->data.lval->h->next->next->data.i_val;
                return 0;
@@ -901,8 +864,6 @@ table_ref(sql_query *query, sql_rel *rel
                return rel_values(query, tableref);
        } else if (tableref->token == SQL_TABLE) {
                return rel_named_table_function(query, rel, tableref, lateral);
-       } else if (tableref->token == SQL_TABLE_OPERATOR) {
-               return rel_named_table_operator(query, rel, tableref);
        } else if (tableref->token == SQL_SELECT) {
                return rel_subquery_optname(query, rel, tableref);
        } else {
diff --git a/sql/server/sql_env.h b/sql/server/sql_env.h
--- a/sql/server/sql_env.h
+++ b/sql/server/sql_env.h
@@ -21,7 +21,4 @@ extern str sql_update_var(mvc *sql, cons
 
 extern int sql_create_env(mvc *sql, sql_schema *s);
 
-#define NR_KEEPQUERY_ARGS 4
-#define NR_KEEPCALL_ARGS 9
-
 #endif /* _SQL_ENV_H_ */
diff --git a/sql/server/sql_mvc.h b/sql/server/sql_mvc.h
--- a/sql/server/sql_mvc.h
+++ b/sql/server/sql_mvc.h
@@ -58,7 +58,6 @@
 
 #define QUERY_MODE(m) (m==m_normal || m==m_instantiate || m==m_deps)
 
-
 /* different query execution modifiers (emod) */
 #define mod_none       0
 #define mod_debug      1
@@ -189,7 +188,6 @@ extern sql_column *mvc_null(mvc *c, sql_
 extern sql_column *mvc_default(mvc *c, sql_column *col, char *val);
 extern sql_column *mvc_drop_default(mvc *c, sql_column *col);
 extern sql_column *mvc_storage(mvc *c, sql_column *col, char *storage);
-extern sql_column *mvc_rename_column(mvc *c, sql_column *col, char *new_name);
 extern sql_table * mvc_access(mvc *m, sql_table *t, sht access);
 extern int mvc_is_sorted(mvc *c, sql_column *col);
 
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
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to