Changeset: 8ba85c5ddbb2 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8ba85c5ddbb2
Removed Files:
        
sql/test/BugTracker-2009/Tests/alter_table_drop_constraint.SF-2803477.sql
        sql/test/miscellaneous/Tests/simple_selects.sql
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        monetdb5/modules/mal/wlc.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cat.c
        sql/server/rel_schema.c
        
sql/test/BugTracker-2009/Tests/alter_table_drop_constraint.SF-2803477.test
        sql/test/miscellaneous/Tests/simple_selects.test
Branch: default
Log Message:

Merged with Oct2020


diffs (truncated from 479 to 300 lines):

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
@@ -9514,19 +9514,19 @@ stdout of test 'MAL-signatures` in direc
 [ "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;",      ""      ]
-[ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(X_1:str, X_2:str, X_3:int, X_4:int):void ",   
"SQLcreate_schema;",    ""      ]
+[ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(X_1:str, X_2:str, X_3:int):void ",    
"SQLcreate_schema;",    ""      ]
 [ "sqlcatalog",        "create_seq",   "pattern sqlcatalog.create_seq(X_1:str, 
X_2:str, X_3:ptr, X_4:int):void ",      "SQLcreate_seq;",       ""      ]
 [ "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, 
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_constraint",      "pattern 
sqlcatalog.drop_constraint(X_1:str, X_2:str, X_3:str, X_4:int, X_5: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;",    ""      ]
 [ "sqlcatalog",        "drop_index",   "pattern sqlcatalog.drop_index(X_1:str, 
X_2:str, X_3:int):void ",       "SQLdrop_index;",       ""      ]
 [ "sqlcatalog",        "drop_role",    "pattern sqlcatalog.drop_role(X_1:str, 
X_2:int):void ", "SQLdrop_role;",        ""      ]
 [ "sqlcatalog",        "drop_role",    "pattern sqlcatalog.drop_role(X_1:str, 
X_2:str, X_3:int):void ",        "SQLdrop_role;",        ""      ]
-[ "sqlcatalog",        "drop_schema",  "pattern 
sqlcatalog.drop_schema(X_1:str, X_2:str, X_3:int, X_4:int):void ",     
"SQLdrop_schema;",      ""      ]
+[ "sqlcatalog",        "drop_schema",  "pattern 
sqlcatalog.drop_schema(X_1:str, X_2:int, X_3:int):void ",      
"SQLdrop_schema;",      ""      ]
 [ "sqlcatalog",        "drop_seq",     "pattern sqlcatalog.drop_seq(X_1:str, 
X_2:str, X_3:int):void ", "SQLdrop_seq;", ""      ]
 [ "sqlcatalog",        "drop_table",   "pattern sqlcatalog.drop_table(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",      "SQLdrop_table;",       ""      ]
 [ "sqlcatalog",        "drop_trigger", "pattern 
sqlcatalog.drop_trigger(X_1:str, X_2:str, X_3:int):void ",     
"SQLdrop_trigger;",     ""      ]
@@ -9693,7 +9693,7 @@ stdout of test 'MAL-signatures` in direc
 [ "wlc",       "commit",       "pattern wlc.commit():void ",   
"WLCcommitCmd;",        ""      ]
 [ "wlc",       "create_function",      "pattern wlc.create_function(X_1:str, 
X_2:str):void ",  "WLCgeneric;",  ""      ]
 [ "wlc",       "create_role",  "pattern wlc.create_role(X_1:str, X_2:str, 
X_3:int):void ",     "WLCgeneric;",  ""      ]
-[ "wlc",       "create_schema",        "pattern wlc.create_schema(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",  "WLCgeneric;",  ""      ]
+[ "wlc",       "create_schema",        "pattern wlc.create_schema(X_1:str, 
X_2:str, X_3:int):void ",   "WLCgeneric;",  ""      ]
 [ "wlc",       "create_seq",   "pattern wlc.create_seq(X_1:str, X_2:str, 
X_3:int):void ",      "WLCgeneric;",  ""      ]
 [ "wlc",       "create_table", "pattern wlc.create_table(X_1:str, X_2:str, 
X_3:int):void ",    "WLCgeneric;",  ""      ]
 [ "wlc",       "create_trigger",       "pattern wlc.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 ",  "WLCgeneric;",  ""      ]
@@ -9701,12 +9701,12 @@ stdout of test 'MAL-signatures` in direc
 [ "wlc",       "create_user",  "pattern wlc.create_user(X_1:str, X_2:str, 
X_3:int, X_4:str, X_5:str):void ",   "WLCgeneric;",  ""      ]
 [ "wlc",       "create_view",  "pattern wlc.create_view(X_1:str, X_2:str, 
X_3:int):void ",     "WLCgeneric;",  ""      ]
 [ "wlc",       "delete",       "pattern wlc.delete(X_1:str, X_2:str, 
X_3:any):int ",   "WLCdelete;",   ""      ]
-[ "wlc",       "drop_constraint",      "pattern wlc.drop_constraint(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",        "WLCgeneric;",  ""      ]
+[ "wlc",       "drop_constraint",      "pattern wlc.drop_constraint(X_1:str, 
X_2:str, X_3:str, X_4:int, X_5:int):void ",       "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_function",        "pattern wlc.drop_function(X_1:str, 
X_2:str, X_3:int, X_4:int, X_5:int):void ", "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_index",   "pattern wlc.drop_index(X_1:str, X_2:str, 
X_3:int):void ",      "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_role",    "pattern wlc.drop_role(X_1:str, X_2:int):void 
",        "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_role",    "pattern wlc.drop_role(X_1:str, X_2:str, 
X_3:int):void ",       "WLCgeneric;",  ""      ]
-[ "wlc",       "drop_schema",  "pattern wlc.drop_schema(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",    "WLCgeneric;",  ""      ]
+[ "wlc",       "drop_schema",  "pattern wlc.drop_schema(X_1:str, X_2:int, 
X_3:int):void ",     "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_seq",     "pattern wlc.drop_seq(X_1:str, X_2:str, 
X_3:int):void ",        "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_table",   "pattern wlc.drop_table(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",     "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_trigger", "pattern wlc.drop_trigger(X_1:str, X_2:str, 
X_3:int):void ",    "WLCgeneric;",  ""      ]
@@ -9762,7 +9762,7 @@ stdout of test 'MAL-signatures` in direc
 [ "wlr",       "commit",       "pattern wlr.commit():void ",   "WLRcommit;",   
""      ]
 [ "wlr",       "create_function",      "pattern wlr.create_function(X_1:str, 
X_2:str):void ",  "WLRgeneric;",  ""      ]
 [ "wlr",       "create_role",  "pattern wlr.create_role(X_1:str, X_2:str, 
X_3:int):void ",     "WLRgeneric;",  ""      ]
-[ "wlr",       "create_schema",        "pattern wlr.create_schema(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",  "WLRgeneric;",  ""      ]
+[ "wlr",       "create_schema",        "pattern wlr.create_schema(X_1:str, 
X_2:str, X_3:int):void ",   "WLRgeneric;",  ""      ]
 [ "wlr",       "create_seq",   "pattern wlr.create_seq(X_1:str, X_2:str, 
X_3:int):void ",      "WLRgeneric;",  ""      ]
 [ "wlr",       "create_table", "pattern wlr.create_table(X_1:str, X_2:str, 
X_3:int):void ",    "WLRgeneric;",  ""      ]
 [ "wlr",       "create_trigger",       "pattern wlr.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 ",  "WLRgeneric;",  ""      ]
@@ -9770,12 +9770,12 @@ stdout of test 'MAL-signatures` in direc
 [ "wlr",       "create_user",  "pattern wlr.create_user(X_1:str, X_2:str, 
X_3:int, X_4:str, X_5:str):void ",   "WLRgeneric;",  ""      ]
 [ "wlr",       "create_view",  "pattern wlr.create_view(X_1:str, X_2:str, 
X_3:int):void ",     "WLRgeneric;",  ""      ]
 [ "wlr",       "delete",       "pattern wlr.delete(X_1:str, X_2:str, 
X_3:oid...):int ",        "WLRdelete;",   ""      ]
-[ "wlr",       "drop_constraint",      "pattern wlr.drop_constraint(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",        "WLRgeneric;",  ""      ]
+[ "wlr",       "drop_constraint",      "pattern wlr.drop_constraint(X_1:str, 
X_2:str, X_3:str, X_4:int, X_5:int):void ",       "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_function",        "pattern wlr.drop_function(X_1:str, 
X_2:str, X_3:int, X_4:int, X_5:int):void ", "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_index",   "pattern wlr.drop_index(X_1:str, X_2:str, 
X_3:int):void ",      "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_role",    "pattern wlr.drop_role(X_1:str, X_2:int):void 
",        "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_role",    "pattern wlr.drop_role(X_1:str, X_2:str, 
X_3:int):void ",       "WLRgeneric;",  ""      ]
-[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",    "WLRgeneric;",  ""      ]
+[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(X_1:str, X_2:int, 
X_3:int):void ",     "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_seq",     "pattern wlr.drop_seq(X_1:str, X_2:str, 
X_3:int):void ",        "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_table",   "pattern wlr.drop_table(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",     "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_trigger", "pattern wlr.drop_trigger(X_1:str, X_2:str, 
X_3:int):void ",    "WLRgeneric;",  ""      ]
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
@@ -12836,19 +12836,19 @@ stdout of test 'MAL-signatures` in direc
 [ "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;",      ""      ]
-[ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(X_1:str, X_2:str, X_3:int, X_4:int):void ",   
"SQLcreate_schema;",    ""      ]
+[ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(X_1:str, X_2:str, X_3:int):void ",    
"SQLcreate_schema;",    ""      ]
 [ "sqlcatalog",        "create_seq",   "pattern sqlcatalog.create_seq(X_1:str, 
X_2:str, X_3:ptr, X_4:int):void ",      "SQLcreate_seq;",       ""      ]
 [ "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, 
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_constraint",      "pattern 
sqlcatalog.drop_constraint(X_1:str, X_2:str, X_3:str, X_4:int, X_5: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;",    ""      ]
 [ "sqlcatalog",        "drop_index",   "pattern sqlcatalog.drop_index(X_1:str, 
X_2:str, X_3:int):void ",       "SQLdrop_index;",       ""      ]
 [ "sqlcatalog",        "drop_role",    "pattern sqlcatalog.drop_role(X_1:str, 
X_2:int):void ", "SQLdrop_role;",        ""      ]
 [ "sqlcatalog",        "drop_role",    "pattern sqlcatalog.drop_role(X_1:str, 
X_2:str, X_3:int):void ",        "SQLdrop_role;",        ""      ]
-[ "sqlcatalog",        "drop_schema",  "pattern 
sqlcatalog.drop_schema(X_1:str, X_2:str, X_3:int, X_4:int):void ",     
"SQLdrop_schema;",      ""      ]
+[ "sqlcatalog",        "drop_schema",  "pattern 
sqlcatalog.drop_schema(X_1:str, X_2:int, X_3:int):void ",      
"SQLdrop_schema;",      ""      ]
 [ "sqlcatalog",        "drop_seq",     "pattern sqlcatalog.drop_seq(X_1:str, 
X_2:str, X_3:int):void ", "SQLdrop_seq;", ""      ]
 [ "sqlcatalog",        "drop_table",   "pattern sqlcatalog.drop_table(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",      "SQLdrop_table;",       ""      ]
 [ "sqlcatalog",        "drop_trigger", "pattern 
sqlcatalog.drop_trigger(X_1:str, X_2:str, X_3:int):void ",     
"SQLdrop_trigger;",     ""      ]
@@ -13016,7 +13016,7 @@ stdout of test 'MAL-signatures` in direc
 [ "wlc",       "commit",       "pattern wlc.commit():void ",   
"WLCcommitCmd;",        ""      ]
 [ "wlc",       "create_function",      "pattern wlc.create_function(X_1:str, 
X_2:str):void ",  "WLCgeneric;",  ""      ]
 [ "wlc",       "create_role",  "pattern wlc.create_role(X_1:str, X_2:str, 
X_3:int):void ",     "WLCgeneric;",  ""      ]
-[ "wlc",       "create_schema",        "pattern wlc.create_schema(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",  "WLCgeneric;",  ""      ]
+[ "wlc",       "create_schema",        "pattern wlc.create_schema(X_1:str, 
X_2:str, X_3:int):void ",   "WLCgeneric;",  ""      ]
 [ "wlc",       "create_seq",   "pattern wlc.create_seq(X_1:str, X_2:str, 
X_3:int):void ",      "WLCgeneric;",  ""      ]
 [ "wlc",       "create_table", "pattern wlc.create_table(X_1:str, X_2:str, 
X_3:int):void ",    "WLCgeneric;",  ""      ]
 [ "wlc",       "create_trigger",       "pattern wlc.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 ",  "WLCgeneric;",  ""      ]
@@ -13024,12 +13024,12 @@ stdout of test 'MAL-signatures` in direc
 [ "wlc",       "create_user",  "pattern wlc.create_user(X_1:str, X_2:str, 
X_3:int, X_4:str, X_5:str):void ",   "WLCgeneric;",  ""      ]
 [ "wlc",       "create_view",  "pattern wlc.create_view(X_1:str, X_2:str, 
X_3:int):void ",     "WLCgeneric;",  ""      ]
 [ "wlc",       "delete",       "pattern wlc.delete(X_1:str, X_2:str, 
X_3:any):int ",   "WLCdelete;",   ""      ]
-[ "wlc",       "drop_constraint",      "pattern wlc.drop_constraint(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",        "WLCgeneric;",  ""      ]
+[ "wlc",       "drop_constraint",      "pattern wlc.drop_constraint(X_1:str, 
X_2:str, X_3:str, X_4:int, X_5:int):void ",       "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_function",        "pattern wlc.drop_function(X_1:str, 
X_2:str, X_3:int, X_4:int, X_5:int):void ", "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_index",   "pattern wlc.drop_index(X_1:str, X_2:str, 
X_3:int):void ",      "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_role",    "pattern wlc.drop_role(X_1:str, X_2:int):void 
",        "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_role",    "pattern wlc.drop_role(X_1:str, X_2:str, 
X_3:int):void ",       "WLCgeneric;",  ""      ]
-[ "wlc",       "drop_schema",  "pattern wlc.drop_schema(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",    "WLCgeneric;",  ""      ]
+[ "wlc",       "drop_schema",  "pattern wlc.drop_schema(X_1:str, X_2:int, 
X_3:int):void ",     "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_seq",     "pattern wlc.drop_seq(X_1:str, X_2:str, 
X_3:int):void ",        "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_table",   "pattern wlc.drop_table(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",     "WLCgeneric;",  ""      ]
 [ "wlc",       "drop_trigger", "pattern wlc.drop_trigger(X_1:str, X_2:str, 
X_3:int):void ",    "WLCgeneric;",  ""      ]
@@ -13085,7 +13085,7 @@ stdout of test 'MAL-signatures` in direc
 [ "wlr",       "commit",       "pattern wlr.commit():void ",   "WLRcommit;",   
""      ]
 [ "wlr",       "create_function",      "pattern wlr.create_function(X_1:str, 
X_2:str):void ",  "WLRgeneric;",  ""      ]
 [ "wlr",       "create_role",  "pattern wlr.create_role(X_1:str, X_2:str, 
X_3:int):void ",     "WLRgeneric;",  ""      ]
-[ "wlr",       "create_schema",        "pattern wlr.create_schema(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",  "WLRgeneric;",  ""      ]
+[ "wlr",       "create_schema",        "pattern wlr.create_schema(X_1:str, 
X_2:str, X_3:int):void ",   "WLRgeneric;",  ""      ]
 [ "wlr",       "create_seq",   "pattern wlr.create_seq(X_1:str, X_2:str, 
X_3:int):void ",      "WLRgeneric;",  ""      ]
 [ "wlr",       "create_table", "pattern wlr.create_table(X_1:str, X_2:str, 
X_3:int):void ",    "WLRgeneric;",  ""      ]
 [ "wlr",       "create_trigger",       "pattern wlr.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 ",  "WLRgeneric;",  ""      ]
@@ -13093,12 +13093,12 @@ stdout of test 'MAL-signatures` in direc
 [ "wlr",       "create_user",  "pattern wlr.create_user(X_1:str, X_2:str, 
X_3:int, X_4:str, X_5:str):void ",   "WLRgeneric;",  ""      ]
 [ "wlr",       "create_view",  "pattern wlr.create_view(X_1:str, X_2:str, 
X_3:int):void ",     "WLRgeneric;",  ""      ]
 [ "wlr",       "delete",       "pattern wlr.delete(X_1:str, X_2:str, 
X_3:oid...):int ",        "WLRdelete;",   ""      ]
-[ "wlr",       "drop_constraint",      "pattern wlr.drop_constraint(X_1:str, 
X_2:str, X_3:int, X_4:int):void ",        "WLRgeneric;",  ""      ]
+[ "wlr",       "drop_constraint",      "pattern wlr.drop_constraint(X_1:str, 
X_2:str, X_3:str, X_4:int, X_5:int):void ",       "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_function",        "pattern wlr.drop_function(X_1:str, 
X_2:str, X_3:int, X_4:int, X_5:int):void ", "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_index",   "pattern wlr.drop_index(X_1:str, X_2:str, 
X_3:int):void ",      "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_role",    "pattern wlr.drop_role(X_1:str, X_2:int):void 
",        "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_role",    "pattern wlr.drop_role(X_1:str, X_2:str, 
X_3:int):void ",       "WLRgeneric;",  ""      ]
-[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",    "WLRgeneric;",  ""      ]
+[ "wlr",       "drop_schema",  "pattern wlr.drop_schema(X_1:str, X_2:int, 
X_3:int):void ",     "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_seq",     "pattern wlr.drop_seq(X_1:str, X_2:str, 
X_3:int):void ",        "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_table",   "pattern wlr.drop_table(X_1:str, X_2:str, 
X_3:int, X_4:int):void ",     "WLRgeneric;",  ""      ]
 [ "wlr",       "drop_trigger", "pattern wlr.drop_trigger(X_1:str, X_2:str, 
X_3:int):void ",    "WLRgeneric;",  ""      ]
diff --git a/monetdb5/modules/mal/wlc.c b/monetdb5/modules/mal/wlc.c
--- a/monetdb5/modules/mal/wlc.c
+++ b/monetdb5/modules/mal/wlc.c
@@ -1100,13 +1100,13 @@ mel_func wlc_init_funcs[] = {
  pattern("wlc", "alter_seq", WLCgeneric, false, "Catalog operation alter_seq", 
args(0,3, arg("sname",str),arg("seqname",str),arg("val",lng))),
  pattern("wlc", "alter_seq", WLCgeneric, false, "Catalog operation alter_seq", 
args(0,4, 
arg("sname",str),arg("seqname",str),arg("seq",ptr),batarg("val",lng))),
  pattern("wlc", "drop_seq", WLCgeneric, false, "Catalog operation drop_seq", 
args(0,3, arg("sname",str),arg("nme",str),arg("action",int))),
- pattern("wlc", "create_schema", WLCgeneric, false, "Catalog operation 
create_schema", args(0,4, 
arg("sname",str),arg("auth",str),arg("ifnotexists",int),arg("action",int))),
- pattern("wlc", "drop_schema", WLCgeneric, false, "Catalog operation 
drop_schema", args(0,4, 
arg("sname",str),arg("s",str),arg("ifexists",int),arg("action",int))),
+ pattern("wlc", "create_schema", WLCgeneric, false, "Catalog operation 
create_schema", args(0,3, arg("sname",str),arg("auth",str),arg("action",int))),
+ pattern("wlc", "drop_schema", WLCgeneric, false, "Catalog operation 
drop_schema", args(0,3, 
arg("sname",str),arg("ifexists",int),arg("action",int))),
  pattern("wlc", "create_table", WLCgeneric, false, "Catalog operation 
create_table", args(0,3, arg("sname",str),arg("tname",str),arg("temp",int))),
  pattern("wlc", "create_view", WLCgeneric, false, "Catalog operation 
create_view", args(0,3, arg("sname",str),arg("tname",str),arg("temp",int))),
  pattern("wlc", "drop_table", WLCgeneric, false, "Catalog operation 
drop_table", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
  pattern("wlc", "drop_view", WLCgeneric, false, "Catalog operation drop_view", 
args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
- pattern("wlc", "drop_constraint", WLCgeneric, false, "Catalog operation 
drop_constraint", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
+ pattern("wlc", "drop_constraint", WLCgeneric, false, "Catalog operation 
drop_constraint", args(0,5, 
arg("sname",str),arg("tname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
  pattern("wlc", "alter_table", WLCgeneric, false, "Catalog operation 
alter_table", args(0,3, arg("sname",str),arg("tname",str),arg("action",int))),
  pattern("wlc", "create_type", WLCgeneric, false, "Catalog operation 
create_type", args(0,3, arg("sname",str),arg("nme",str),arg("impl",str))),
  pattern("wlc", "drop_type", WLCgeneric, false, "Catalog operation drop_type", 
args(0,3, arg("sname",str),arg("nme",str),arg("action",int))),
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
@@ -5648,7 +5648,7 @@ rel2bin_trans(backend *be, sql_rel *rel,
 }
 
 static stmt *
-rel2bin_catalog(backend *be, sql_rel *rel, list *refs)
+rel2bin_catalog_schema(backend *be, sql_rel *rel, list *refs)
 {
        mvc *sql = be->mvc;
        node *en = rel->exps->h;
@@ -5664,23 +5664,24 @@ rel2bin_catalog(backend *be, sql_rel *re
        sname = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, 
0);
        if (!sname)
                return NULL;
-       if (en->next) {
-               name = exp_bin(be, en->next->data, NULL, NULL, NULL, NULL, 
NULL, NULL, 0, 0, 0);
-               if (!name)
-                       return NULL;
+       append(l, sname);
+       en = en->next;
+       if (rel->flag == ddl_create_schema) {
+               if (en) {
+                       name = exp_bin(be, en->data, NULL, NULL, NULL, NULL, 
NULL, NULL, 0, 0, 0);
+                       if (!name)
+                               return NULL;
+               } else {
+                       name = stmt_atom_string_nil(be);
+               }
+               append(l, name);
        } else {
-               name = stmt_atom_string_nil(be);
-       }
-       if (en->next && en->next->next) {
-               ifexists = exp_bin(be, en->next->next->data, NULL, NULL, NULL, 
NULL, NULL, NULL, 0, 0, 0);
+               assert(rel->flag == ddl_drop_schema);
+               ifexists = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, 
NULL, 0, 0, 0);
                if (!ifexists)
                        return NULL;
-       } else {
-               ifexists = stmt_atom_int(be, 0);
-       }
-       append(l, sname);
-       append(l, name);
-       append(l, ifexists);
+               append(l, ifexists);
+       }
        append(l, action);
        return stmt_catalog(be, rel->flag, stmt_list(be, l));
 }
@@ -5691,7 +5692,7 @@ rel2bin_catalog_table(backend *be, sql_r
        mvc *sql = be->mvc;
        node *en = rel->exps->h;
        stmt *action = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, 
NULL, 0, 0, 0);
-       stmt *table = NULL, *sname, *tname = NULL, *ifexists = NULL;
+       stmt *table = NULL, *sname, *tname = NULL, *kname = NULL, *ifexists = 
NULL;
        list *l = sa_list(sql->sa);
 
        if (!action)
@@ -5712,6 +5713,15 @@ rel2bin_catalog_table(backend *be, sql_r
        append(l, sname);
        assert(tname);
        append(l, tname);
+       if (rel->flag == ddl_drop_constraint) { /* needs extra string parameter 
for constraint name */
+               if (en) {
+                       kname = exp_bin(be, en->data, NULL, NULL, NULL, NULL, 
NULL, NULL, 0, 0, 0);
+                       if (!kname)
+                               return NULL;
+                       en = en->next;
+               }
+               append(l, kname);
+       }
        if (rel->flag != ddl_drop_table && rel->flag != ddl_drop_view && 
rel->flag != ddl_drop_constraint) {
                if (en) {
                        table = exp_bin(be, en->data, NULL, NULL, NULL, NULL, 
NULL, NULL, 0, 0, 0);
@@ -5796,7 +5806,7 @@ rel2bin_ddl(backend *be, sql_rel *rel, l
                        break;
                case ddl_create_schema:
                case ddl_drop_schema:
-                       s = rel2bin_catalog(be, rel, refs);
+                       s = rel2bin_catalog_schema(be, rel, refs);
                        sql->type = Q_SCHEMA;
                        break;
                case ddl_create_table:
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -6207,13 +6207,13 @@ static mel_func sql_init_funcs[] = {
  pattern("wlr", "alter_seq", WLRgeneric, false, "Catalog operation alter_seq", 
args(0,3, arg("sname",str),arg("seqname",str),arg("val",lng))),
  pattern("wlr", "alter_seq", WLRgeneric, false, "Catalog operation alter_seq", 
args(0,4, 
arg("sname",str),arg("seqname",str),arg("seq",ptr),batarg("val",lng))),
  pattern("wlr", "drop_seq", WLRgeneric, false, "Catalog operation drop_seq", 
args(0,3, arg("sname",str),arg("nme",str),arg("action",int))),
- pattern("wlr", "create_schema", WLRgeneric, false, "Catalog operation 
create_schema", args(0,4, 
arg("sname",str),arg("auth",str),arg("ifnotexists",int),arg("action",int))),
- pattern("wlr", "drop_schema", WLRgeneric, false, "Catalog operation 
drop_schema", args(0,4, 
arg("sname",str),arg("s",str),arg("ifexists",int),arg("action",int))),
+ pattern("wlr", "create_schema", WLRgeneric, false, "Catalog operation 
create_schema", args(0,3, arg("sname",str),arg("auth",str),arg("action",int))),
+ pattern("wlr", "drop_schema", WLRgeneric, false, "Catalog operation 
drop_schema", args(0,3, 
arg("sname",str),arg("ifexists",int),arg("action",int))),
  pattern("wlr", "create_table", WLRgeneric, false, "Catalog operation 
create_table", args(0,3, arg("sname",str),arg("tname",str),arg("temp",int))),
  pattern("wlr", "create_view", WLRgeneric, false, "Catalog operation 
create_view", args(0,3, arg("sname",str),arg("tname",str),arg("temp",int))),
  pattern("wlr", "drop_table", WLRgeneric, false, "Catalog operation 
drop_table", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
  pattern("wlr", "drop_view", WLRgeneric, false, "Catalog operation drop_view", 
args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
- pattern("wlr", "drop_constraint", WLRgeneric, false, "Catalog operation 
drop_constraint", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
+ pattern("wlr", "drop_constraint", WLRgeneric, false, "Catalog operation 
drop_constraint", args(0,5, 
arg("sname",str),arg("tname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
  pattern("wlr", "alter_table", WLRgeneric, false, "Catalog operation 
alter_table", args(0,3, arg("sname",str),arg("tname",str),arg("action",int))),
  pattern("wlr", "create_type", WLRgeneric, false, "Catalog operation 
create_type", args(0,3, arg("sname",str),arg("nme",str),arg("impl",str))),
  pattern("wlr", "drop_type", WLRgeneric, false, "Catalog operation drop_type", 
args(0,3, arg("sname",str),arg("nme",str),arg("action",int))),
@@ -6256,13 +6256,13 @@ static mel_func sql_init_funcs[] = {
  pattern("sqlcatalog", "alter_seq", SQLalter_seq, false, "Catalog operation 
alter_seq", args(0,4, 
arg("sname",str),arg("seqname",str),arg("seq",ptr),arg("val",lng))),
  pattern("sqlcatalog", "alter_seq", SQLalter_seq, false, "Catalog operation 
alter_seq", args(0,4, 
arg("sname",str),arg("seqname",str),arg("seq",ptr),batarg("val",lng))),
  pattern("sqlcatalog", "drop_seq", SQLdrop_seq, false, "Catalog operation 
drop_seq", args(0,3, arg("sname",str),arg("nme",str),arg("action",int))),
- pattern("sqlcatalog", "create_schema", SQLcreate_schema, false, "Catalog 
operation create_schema", args(0,4, 
arg("sname",str),arg("auth",str),arg("ifnotexists",int),arg("action",int))),
- pattern("sqlcatalog", "drop_schema", SQLdrop_schema, false, "Catalog 
operation drop_schema", args(0,4, 
arg("sname",str),arg("s",str),arg("ifexists",int),arg("action",int))),
+ pattern("sqlcatalog", "create_schema", SQLcreate_schema, false, "Catalog 
operation create_schema", args(0,3, 
arg("sname",str),arg("auth",str),arg("action",int))),
+ pattern("sqlcatalog", "drop_schema", SQLdrop_schema, false, "Catalog 
operation drop_schema", args(0,3, 
arg("sname",str),arg("ifexists",int),arg("action",int))),
  pattern("sqlcatalog", "create_table", SQLcreate_table, false, "Catalog 
operation create_table", args(0,4, 
arg("sname",str),arg("tname",str),arg("tbl",ptr),arg("temp",int))),
  pattern("sqlcatalog", "create_view", SQLcreate_view, false, "Catalog 
operation create_view", args(0,4, 
arg("sname",str),arg("vname",str),arg("tbl",ptr),arg("temp",int))),
  pattern("sqlcatalog", "drop_table", SQLdrop_table, false, "Catalog operation 
drop_table", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
  pattern("sqlcatalog", "drop_view", SQLdrop_view, false, "Catalog operation 
drop_view", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
- pattern("sqlcatalog", "drop_constraint", SQLdrop_constraint, false, "Catalog 
operation drop_constraint", args(0,4, 
arg("sname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
+ pattern("sqlcatalog", "drop_constraint", SQLdrop_constraint, false, "Catalog 
operation drop_constraint", args(0,5, 
arg("sname",str),arg("tname",str),arg("name",str),arg("action",int),arg("ifexists",int))),
  pattern("sqlcatalog", "alter_table", SQLalter_table, false, "Catalog 
operation alter_table", args(0,4, 
arg("sname",str),arg("tname",str),arg("tbl",ptr),arg("action",int))),
  pattern("sqlcatalog", "create_type", SQLcreate_type, false, "Catalog 
operation create_type", args(0,3, 
arg("sname",str),arg("nme",str),arg("impl",str))),
  pattern("sqlcatalog", "drop_type", SQLdrop_type, false, "Catalog operation 
drop_type", args(0,3, arg("sname",str),arg("nme",str),arg("action",int))),
diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -597,20 +597,25 @@ drop_view(mvc *sql, char *sname, char *t
 }
 
 static str
-drop_key(mvc *sql, char *sname, char *kname, int drop_action)
+drop_key(mvc *sql, char *sname, char *tname, char *kname, int drop_action)
 {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to