Changeset: ea292e809f19 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ea292e809f19
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        sql/backends/monet5/mal_backend.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sqlcatalog.mal
        sql/server/rel_psm.c
        sql/server/rel_schema.c
        sql/server/rel_sequence.c
Branch: default
Log Message:

also pass the table, function, sequence names in the mal-create* functions


diffs (truncated from 444 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
@@ -8463,19 +8463,19 @@ Ready.
 [ "sqlblob",   "sqlblob",      "command sqlblob.sqlblob(s:str):sqlblob ",      
"BLOBsqlblob_fromstr;", ""      ]
 [ "sqlcatalog",        "alter_add_table",      "pattern 
sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_add_table;",  "Catalog operation 
alter_add_table"     ]
 [ "sqlcatalog",        "alter_del_table",      "pattern 
sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_del_table;",  "Catalog operation 
alter_del_table"     ]
-[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seq:ptr, val:lng):void ",      "SQLalter_seq;", 
       "Catalog operation alter_seq"   ]
+[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", 
"SQLalter_seq;",        "Catalog operation alter_seq"   ]
 [ "sqlcatalog",        "alter_set_table",      "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",    
"SQLalter_set_table;",  "Catalog operation alter_set_table"     ]
-[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tbl:ptr, action:int):void ", 
"SQLalter_table;",      "Catalog operation alter_table" ]
+[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",      
"SQLalter_table;",      "Catalog operation alter_table" ]
 [ "sqlcatalog",        "alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ",     "SQLalter_user;",       "Catalog operation 
alter_user"  ]
-[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fcn:ptr):void ", "SQLcreate_function;",  
"Catalog operation create_function"     ]
+[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",      
"SQLcreate_function;",  "Catalog operation create_function"     ]
 [ "sqlcatalog",        "create_role",  "pattern 
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",        
"SQLcreate_role;",      "Catalog operation create_role" ]
 [ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(sname:str, auth:str, action:int):void ",      
"SQLcreate_schema;",    "Catalog operation create_schema"       ]
-[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seq:ptr, action:int):void ",  
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
-[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tbl:ptr, temp:int):void ",  
"SQLcreate_table;",     "Catalog operation create_table"        ]
+[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seqname:str, seq:ptr, action:int):void ",     
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
+[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tname:str, tbl:ptr, temp:int):void ",       
"SQLcreate_table;",     "Catalog operation create_table"        ]
 [ "sqlcatalog",        "create_trigger",       "pattern 
sqlcatalog.create_trigger(sname:str, tname:str, triggername:str, time:int, 
orientation:int, event:int, old:str, new:str, cond:str, qry:str):void ",    
"SQLcreate_trigger;",   "Catalog operation create_trigger"      ]
 [ "sqlcatalog",        "create_type",  "pattern 
sqlcatalog.create_type(sname:str, nme:str, impl:str):void ",   
"SQLcreate_type;",      "Catalog operation create_type" ]
 [ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(sname:str, passwrd:str, enc:int, schema:str, 
fullname:str):void ",      "SQLcreate_user;",      "Catalog operation 
create_user" ]
-[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, tbl:ptr, temp:int):void ",   
"SQLcreate_view;",      "Catalog operation create_view" ]
+[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, vname:str, tbl:ptr, temp:int):void ",        
"SQLcreate_view;",      "Catalog operation create_view" ]
 [ "sqlcatalog",        "drop_constraint",      "pattern 
sqlcatalog.drop_constraint(sname:str, name:str, action:int):void ",    
"SQLdrop_constraint;",  "Catalog operation drop_constraint"     ]
 [ "sqlcatalog",        "drop_function",        "pattern 
sqlcatalog.drop_function(sname:str, fname:str, fid:int, type:int, 
action:int):void ",  "SQLdrop_function;",    "Catalog operation drop_function"  
     ]
 [ "sqlcatalog",        "drop_index",   "pattern 
sqlcatalog.drop_index(sname:str, iname:str, action:int):void ",        
"SQLdrop_index;",       "Catalog operation drop_index"  ]
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
@@ -10827,19 +10827,19 @@ Ready.
 [ "sqlblob",   "sqlblob",      "command sqlblob.sqlblob(s:str):sqlblob ",      
"BLOBsqlblob_fromstr;", ""      ]
 [ "sqlcatalog",        "alter_add_table",      "pattern 
sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_add_table;",  "Catalog operation 
alter_add_table"     ]
 [ "sqlcatalog",        "alter_del_table",      "pattern 
sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, 
action:int):void ",     "SQLalter_del_table;",  "Catalog operation 
alter_del_table"     ]
-[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seq:ptr, val:lng):void ",      "SQLalter_seq;", 
       "Catalog operation alter_seq"   ]
+[ "sqlcatalog",        "alter_seq",    "pattern 
sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", 
"SQLalter_seq;",        "Catalog operation alter_seq"   ]
 [ "sqlcatalog",        "alter_set_table",      "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",    
"SQLalter_set_table;",  "Catalog operation alter_set_table"     ]
-[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tbl:ptr, action:int):void ", 
"SQLalter_table;",      "Catalog operation alter_table" ]
+[ "sqlcatalog",        "alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",      
"SQLalter_table;",      "Catalog operation alter_table" ]
 [ "sqlcatalog",        "alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ",     "SQLalter_user;",       "Catalog operation 
alter_user"  ]
-[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fcn:ptr):void ", "SQLcreate_function;",  
"Catalog operation create_function"     ]
+[ "sqlcatalog",        "create_function",      "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",      
"SQLcreate_function;",  "Catalog operation create_function"     ]
 [ "sqlcatalog",        "create_role",  "pattern 
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",        
"SQLcreate_role;",      "Catalog operation create_role" ]
 [ "sqlcatalog",        "create_schema",        "pattern 
sqlcatalog.create_schema(sname:str, auth:str, action:int):void ",      
"SQLcreate_schema;",    "Catalog operation create_schema"       ]
-[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seq:ptr, action:int):void ",  
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
-[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tbl:ptr, temp:int):void ",  
"SQLcreate_table;",     "Catalog operation create_table"        ]
+[ "sqlcatalog",        "create_seq",   "pattern 
sqlcatalog.create_seq(sname:str, seqname:str, seq:ptr, action:int):void ",     
"SQLcreate_seq;",       "Catalog operation create_seq"  ]
+[ "sqlcatalog",        "create_table", "pattern 
sqlcatalog.create_table(sname:str, tname:str, tbl:ptr, temp:int):void ",       
"SQLcreate_table;",     "Catalog operation create_table"        ]
 [ "sqlcatalog",        "create_trigger",       "pattern 
sqlcatalog.create_trigger(sname:str, tname:str, triggername:str, time:int, 
orientation:int, event:int, old:str, new:str, cond:str, qry:str):void ",    
"SQLcreate_trigger;",   "Catalog operation create_trigger"      ]
 [ "sqlcatalog",        "create_type",  "pattern 
sqlcatalog.create_type(sname:str, nme:str, impl:str):void ",   
"SQLcreate_type;",      "Catalog operation create_type" ]
 [ "sqlcatalog",        "create_user",  "pattern 
sqlcatalog.create_user(sname:str, passwrd:str, enc:int, schema:str, 
fullname:str):void ",      "SQLcreate_user;",      "Catalog operation 
create_user" ]
-[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, tbl:ptr, temp:int):void ",   
"SQLcreate_view;",      "Catalog operation create_view" ]
+[ "sqlcatalog",        "create_view",  "pattern 
sqlcatalog.create_view(sname:str, vname:str, tbl:ptr, temp:int):void ",        
"SQLcreate_view;",      "Catalog operation create_view" ]
 [ "sqlcatalog",        "drop_constraint",      "pattern 
sqlcatalog.drop_constraint(sname:str, name:str, action:int):void ",    
"SQLdrop_constraint;",  "Catalog operation drop_constraint"     ]
 [ "sqlcatalog",        "drop_function",        "pattern 
sqlcatalog.drop_function(sname:str, fname:str, fid:int, type:int, 
action:int):void ",  "SQLdrop_function;",    "Catalog operation drop_function"  
     ]
 [ "sqlcatalog",        "drop_index",   "pattern 
sqlcatalog.drop_index(sname:str, iname:str, action:int):void ",        
"SQLdrop_index;",       "Catalog operation drop_index"  ]
diff --git a/sql/backends/monet5/mal_backend.c 
b/sql/backends/monet5/mal_backend.c
--- a/sql/backends/monet5/mal_backend.c
+++ b/sql/backends/monet5/mal_backend.c
@@ -18,6 +18,7 @@ backend_reset(backend *b)
 
        b->vtop = 0;
        b->q = NULL;
+       b->mb = NULL;
        b->mvc_var = 0;
        b->output_format = OFMT_CSV;
        return b;
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
@@ -4552,7 +4552,7 @@ rel2bin_seq(backend *be, sql_rel *rel, l
 {
        mvc *sql = be->mvc;
        node *en = rel->exps->h;
-       stmt *restart, *sname, *seq, *sl = NULL;
+       stmt *restart, *sname, *seq, *seqname, *sl = NULL;
        list *l = sa_list(sql->sa);
 
        if (rel->l)  /* first construct the sub relation */
@@ -4560,10 +4560,12 @@ rel2bin_seq(backend *be, sql_rel *rel, l
 
        restart = exp_bin(be, en->data, sl, NULL, NULL, NULL, NULL, NULL);
        sname = exp_bin(be, en->next->data, sl, NULL, NULL, NULL, NULL, NULL);
-       seq = exp_bin(be, en->next->next->data, sl, NULL, NULL, NULL, NULL, 
NULL);
+       seqname = exp_bin(be, en->next->next->data, sl, NULL, NULL, NULL, NULL, 
NULL);
+       seq = exp_bin(be, en->next->next->next->data, sl, NULL, NULL, NULL, 
NULL, NULL);
 
        (void)refs;
        append(l, sname);
+       append(l, seqname);
        append(l, seq);
        append(l, restart);
        return stmt_catalog(be, rel->flag, stmt_list(be, l));
@@ -4611,17 +4613,24 @@ 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);
-       stmt *table = NULL, *sname;
+       stmt *table = NULL, *sname, *tname = NULL;
        list *l = sa_list(sql->sa);
 
        (void)refs;
        en = en->next;
        sname = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, NULL);
        en = en->next;
+       if (en) {
+               tname = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, 
NULL);
+               en = en->next;
+       }
        if (en) 
                table = exp_bin(be, en->data, NULL, NULL, NULL, NULL, NULL, 
NULL);
        append(l, sname);
-       append(l, table);
+       assert(tname);
+       append(l, tname);
+       if (rel->flag != DDL_DROP_TABLE && rel->flag != 
DDL_DROP_TABLE_IF_EXISTS && rel->flag != DDL_DROP_VIEW && rel->flag != 
DDL_DROP_VIEW_IF_EXISTS && rel->flag != DDL_DROP_CONSTRAINT)
+               append(l, table);
        append(l, action);
        return stmt_catalog(be, rel->flag, stmt_list(be, l));
 }
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
@@ -275,13 +275,14 @@ SQLshutdown_wrap(Client cntxt, MalBlkPtr
 }
 
 str
-create_table_or_view(mvc *sql, char *sname, sql_table *t, int temp)
+create_table_or_view(mvc *sql, char *sname, char *tname, sql_table *t, int 
temp)
 {
        sql_allocator *osa;
        sql_schema *s = mvc_bind_schema(sql, sname);
        sql_table *nt = NULL;
        node *n;
 
+       (void)tname;
        if (STORE_READONLY)
                return sql_error(sql, 06, "25006!schema statements cannot be 
executed on a readonly database.");
 
@@ -404,7 +405,7 @@ create_table_from_emit(Client cntxt, cha
                        goto cleanup;
                }
        }
-       msg = create_table_or_view(sql, sname, t, 0);
+       msg = create_table_or_view(sql, sname, t->base.name, t, 0);
        if (msg != MAL_SUCCEED) {
                goto cleanup;
        }
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
@@ -147,7 +147,7 @@ sql5_export str sql_dense_rank(bat *rid,
 sql5_export str SQLidentity(oid *rid, const void *i);
 sql5_export str BATSQLidentity(bat *rid, const bat *bid);
 sql5_export str PBATSQLidentity(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
-sql5_export str create_table_or_view(mvc *sql, char *sname, sql_table *t, int 
temp);
+sql5_export str create_table_or_view(mvc *sql, char *sname, char *tname, 
sql_table *t, int temp);
 sql5_export str create_table_from_emit(Client cntxt, char *sname, char *tname, 
sql_emit_col *columns, size_t ncols);
 
 sql5_export str bte_dec_round_wrap(bte *res, const bte *v, const bte *r);
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
@@ -376,10 +376,11 @@ drop_index(Client cntxt, mvc *sql, char 
 }
 
 static str
-create_seq(mvc *sql, char *sname, sql_sequence *seq)
+create_seq(mvc *sql, char *sname, char *seqname, sql_sequence *seq)
 {
        sql_schema *s = NULL;
 
+       (void)seqname;
        if (sname && !(s = mvc_bind_schema(sql, sname)))
                return sql_message("3F000!CREATE SEQUENCE: no such schema 
'%s'", sname);
        if (s == NULL)
@@ -394,11 +395,12 @@ create_seq(mvc *sql, char *sname, sql_se
 }
 
 static str
-alter_seq(mvc *sql, char *sname, sql_sequence *seq, lng *val)
+alter_seq(mvc *sql, char *sname, char *seqname, sql_sequence *seq, lng *val)
 {
        sql_schema *s = NULL;
        sql_sequence *nseq = NULL;
 
+       (void)seqname;
        if (sname && !(s = mvc_bind_schema(sql, sname)))
                return sql_message("3F000!ALTER SEQUENCE: no such schema '%s'", 
sname);
        if (s == NULL)
@@ -489,7 +491,7 @@ drop_func(mvc *sql, char *sname, char *n
 }
 
 static char *
-create_func(mvc *sql, char *sname, sql_func *f)
+create_func(mvc *sql, char *sname, char *fname, sql_func *f)
 {
        sql_func *nf;
        sql_schema *s = NULL;
@@ -498,6 +500,7 @@ create_func(mvc *sql, char *sname, sql_f
        char *F = is_aggr ? "AGGREGATE" : (is_func ? "FUNCTION" : "PROCEDURE");
        char *KF = f->type == F_FILT ? "FILTER " : f->type == F_UNION ? "UNION 
" : "";
 
+       (void)fname;
        if (sname && !(s = mvc_bind_schema(sql, sname)))
                return sql_message("3F000!CREATE %s%s: no such schema '%s'", 
KF, F, sname);
        if (!s)
@@ -685,7 +688,8 @@ UPGcreate_func(Client cntxt, MalBlkPtr m
        mvc *sql = NULL;
        str msg = MAL_SUCCEED;
        str sname = *getArgReference_str(stk, pci, 1), osname;
-       str func = *getArgReference_str(stk, pci, 2);
+       str fname = *getArgReference_str(stk, pci, 2);
+       str func = *getArgReference_str(stk, pci, 3);
        stmt *s;
        backend *be;
 
@@ -700,7 +704,7 @@ UPGcreate_func(Client cntxt, MalBlkPtr m
                char *schema = 
((stmt*)s->op1->op4.lval->h->data)->op4.aval->data.val.sval;
                sql_func *func = 
(sql_func*)((stmt*)s->op1->op4.lval->t->data)->op4.aval->data.val.pval;
 
-               msg = create_func(sql, schema, func);
+               msg = create_func(sql, schema, fname, func);
                mvc_set_schema(sql, osname);
        } else {
                mvc_set_schema(sql, osname);
@@ -732,7 +736,7 @@ UPGcreate_view(Client cntxt, MalBlkPtr m
                sql_table *v = 
(sql_table*)((stmt*)s->op1->op4.lval->h->next->data)->op4.aval->data.val.pval;
                int temp = 
((stmt*)s->op1->op4.lval->t->data)->op4.aval->data.val.ival;
 
-               msg = create_table_or_view(sql, schema, v, temp);
+               msg = create_table_or_view(sql, schema, v->base.name, v, temp);
                mvc_set_schema(sql, osname);
        } else {
                mvc_set_schema(sql, osname);
@@ -747,10 +751,11 @@ SQLcreate_seq(Client cntxt, MalBlkPtr mb
 {      mvc *sql = NULL;
        str msg;
        str sname = *getArgReference_str(stk, pci, 1); 
-       sql_sequence *s = *(sql_sequence **) getArgReference(stk, pci, 2);
+       str seqname = *getArgReference_str(stk, pci, 2); 
+       sql_sequence *s = *(sql_sequence **) getArgReference(stk, pci, 3);
 
        initcontext();
-       msg = create_seq(sql, sname, s);
+       msg = create_seq(sql, sname, seqname, s);
        return msg;
 }
 
@@ -759,16 +764,17 @@ SQLalter_seq(Client cntxt, MalBlkPtr mb,
 {      mvc *sql = NULL;
        str msg;
        str sname = *getArgReference_str(stk, pci, 1); 
+       str seqname = *getArgReference_str(stk, pci, 2); 
+       sql_sequence *s = *(sql_sequence **) getArgReference(stk, pci, 3);
        lng *val = NULL;
-       sql_sequence *s = *(sql_sequence **) getArgReference(stk, pci, 2);
 
        initcontext();
-       if (getArgType(mb, pci, 3) == TYPE_lng)
-               val = getArgReference_lng(stk, pci, 3);
+       if (getArgType(mb, pci, 4) == TYPE_lng)
+               val = getArgReference_lng(stk, pci, 4);
        if (val == NULL || *val == lng_nil)
                msg = sql_message("42M36!ALTER SEQUENCE: cannot (re)start with 
NULL");
        else
-               msg = alter_seq(sql, sname, s, val);
+               msg = alter_seq(sql, sname, seqname, s, val);
        return msg;
 }
 
@@ -846,11 +852,12 @@ SQLcreate_table(Client cntxt, MalBlkPtr 
 {      mvc *sql = NULL;
        str msg;
        str sname = *getArgReference_str(stk, pci, 1); 
-       sql_table *t = *(sql_table **) getArgReference(stk, pci, 2);
-       int temp = *getArgReference_int(stk, pci, 3);
+       str tname = *getArgReference_str(stk, pci, 2); 
+       sql_table *t = *(sql_table **) getArgReference(stk, pci, 3);
+       int temp = *getArgReference_int(stk, pci, 4);
 
        initcontext();
-       msg = create_table_or_view(sql, sname, t, temp);
+       msg = create_table_or_view(sql, sname, tname, t, temp);
        return msg;
 }
 
@@ -859,11 +866,12 @@ SQLcreate_view(Client cntxt, MalBlkPtr m
 {      mvc *sql = NULL;
        str msg;
        str sname = *getArgReference_str(stk, pci, 1); 
-       sql_table *t = *(sql_table **) getArgReference(stk, pci, 2);
-       int temp = *getArgReference_int(stk, pci, 3);
+       str vname = *getArgReference_str(stk, pci, 2); 
+       sql_table *t = *(sql_table **) getArgReference(stk, pci, 3);
+       int temp = *getArgReference_int(stk, pci, 4);
 
        initcontext();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to