Changeset: 27a6915f01f7 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=27a6915f01f7
Modified Files:
        sql/server/rel_semantic.c
Branch: indirect-privs
Log Message:

Merged scoping2 into indirect-privs


diffs (truncated from 21190 to 300 lines):

diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -131,10 +131,16 @@ Bugs
 ----
 
 We of course hope there aren't any, but if you do find one, you can
-report bugs in our `bugzilla`__ instance.
+report bugs in our `github`__ repository.
+
+Please note that we do not accept github Pull Requests. See the
+`developers`__ page for instructions.
 
-.. _bugzilla: https://bugs.monetdb.org
-__ bugzilla_
+.. _github: https://github.com/MonetDB/MonetDB/issues
+__ github_
+
+.. _developers: https://www.monetdb.org/Developers
+__ developers_
 
 Copyright Notice
 ================
diff --git a/buildtools/coverity_model.c b/buildtools/coverity_model.c
--- a/buildtools/coverity_model.c
+++ b/buildtools/coverity_model.c
@@ -156,6 +156,15 @@ createMalException(MalBlkPtr mb, int pc,
        return p;
 }
 
+char *
+dupError(const char *err)
+{
+       char *p;
+       p = __coverity_alloc_nosize__();
+       __coverity_mark_as_afm_allocated__(p, "freeException");
+       return p;
+}
+
 void
 freeException(char *p)
 {
@@ -164,3 +173,13 @@ freeException(char *p)
                __coverity_mark_as_afm_freed__(p, "freeException");
        }
 }
+
+char *
+concatErrors(char *err1, const char *err2)
+{
+       freeException(err1);
+       char *p;
+       p = __coverity_alloc_nosize__();
+       __coverity_mark_as_afm_allocated__(p, "freeException");
+       return p;
+}
diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -6638,6 +6638,7 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "unicodeAt",    "pattern batstr.unicodeAt(X_1:str, 
X_2:bat[:int], X_3:bat[:oid]):bat[:int] ",   "STRbatWChrAt_strcst;", ""      ]
 [ "batstr",    "unicodeAt",    "pattern batstr.unicodeAt(X_1:bat[:str], 
X_2:int):bat[:int] ",  "STRbatWChrAtcst;",     ""      ]
 [ "batstr",    "unicodeAt",    "pattern batstr.unicodeAt(X_1:bat[:str], 
X_2:int, X_3:bat[:oid]):bat[:int] ",   "STRbatWChrAtcst;",     ""      ]
+[ "battxtsim", "similarity",   "command battxtsim.similarity(X_1:bat[:str], 
X_2:bat[:str]):bat[:dbl] ",        "fstrcmp0_impl_bulk;",  ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:bte], 
X_2:bat[:bte]):bat[:sht] ", "UDFBATfuse;",  ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:int], 
X_2:bat[:int]):bat[:lng] ", "UDFBATfuse;",  ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:sht], 
X_2:bat[:sht]):bat[:int] ", "UDFBATfuse;",  ""      ]
@@ -9429,20 +9430,6 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "sessions",     "pattern sql.sessions() (X_0:bat[:int], 
X_1:bat[:str], X_2:bat[:timestamp], X_3:bat[:timestamp], X_4:bat[:str], 
X_5:bat[:int], X_6:bat[:int], X_7:bat[:int], X_8:bat[:int]) ",  
"sql_sessions_wrap;",   ""      ]
 [ "sql",       "setVariable",  "unsafe pattern sql.setVariable(X_1:int, 
X_2:str, X_3:str, X_4:any_1):int ",    "setVariable;", ""      ]
 [ "sql",       "set_protocol", "unsafe pattern sql.set_protocol(X_1:int):int 
",        "SQLset_protocol;",     ""      ]
-[ "sql",       "setmemorylimit",       "unsafe pattern 
sql.setmemorylimit(X_1:int):void ",     "SQLsetmemorylimit;",   ""      ]
-[ "sql",       "setmemorylimit",       "unsafe pattern 
sql.setmemorylimit(X_1:sht, X_2:int):void ",    "SQLsetmemorylimit;",   ""      
]
-[ "sql",       "setoptimizer", "unsafe pattern sql.setoptimizer(X_1:int, 
X_2:str):void ",      "SQLsetoptimizer;",     ""      ]
-[ "sql",       "setoptimizer", "unsafe pattern sql.setoptimizer(X_1:str):void 
",       "SQLsetoptimizer;",     ""      ]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:bte, X_2:int):void ",   "SQLqueryTimeout;",     ""      
]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:int):void ",    "SQLqueryTimeout;",     ""      ]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:int, X_2:int):void ",   "SQLqueryTimeout;",     ""      
]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:sht, X_2:int):void ",   "SQLqueryTimeout;",     ""      
]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:bte, X_2:int):void ", "SQLsessionTimeout;",   ""      
]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:int):void ",  "SQLsessionTimeout;",   ""      ]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:int, X_2:int):void ", "SQLsessionTimeout;",   ""      
]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:sht, X_2:int):void ", "SQLsessionTimeout;",   ""      
]
-[ "sql",       "setworkerlimit",       "unsafe pattern 
sql.setworkerlimit(X_1:int):void ",     "SQLsetworkerlimit;",   ""      ]
-[ "sql",       "setworkerlimit",       "unsafe pattern 
sql.setworkerlimit(X_1:int, X_2:int):void ",    "SQLsetworkerlimit;",   ""      
]
 [ "sql",       "shrink",       "unsafe pattern sql.shrink(X_1:str, 
X_2:str):void ",    "SQLshrink;",   ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(X_1:bte):str ",   
"SQLshutdown_wrap;",    ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(X_1:bte, X_2:bit):str ",  
"SQLshutdown_wrap;",    ""      ]
@@ -9526,7 +9513,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sqlcatalog",        "alter_seq",    "pattern sqlcatalog.alter_seq(X_1:str, 
X_2:str, X_3:ptr, X_4:lng):void ",       "SQLalter_seq;",        ""      ]
 [ "sqlcatalog",        "alter_set_table",      "pattern 
sqlcatalog.alter_set_table(X_1:str, X_2:str, X_3:int):void ",  
"SQLalter_set_table;",  ""      ]
 [ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(X_1:str, X_2:str, X_3:ptr, X_4:int):void ",     
"SQLalter_table;",      ""      ]
-[ "sqlcatalog",        "alter_user",   "pattern sqlcatalog.alter_user(X_1:str, 
X_2:str, X_3:int, X_4:str, X_5:str):void ",     "SQLalter_user;",       ""      
]
+[ "sqlcatalog",        "alter_user",   "pattern sqlcatalog.alter_user(X_1:str, 
X_2:str, X_3:int, X_4:str, X_5:str, X_6:str):void ",    "SQLalter_user;",       
""      ]
 [ "sqlcatalog",        "comment_on",   "pattern sqlcatalog.comment_on(X_1:int, 
X_2:str):void ",        "SQLcomment_on;",       ""      ]
 [ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(X_1:str, X_2:str, X_3:ptr):void ",  
"SQLcreate_function;",  ""      ]
 [ "sqlcatalog",        "create_role",  "pattern 
sqlcatalog.create_role(X_1:str, X_2:str, X_3:int):void ",      
"SQLcreate_role;",      ""      ]
@@ -9535,7 +9522,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(X_1:str, X_2:str, X_3:ptr, X_4:int):void ",    
"SQLcreate_table;",     ""      ]
 [ "sqlcatalog",        "create_trigger",       "pattern 
sqlcatalog.create_trigger(X_1:str, X_2:str, X_3:str, X_4:int, X_5:int, X_6:int, 
X_7:str, X_8:str, X_9:str, X_10:str):void ",   "SQLcreate_trigger;",   ""      ]
 [ "sqlcatalog",        "create_type",  "pattern 
sqlcatalog.create_type(X_1:str, X_2:str, X_3:str):void ",      
"SQLcreate_type;",      ""      ]
-[ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(X_1:str, X_2:str, X_3:int, X_4:str, X_5:str):void ",    
"SQLcreate_user;",      ""      ]
+[ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(X_1:str, X_2:str, X_3:int, X_4:str, X_5:str, 
X_6:str):void ",   "SQLcreate_user;",      ""      ]
 [ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(X_1:str, X_2:str, X_3:ptr, X_4:int):void ",     
"SQLcreate_view;",      ""      ]
 [ "sqlcatalog",        "drop_constraint",      "pattern 
sqlcatalog.drop_constraint(X_1:str, X_2:str, X_3:int, X_4:int):void ", 
"SQLdrop_constraint;",  ""      ]
 [ "sqlcatalog",        "drop_function",        "pattern 
sqlcatalog.drop_function(X_1:str, X_2:str, X_3:int, X_4:int, X_5:int):void ",  
"SQLdrop_function;",    ""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -9197,6 +9197,7 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "unicodeAt",    "pattern batstr.unicodeAt(X_1:str, 
X_2:bat[:int], X_3:bat[:oid]):bat[:int] ",   "STRbatWChrAt_strcst;", ""      ]
 [ "batstr",    "unicodeAt",    "pattern batstr.unicodeAt(X_1:bat[:str], 
X_2:int):bat[:int] ",  "STRbatWChrAtcst;",     ""      ]
 [ "batstr",    "unicodeAt",    "pattern batstr.unicodeAt(X_1:bat[:str], 
X_2:int, X_3:bat[:oid]):bat[:int] ",   "STRbatWChrAtcst;",     ""      ]
+[ "battxtsim", "similarity",   "command battxtsim.similarity(X_1:bat[:str], 
X_2:bat[:str]):bat[:dbl] ",        "fstrcmp0_impl_bulk;",  ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:bte], 
X_2:bat[:bte]):bat[:sht] ", "UDFBATfuse;",  ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:int], 
X_2:bat[:int]):bat[:lng] ", "UDFBATfuse;",  ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:lng], 
X_2:bat[:lng]):bat[:hge] ", "UDFBATfuse;",  ""      ]
@@ -12741,20 +12742,6 @@ stdout of test 'MAL-signatures` in direc
 [ "sql",       "sessions",     "pattern sql.sessions() (X_0:bat[:int], 
X_1:bat[:str], X_2:bat[:timestamp], X_3:bat[:timestamp], X_4:bat[:str], 
X_5:bat[:int], X_6:bat[:int], X_7:bat[:int], X_8:bat[:int]) ",  
"sql_sessions_wrap;",   ""      ]
 [ "sql",       "setVariable",  "unsafe pattern sql.setVariable(X_1:int, 
X_2:str, X_3:str, X_4:any_1):int ",    "setVariable;", ""      ]
 [ "sql",       "set_protocol", "unsafe pattern sql.set_protocol(X_1:int):int 
",        "SQLset_protocol;",     ""      ]
-[ "sql",       "setmemorylimit",       "unsafe pattern 
sql.setmemorylimit(X_1:int):void ",     "SQLsetmemorylimit;",   ""      ]
-[ "sql",       "setmemorylimit",       "unsafe pattern 
sql.setmemorylimit(X_1:sht, X_2:int):void ",    "SQLsetmemorylimit;",   ""      
]
-[ "sql",       "setoptimizer", "unsafe pattern sql.setoptimizer(X_1:int, 
X_2:str):void ",      "SQLsetoptimizer;",     ""      ]
-[ "sql",       "setoptimizer", "unsafe pattern sql.setoptimizer(X_1:str):void 
",       "SQLsetoptimizer;",     ""      ]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:bte, X_2:int):void ",   "SQLqueryTimeout;",     ""      
]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:int):void ",    "SQLqueryTimeout;",     ""      ]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:int, X_2:int):void ",   "SQLqueryTimeout;",     ""      
]
-[ "sql",       "setquerytimeout",      "unsafe pattern 
sql.setquerytimeout(X_1:sht, X_2:int):void ",   "SQLqueryTimeout;",     ""      
]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:bte, X_2:int):void ", "SQLsessionTimeout;",   ""      
]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:int):void ",  "SQLsessionTimeout;",   ""      ]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:int, X_2:int):void ", "SQLsessionTimeout;",   ""      
]
-[ "sql",       "setsessiontimeout",    "unsafe pattern 
sql.setsessiontimeout(X_1:sht, X_2:int):void ", "SQLsessionTimeout;",   ""      
]
-[ "sql",       "setworkerlimit",       "unsafe pattern 
sql.setworkerlimit(X_1:int):void ",     "SQLsetworkerlimit;",   ""      ]
-[ "sql",       "setworkerlimit",       "unsafe pattern 
sql.setworkerlimit(X_1:int, X_2:int):void ",    "SQLsetworkerlimit;",   ""      
]
 [ "sql",       "shrink",       "unsafe pattern sql.shrink(X_1:str, 
X_2:str):void ",    "SQLshrink;",   ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(X_1:bte):str ",   
"SQLshutdown_wrap;",    ""      ]
 [ "sql",       "shutdown",     "pattern sql.shutdown(X_1:bte, X_2:bit):str ",  
"SQLshutdown_wrap;",    ""      ]
@@ -12849,7 +12836,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sqlcatalog",        "alter_seq",    "pattern sqlcatalog.alter_seq(X_1:str, 
X_2:str, X_3:ptr, X_4:lng):void ",       "SQLalter_seq;",        ""      ]
 [ "sqlcatalog",        "alter_set_table",      "pattern 
sqlcatalog.alter_set_table(X_1:str, X_2:str, X_3:int):void ",  
"SQLalter_set_table;",  ""      ]
 [ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(X_1:str, X_2:str, X_3:ptr, X_4:int):void ",     
"SQLalter_table;",      ""      ]
-[ "sqlcatalog",        "alter_user",   "pattern sqlcatalog.alter_user(X_1:str, 
X_2:str, X_3:int, X_4:str, X_5:str):void ",     "SQLalter_user;",       ""      
]
+[ "sqlcatalog",        "alter_user",   "pattern sqlcatalog.alter_user(X_1:str, 
X_2:str, X_3:int, X_4:str, X_5:str, X_6:str):void ",    "SQLalter_user;",       
""      ]
 [ "sqlcatalog",        "comment_on",   "pattern sqlcatalog.comment_on(X_1:int, 
X_2:str):void ",        "SQLcomment_on;",       ""      ]
 [ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(X_1:str, X_2:str, X_3:ptr):void ",  
"SQLcreate_function;",  ""      ]
 [ "sqlcatalog",        "create_role",  "pattern 
sqlcatalog.create_role(X_1:str, X_2:str, X_3:int):void ",      
"SQLcreate_role;",      ""      ]
@@ -12858,7 +12845,7 @@ stdout of test 'MAL-signatures` in direc
 [ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(X_1:str, X_2:str, X_3:ptr, X_4:int):void ",    
"SQLcreate_table;",     ""      ]
 [ "sqlcatalog",        "create_trigger",       "pattern 
sqlcatalog.create_trigger(X_1:str, X_2:str, X_3:str, X_4:int, X_5:int, X_6:int, 
X_7:str, X_8:str, X_9:str, X_10:str):void ",   "SQLcreate_trigger;",   ""      ]
 [ "sqlcatalog",        "create_type",  "pattern 
sqlcatalog.create_type(X_1:str, X_2:str, X_3:str):void ",      
"SQLcreate_type;",      ""      ]
-[ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(X_1:str, X_2:str, X_3:int, X_4:str, X_5:str):void ",    
"SQLcreate_user;",      ""      ]
+[ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(X_1:str, X_2:str, X_3:int, X_4:str, X_5:str, 
X_6:str):void ",   "SQLcreate_user;",      ""      ]
 [ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(X_1:str, X_2:str, X_3:ptr, X_4:int):void ",     
"SQLcreate_view;",      ""      ]
 [ "sqlcatalog",        "drop_constraint",      "pattern 
sqlcatalog.drop_constraint(X_1:str, X_2:str, X_3:int, X_4:int):void ", 
"SQLdrop_constraint;",  ""      ]
 [ "sqlcatalog",        "drop_function",        "pattern 
sqlcatalog.drop_function(X_1:str, X_2:str, X_3:int, X_4:int, X_5:int):void ",  
"SQLdrop_function;",    ""      ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -516,6 +516,7 @@ gdk_return log_bat_clear(logger *lg, con
 gdk_return log_bat_persists(logger *lg, BAT *b, const char *n, char tpe, oid 
id);
 gdk_return log_bat_transient(logger *lg, const char *n, char tpe, oid id);
 gdk_return log_delta(logger *lg, BAT *uid, BAT *uval, const char *n, char tpe, 
oid id);
+lng log_save_id(logger *lg);
 gdk_return log_sequence(logger *lg, int seq, lng id);
 gdk_return log_tend(logger *lg);
 gdk_return log_tstart(logger *lg);
@@ -525,9 +526,8 @@ gdk_return logger_cleanup(logger *lg);
 logger *logger_create(int debug, const char *fn, const char *logdir, int 
version, preversionfix_fptr prefuncp, postversionfix_fptr postfuncp);
 gdk_return logger_del_bat(logger *lg, log_bid bid) 
__attribute__((__warn_unused_result__));
 void logger_destroy(logger *lg);
-gdk_return logger_exit(logger *lg);
 log_bid logger_find_bat(logger *lg, const char *name, char tpe, oid id);
-gdk_return logger_restart(logger *lg);
+gdk_return logger_flush(logger *lg, lng save_id);
 int logger_sequence(logger *lg, int seq, lng *id);
 gdk_return logger_upgrade_bat(logger *lg, const char *name, char tpe, oid id) 
__attribute__((__warn_unused_result__));
 void logger_with_ids(logger *lg);
@@ -755,42 +755,8 @@ str BKCsetPersistent(void *r, const bat 
 str BKCsetTransient(void *r, const bat *bid);
 str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
 ssize_t BLOBtostr(str *tostr, size_t *l, const void *pin, bool external);
-str CLTInfo(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTLogin(bat *ret, bat *nme);
-str CLTaddUser(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTbackendsum(str *ret, str *pw);
-str CLTchangePassword(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTchangeUsername(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTcheckPermission(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-str CLTgetClientId(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTgetPasswordHash(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-str CLTgetProfile(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTgetScenario(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTgetUsername(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTgetUsers(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTmd5sum(str *ret, str *pw);
-str CLTqueryTimeout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTquit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTremoveUser(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTripemd160sum(str *ret, str *pw);
-str CLTsessionTimeout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str CLTsessions(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetListing(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetPassword(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetPrintTimeout(void *ret, int *secs);
-str CLTsetScenario(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetSessionTimeout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr 
pci);
-str CLTsetTimeout(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetmemorylimit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetoptimizer(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsetworkerlimit(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsha1sum(str *ret, str *pw);
-str CLTsha2sum(str *ret, str *pw, int *bits);
 str CLTshutdown(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTstop(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTstopSession(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTsuspend(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
-str CLTwakeup(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
 str CMDbbp(bat *ID, bat *NS, bat *TT, bat *CNT, bat *REFCNT, bat *LREFCNT, bat 
*LOCATION, bat *HEAT, bat *DIRTY, bat *STATUS, bat *KIND);
 str CMDbbpCount(bat *ret);
 str CMDbbpDirty(bat *ret);
@@ -1166,6 +1132,7 @@ str connectRef;
 str contextRef;
 str convertConstant(malType type, ValPtr vr);
 InstrPtr copyInstruction(InstrPtr p);
+InstrPtr copyInstructionArgs(InstrPtr p, int args);
 MalBlkPtr copyMalBlk(MalBlkPtr mb);
 str copyRef;
 str copy_fromRef;
@@ -1467,11 +1434,14 @@ str multicolumnRef;
 str multiplexRef;
 str mvcRef;
 InstrPtr newAssignment(MalBlkPtr mb);
+InstrPtr newAssignmentArgs(MalBlkPtr mb, int args);
 InstrPtr newCatchStmt(MalBlkPtr mb, str nme);
 InstrPtr newComment(MalBlkPtr mb, const char *val);
 InstrPtr newExitStmt(MalBlkPtr mb, str nme);
 InstrPtr newFcnCall(MalBlkPtr mb, char *mod, char *fcn);
+InstrPtr newFcnCallArgs(MalBlkPtr mb, char *mod, char *fcn, int args);
 Symbol newFunction(str mod, str nme, int kind);
+Symbol newFunctionArgs(str mod, str nme, int kind, int args);
 MalStkPtr newGlobalStack(int size);
 InstrPtr newInstruction(MalBlkPtr mb, str modnme, str fcnnme);
 InstrPtr newInstructionArgs(MalBlkPtr mb, str modnme, str fcnnme, int args);
@@ -1495,7 +1465,6 @@ str not_uniqueRef;
 str nth_valueRef;
 str ntileRef;
 str oidRef;
-void oldmoveInstruction(InstrPtr dst, InstrPtr src);
 str oltpRef;
 str openProfilerStream(Client cntxt);
 str openRef;
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -2196,7 +2196,8 @@ dump_database(Mapi mid, stream *toConsol
                "SELECT ui.name, "
                       "ui.fullname, "
                       "password_hash(ui.name), "
-                      "s.name "
+                      "s.name, "
+                          "ui.schema_path "
                "FROM sys.db_user_info ui, "
                     "sys.schemas s "
                "WHERE ui.default_schema = s.id "
@@ -2439,6 +2440,7 @@ dump_database(Mapi mid, stream *toConsol
                        const char *fullname = mapi_fetch_field(hdl, 1);
                        const char *pwhash = mapi_fetch_field(hdl, 2);
                        const char *sname = mapi_fetch_field(hdl, 3);
+                       const char *spath = mapi_fetch_field(hdl, 4);
 
                        mnstr_printf(toConsole, "CREATE USER ");
                        dquoted_print(toConsole, uname, " ");
@@ -2447,7 +2449,8 @@ dump_database(Mapi mid, stream *toConsol
                        mnstr_printf(toConsole, " NAME ");
                        squoted_print(toConsole, fullname, '\'', false);
                        mnstr_printf(toConsole, " SCHEMA ");
-                       dquoted_print(toConsole, describe ? sname : "sys", 
";\n");
+                       dquoted_print(toConsole, describe ? sname : "sys", " ");
+                       mnstr_printf(toConsole, "SCHEMA PATH '%s';\n", spath);
                }
                if (mapi_error(mid))
                        goto bailout;
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -82,7 +82,8 @@ SQLhelp sqlhelp1[] = {
         "ALTER USER ident RENAME TO ident\n"
         "ALTER USER SET [ENCRYPTED | UNENCRYPTED] PASSWORD string USING OLD 
PASSWORD string\n"
         "ALTER USER ident WITH [ENCRYPTED | UNENCRYPTED] PASSWORD string\n"
-        "ALTER USER ident [ WITH [ENCRYPTED | UNENCRYPTED] PASSWORD string ] 
SET SCHEMA ident",
+        "ALTER USER ident [WITH [ENCRYPTED | UNENCRYPTED] PASSWORD string] SET 
SCHEMA ident\n"
+        "ALTER USER ident [WITH [ENCRYPTED | UNENCRYPTED] PASSWORD string] 
SCHEMA PATH string",
         "ident",
         "See also https://www.monetdb.org/Documentation/SQLreference/Users"},
        {"ANALYZE",
@@ -229,7 +230,7 @@ SQLhelp sqlhelp1[] = {
         NULL},
        {"CREATE USER",
         "Create a new database user",
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to