Changeset: 9b67fa9cbfc1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9b67fa9cbfc1 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/modules/kernel/algebra.c monetdb5/modules/mal/Tests/pqueue.maltest monetdb5/modules/mal/Tests/pqueue2.maltest monetdb5/modules/mal/Tests/pqueue3.maltest sql/backends/monet5/sql_statement.c Branch: default Log Message:
Cleanup: remove algebra.firstn without candidate list/subgroup. diffs (truncated from 582 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 @@ -611,11 +611,7 @@ stdout of test 'MAL-signatures` in direc [ "algebra", "fetch", "command algebra.fetch(X_1:bat[:any_1], X_2:oid):any_1 ", "ALGfetchoid;", "" ] [ "algebra", "find", "command algebra.find(X_1:bat[:any_1], X_2:any_1):oid ", "ALGfind;", "" ] [ "algebra", "firstn", "pattern algebra.firstn(X_1:bat[:any], X_2:bat[:oid], X_3:bat[:oid], X_4:lng, X_5:bit, X_6:bit, X_7:bit):bat[:oid] ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_1:bat[:any], X_2:bat[:oid], X_3:lng, X_4:bit, X_5:bit, X_6:bit):bat[:oid] ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_1:bat[:any], X_2:lng, X_3:bit, X_4:bit, X_5:bit):bat[:oid] ", "ALGfirstn;", "" ] [ "algebra", "firstn", "pattern algebra.firstn(X_2:bat[:any], X_3:bat[:oid], X_4:bat[:oid], X_5:lng, X_6:bit, X_7:bit, X_8:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_2:bat[:any], X_3:bat[:oid], X_4:lng, X_5:bit, X_6:bit, X_7:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_2:bat[:any], X_3:lng, X_4:bit, X_5:bit, X_6:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGfirstn;", "" ] [ "algebra", "groupby", "command algebra.groupby(X_1:bat[:oid], X_2:bat[:lng]):bat[:oid] ", "ALGgroupby;", "" ] [ "algebra", "ilike", "command algebra.ilike(X_1:str, X_2:str):bit ", "PCREilike2;", "" ] [ "algebra", "ilike", "command algebra.ilike(X_1:str, X_2:str, X_3:str):bit ", "PCREilike3;", "" ] 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 @@ -724,11 +724,7 @@ stdout of test 'MAL-signatures` in direc [ "algebra", "fetch", "command algebra.fetch(X_1:bat[:any_1], X_2:oid):any_1 ", "ALGfetchoid;", "" ] [ "algebra", "find", "command algebra.find(X_1:bat[:any_1], X_2:any_1):oid ", "ALGfind;", "" ] [ "algebra", "firstn", "pattern algebra.firstn(X_1:bat[:any], X_2:bat[:oid], X_3:bat[:oid], X_4:lng, X_5:bit, X_6:bit, X_7:bit):bat[:oid] ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_1:bat[:any], X_2:bat[:oid], X_3:lng, X_4:bit, X_5:bit, X_6:bit):bat[:oid] ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_1:bat[:any], X_2:lng, X_3:bit, X_4:bit, X_5:bit):bat[:oid] ", "ALGfirstn;", "" ] [ "algebra", "firstn", "pattern algebra.firstn(X_2:bat[:any], X_3:bat[:oid], X_4:bat[:oid], X_5:lng, X_6:bit, X_7:bit, X_8:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_2:bat[:any], X_3:bat[:oid], X_4:lng, X_5:bit, X_6:bit, X_7:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGfirstn;", "" ] -[ "algebra", "firstn", "pattern algebra.firstn(X_2:bat[:any], X_3:lng, X_4:bit, X_5:bit, X_6:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGfirstn;", "" ] [ "algebra", "groupby", "command algebra.groupby(X_1:bat[:oid], X_2:bat[:lng]):bat[:oid] ", "ALGgroupby;", "" ] [ "algebra", "ilike", "command algebra.ilike(X_1:str, X_2:str):bit ", "PCREilike2;", "" ] [ "algebra", "ilike", "command algebra.ilike(X_1:str, X_2:str, X_3:str):bit ", "PCREilike3;", "" ] diff --git a/monetdb5/modules/kernel/algebra.c b/monetdb5/modules/kernel/algebra.c --- a/monetdb5/modules/kernel/algebra.c +++ b/monetdb5/modules/kernel/algebra.c @@ -679,7 +679,7 @@ ALGfirstn(Client cntxt, MalBlkPtr mb, Ma assert(pci->retc == 1 || pci->retc == 2); assert(pci->argc - pci->retc >= 5 && pci->argc - pci->retc <= 7); - n = * getArgReference_lng(stk, pci, pci->argc - 4); + n = *getArgReference_lng(stk, pci, pci->argc - 4); if (n < 0 || (lng) n >= (lng) BUN_MAX) throw(MAL, "algebra.firstn", ILLEGAL_ARGUMENT); ret1 = getArgReference_bat(stk, pci, 0); @@ -696,16 +696,16 @@ ALGfirstn(Client cntxt, MalBlkPtr mb, Ma } if (pci->argc - pci->retc > 6) { gid = *getArgReference_bat(stk, pci, pci->retc + 2); - if ((g = BATdescriptor(gid)) == NULL) { + if (!is_bat_nil(gid) && (g = BATdescriptor(gid)) == NULL) { BBPunfix(bid); BBPunfix(sid); throw(MAL, "algebra.firstn", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING); } } } - asc = * getArgReference_bit(stk, pci, pci->argc - 3); - nilslast = * getArgReference_bit(stk, pci, pci->argc - 2); - distinct = * getArgReference_bit(stk, pci, pci->argc - 1); + asc = *getArgReference_bit(stk, pci, pci->argc - 3); + nilslast = *getArgReference_bit(stk, pci, pci->argc - 2); + distinct = *getArgReference_bit(stk, pci, pci->argc - 1); rc = BATfirstn(&bn, ret2 ? &gn : NULL, b, s, g, (BUN) n, asc, nilslast, distinct); BBPunfix(b->batCacheid); if (s) @@ -1422,11 +1422,7 @@ mel_func algebra_init_funcs[] = { command("algebra", "rangejoin", ALGrangejoin1, false, "Range join: values in l and r1/r2 match if r1 <[=] l <[=] r2; only produce left output", args(1,11,batarg("",oid),batargany("l",1),batargany("r1",1),batargany("r2",1),batarg("sl",oid),batarg("sr",oid),arg("li",bit),arg("hi",bit),arg("anti",bit),arg("symmetric",bit),arg("estimate",lng))), command("algebra", "difference", ALGdifference, false, "Difference of l and r with candidate lists", args(1,8, batarg("",oid),batargany("l",1),batargany("r",1),batarg("sl",oid),batarg("sr",oid),arg("nil_matches",bit),arg("nil_clears",bit),arg("estimate",lng))), command("algebra", "intersect", ALGintersect, false, "Intersection of l and r with candidate lists (i.e. half of semi-join)", args(1,8, batarg("",oid),batargany("l",1),batargany("r",1),batarg("sl",oid),batarg("sr",oid),arg("nil_matches",bit),arg("max_one",bit),arg("estimate",lng))), - pattern("algebra", "firstn", ALGfirstn, false, "Calculate first N values of B", args(1,6, batarg("",oid),batargany("b",0),arg("n",lng),arg("asc",bit),arg("nilslast",bit),arg("distinct",bit))), - pattern("algebra", "firstn", ALGfirstn, false, "Calculate first N values of B with candidate list S", args(1,7, batarg("",oid),batargany("b",0),batarg("s",oid),arg("n",lng),arg("asc",bit),arg("nilslast",bit),arg("distinct",bit))), pattern("algebra", "firstn", ALGfirstn, false, "Calculate first N values of B with candidate list S", args(1,8, batarg("",oid),batargany("b",0),batarg("s",oid),batarg("g",oid),arg("n",lng),arg("asc",bit),arg("nilslast",bit),arg("distinct",bit))), - pattern("algebra", "firstn", ALGfirstn, false, "Calculate first N values of B", args(2,7, batarg("",oid),batarg("",oid),batargany("b",0),arg("n",lng),arg("asc",bit),arg("nilslast",bit),arg("distinct",bit))), - pattern("algebra", "firstn", ALGfirstn, false, "Calculate first N values of B with candidate list S", args(2,8, batarg("",oid),batarg("",oid),batargany("b",0),batarg("s",oid),arg("n",lng),arg("asc",bit),arg("nilslast",bit),arg("distinct",bit))), pattern("algebra", "firstn", ALGfirstn, false, "Calculate first N values of B with candidate list S", args(2,9, batarg("",oid),batarg("",oid),batargany("b",0),batarg("s",oid),batarg("g",oid),arg("n",lng),arg("asc",bit),arg("nilslast",bit),arg("distinct",bit))), command("algebra", "reuse", ALGreuse, false, "Reuse a temporary BAT if you can. Otherwise,\nallocate enough storage to accept result of an\noperation (not involving the heap)", args(1,2, batargany("",1),batargany("b",1))), command("algebra", "slice", ALGslice_oid, false, "Return the slice based on head oid x till y (exclusive).", args(1,4, batargany("",1),batargany("b",1),arg("x",oid),arg("y",oid))), diff --git a/monetdb5/modules/mal/Tests/pqueue.maltest b/monetdb5/modules/mal/Tests/pqueue.maltest --- a/monetdb5/modules/mal/Tests/pqueue.maltest +++ b/monetdb5/modules/mal/Tests/pqueue.maltest @@ -28,14 +28,14 @@ io.print(b) 14 values hashing to 6f65e6b8b547c5732d61c715af858a15 statement ok -bp:= algebra.firstn(b,0:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,0:lng,false,true,false) query TT rowsort io.print(bp) ---- statement ok -bp:= algebra.firstn(b,1:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,1:lng,false,true,false) query TT rowsort io.print(bp) @@ -44,7 +44,7 @@ 0 4 statement ok -bp:= algebra.firstn(b,2:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,2:lng,false,true,false) query TT rowsort io.print(bp) @@ -55,7 +55,7 @@ 1 5 statement ok -bp:= algebra.firstn(b,3:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,3:lng,false,true,false) query TT rowsort io.print(bp) @@ -68,7 +68,7 @@ 2 6 statement ok -bp:= algebra.firstn(b,4:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,4:lng,false,true,false) query TT rowsort io.print(bp) @@ -83,7 +83,7 @@ 3 6 statement ok -bp:= algebra.firstn(b,5:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,5:lng,false,true,false) query TT rowsort io.print(bp) @@ -91,7 +91,7 @@ io.print(bp) 10 values hashing to 9366dac70a8c800c4a3ba376d3995e4b statement ok -bp:= algebra.firstn(b,6:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,6:lng,false,true,false) query TT rowsort io.print(bp) @@ -99,7 +99,7 @@ io.print(bp) 12 values hashing to 0c93b862b714640e965b921e1f8ab8ff statement ok -bp:= algebra.firstn(b,7:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,7:lng,false,true,false) query TT rowsort io.print(bp) @@ -107,7 +107,7 @@ io.print(bp) 14 values hashing to 85ff96c644d3ad69de07d013f0043314 statement ok -bp:= algebra.firstn(b,8:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,8:lng,false,true,false) query TT rowsort io.print(bp) @@ -115,14 +115,14 @@ io.print(bp) 14 values hashing to 85ff96c644d3ad69de07d013f0043314 statement ok -bp:= algebra.firstn(b,0:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,0:lng,true,false,false) query TT rowsort io.print(bp) ---- statement ok -bp:= algebra.firstn(b,1:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,1:lng,true,false,false) query TT rowsort io.print(bp) @@ -131,7 +131,7 @@ 0 1 statement ok -bp:= algebra.firstn(b,2:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,2:lng,true,false,false) query TT rowsort io.print(bp) @@ -142,7 +142,7 @@ 1 1 statement ok -bp:= algebra.firstn(b,3:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,3:lng,true,false,false) query TT rowsort io.print(bp) @@ -155,7 +155,7 @@ 2 2 statement ok -bp:= algebra.firstn(b,4:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,4:lng,true,false,false) query TT rowsort io.print(bp) @@ -170,7 +170,7 @@ 3 3 statement ok -bp:= algebra.firstn(b,5:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,5:lng,true,false,false) query TT rowsort io.print(bp) @@ -178,7 +178,7 @@ io.print(bp) 10 values hashing to f51acd2cc63747ad3ac6c1140a98247f statement ok -bp:= algebra.firstn(b,6:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,6:lng,true,false,false) query TT rowsort io.print(bp) @@ -186,7 +186,7 @@ io.print(bp) 12 values hashing to 62c2e86589d15c4e4a7edfd67ebb2baa statement ok -bp:= algebra.firstn(b,7:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,7:lng,true,false,false) query TT rowsort io.print(bp) @@ -194,7 +194,7 @@ io.print(bp) 14 values hashing to 85ff96c644d3ad69de07d013f0043314 statement ok -bp:= algebra.firstn(b,8:lng,true,false,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,8:lng,true,false,false) query TT rowsort io.print(bp) diff --git a/monetdb5/modules/mal/Tests/pqueue2.maltest b/monetdb5/modules/mal/Tests/pqueue2.maltest --- a/monetdb5/modules/mal/Tests/pqueue2.maltest +++ b/monetdb5/modules/mal/Tests/pqueue2.maltest @@ -57,14 +57,14 @@ io.print(b) 14 values hashing to 6f65e6b8b547c5732d61c715af858a15 statement ok -bp:= algebra.firstn(b,0:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,0:lng,false,true,false) query TT rowsort io.print(bp) ---- statement ok -bp:= algebra.firstn(b,1:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,1:lng,false,true,false) query TT rowsort io.print(bp) @@ -73,7 +73,7 @@ 0 4 statement ok -bp:= algebra.firstn(b,2:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,2:lng,false,true,false) query TT rowsort io.print(bp) @@ -84,7 +84,7 @@ 1 5 statement ok -bp:= algebra.firstn(b,3:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,3:lng,false,true,false) query TT rowsort io.print(bp) @@ -97,7 +97,7 @@ 2 6 statement ok -bp:= algebra.firstn(b,4:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,4:lng,false,true,false) query TT rowsort io.print(bp) @@ -112,7 +112,7 @@ 3 6 statement ok -bp:= algebra.firstn(b,5:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,5:lng,false,true,false) query TT rowsort io.print(bp) @@ -120,7 +120,7 @@ io.print(bp) 10 values hashing to 9366dac70a8c800c4a3ba376d3995e4b statement ok -bp:= algebra.firstn(b,6:lng,false,true,false) +bp:= algebra.firstn(b,nil:bat,nil:bat,6:lng,false,true,false) _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list