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