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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list