Changeset: aabebd926bec for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=aabebd926bec
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/mal/Tests/dataflow01.malC
monetdb5/mal/Tests/selecttest.malC
monetdb5/mal/Tests/tst023.malC
monetdb5/mal/Tests/tst033.malC
monetdb5/mal/Tests/tst034.malC
monetdb5/mal/Tests/tst201.malC
monetdb5/mal/Tests/tst220.malC
monetdb5/mal/Tests/tst285.malC
monetdb5/mal/Tests/tst903.malC
monetdb5/mal/Tests/tst903.stable.out
monetdb5/mal/Tests/tst911.malC
monetdb5/mal/Tests/tst911.stable.out
monetdb5/mal/Tests/tst912.malC
monetdb5/modules/mal/Tests/inspect05.malC
monetdb5/modules/mal/Tests/mapi01.malC
monetdb5/modules/mal/Tests/mapi07.malC
monetdb5/modules/mal/Tests/orderidx01.malC
monetdb5/modules/mal/Tests/orderidx02.malC
monetdb5/modules/mal/Tests/remote04.malC
monetdb5/optimizer/Tests/CMexample.malC
monetdb5/optimizer/Tests/CRexample.malC
monetdb5/optimizer/Tests/CXexample.malC
monetdb5/optimizer/Tests/CXexample.stable.out
monetdb5/optimizer/Tests/FTexample.malC
monetdb5/optimizer/Tests/dataflow.malC
monetdb5/optimizer/Tests/dataflow.stable.out
monetdb5/optimizer/Tests/qep01.malC
monetdb5/optimizer/Tests/reorder00.malC
monetdb5/optimizer/Tests/reorder00.stable.out
monetdb5/optimizer/Tests/tst4000.malC
monetdb5/optimizer/Tests/tst4003.malC
monetdb5/optimizer/Tests/tst4003.stable.out
monetdb5/optimizer/Tests/tst4030.malC
monetdb5/optimizer/Tests/tst4030.stable.out
monetdb5/optimizer/Tests/tst4700.malC
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
sql/test/mergetables/Tests/mergequery.stable.out
sql/test/remote/Tests/partition_elim.stable.out
Branch: default
Log Message:
Replace subselect ->select
diffs (truncated from 1875 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
@@ -475,17 +475,17 @@ Ready.
[ "algebra", "groupby", "command
algebra.groupby(gids:bat[:oid],cnts:bat[:lng]):bat[:oid] ", "ALGgroupby;",
"Produces a new BAT with groups identified by the head column. The result
contains tail times the head value, ie the tail contains the result group
sizes." ]
[ "algebra", "ilike", "command algebra.ilike(s:str,pat:str):bit ",
"PCREilike2;", "" ]
[ "algebra", "ilike", "command
algebra.ilike(s:str,pat:str,esc:str):bit ", "PCREilike3;", "" ]
+[ "algebra", "ilikeselect", "command
algebra.ilikeselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikeselect1;", "" ]
+[ "algebra", "ilikeselect", "command
algebra.ilikeselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikeselect4;", "" ]
[ "algebra", "ilikesubjoin", "command
algebra.ilikesubjoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEsubjoin1;", "" ]
[ "algebra", "ilikesubjoin", "command
algebra.ilikesubjoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEsubjoin;", "Join the string bat
L with the pattern bat R\nwith optional candidate lists SL and SR using pattern
escape string ESC\nand doing a case insensitive match.\nThe result is two
aligned bats with oids of matching rows." ]
-[ "algebra", "ilikesubselect", "command
algebra.ilikesubselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikesubselect1;", "" ]
-[ "algebra", "ilikesubselect", "command
algebra.ilikesubselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid]
", "PCRElikesubselect4;", "" ]
[ "algebra", "like", "command algebra.like(s:str,pat:str):bit ",
"PCRElike2;", "" ]
[ "algebra", "like", "command algebra.like(s:str,pat:str,esc:str):bit ",
"PCRElike3;", "" ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],s:bat[:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid]
", "PCRElikeselect2;", "Select all head values of the first input
BAT for which the\n\ttail value is \"like\" the given (SQL-style) pattern and
for\n\twhich the head value occurs in the tail of the second
input\n\tBAT.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the\n\trelationship
holds. The output BAT is sorted on the tail value." ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikeselect3;", "" ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikeselect5;", "" ]
[ "algebra", "likesubjoin", "command
algebra.likesubjoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEsubjoin1;", "" ]
[ "algebra", "likesubjoin", "command
algebra.likesubjoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEsubjoin;", "Join the string bat L with
the pattern bat R\nwith optional candidate lists SL and SR using pattern escape
string ESC\nand doing a case sensitive match.\nThe result is two aligned bats
with oids of matching rows." ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],s:bat[:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid]
", "PCRElikesubselect2;", "Select all head values of the first input BAT
for which the\n\ttail value is \"like\" the given (SQL-style) pattern and
for\n\twhich the head value occurs in the tail of the second
input\n\tBAT.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the\n\trelationship
holds. The output BAT is sorted on the tail value." ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikesubselect3;", "" ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikesubselect5;", "" ]
[ "algebra", "not_ilike", "command algebra.not_ilike(s:str,pat:str):bit
", "PCREnotilike2;", "" ]
[ "algebra", "not_ilike", "command
algebra.not_ilike(s:str,pat:str,esc:str):bit ", "PCREnotilike3;",
"" ]
[ "algebra", "not_like", "command algebra.not_like(s:str,pat:str):bit ",
"PCREnotlike2;", "" ]
@@ -495,6 +495,8 @@ Ready.
[ "algebra", "projection", "command
algebra.projection(left:bat[:oid],right:bat[:any_3]):bat[:any_3] ",
"ALGprojection;", "Project left input onto right input." ]
[ "algebra", "projectionpath", "pattern
algebra.projectionpath(l:bat[:any]...):bat[:any] ", "ALGprojectionpath;",
"Routine to handle join paths. The type analysis is rather tricky." ]
[ "algebra", "reuse", "command
algebra.reuse(b:bat[:any_1]):bat[:any_1] ", "ALGreuse;", "Reuse a
temporary BAT if you can. Otherwise,\n\tallocate enough storage to accept
result of an\n \toperation (not involving the heap)" ]
+[ "algebra", "select", "command
algebra.select(b:bat[:any_1],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGselect1;", "Select all head values for which the tail value is in
range.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the tail value\n\tis
between the values low and high (inclusive if li respectively\n\thi is set).
The output BAT is sorted on the tail value. If low\n\tor high is nil, the
boundary is not considered (effectively - and\n\t+ infinity). If anti is set,
the result is the complement. Nil\n\tvalues in the tail are never matched,
unless low=nil, high=nil,\n\tli=1, hi=1, anti=0. All non-nil values are
returned if low=nil,\n\thigh=nil, and li, hi are not both 1, or anti=1.\n\tNote
that the output is suitable as second input for the other\n\tversion of this
function." ]
+[ "algebra", "select", "command
algebra.select(b:bat[:any_1],s:bat[:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGselect2;", "Select all head values of the first input BAT for
which the tail value\n\tis in range and for which the head value occurs in the
tail of the\n\tsecond input BAT.\n\tThe first input is a dense-headed BAT, the
second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed BAT\n\twith in the tail the head value of the input BAT for which
the\n\ttail value is between the values low and high (inclusive if
li\n\trespectively hi is set). The output BAT is sorted on the tail\n\tvalue.
If low or high is nil, the boundary is not considered\n\t(effectively - and +
infinity). If anti is set, the result is the\n\tcomplement. Nil values in the
tail are never matched, unless\n\tlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\n\treturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\n\tNote that the outp
ut is suitable as second input for this\n\tfunction." ]
[ "algebra", "selectNotNil", "command
algebra.selectNotNil(b:bat[:any_2]):bat[:any_2] ", "ALGselectNotNil;",
"Select all not-nil values" ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:lng,y:lng):bat[:any_1] ", "ALGslice;",
"Return the slice with the BUNs at position x till y." ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:int,y:int):bat[:any_1] ", "ALGslice_int;",
"Return the slice with the BUNs at position x till y." ]
@@ -508,8 +510,6 @@ Ready.
[ "algebra", "subleftjoin", "command
algebra.subleftjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubleftjoin;", "Left join with
candidate lists" ]
[ "algebra", "subouterjoin", "command
algebra.subouterjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubouterjoin;", "Left outer join
with candidate lists" ]
[ "algebra", "subrangejoin", "command
algebra.subrangejoin(l:bat[:any_1],r1:bat[:any_1],r2:bat[:any_1],sl:bat[:oid],sr:bat[:oid],li:bit,hi:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubrangejoin;", "Range join:
values in l and r1/r2 match if r1 <[=] l <[=] r2" ]
-[ "algebra", "subselect", "command
algebra.subselect(b:bat[:any_1],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGsubselect1;", "Select all head values for which the tail
value is in range.\n\tInput is a dense-headed BAT, output is a dense-headed BAT
with in\n\tthe tail the head value of the input BAT for which the tail
value\n\tis between the values low and high (inclusive if li respectively\n\thi
is set). The output BAT is sorted on the tail value. If low\n\tor high is
nil, the boundary is not considered (effectively - and\n\t+ infinity). If anti
is set, the result is the complement. Nil\n\tvalues in the tail are never
matched, unless low=nil, high=nil,\n\tli=1, hi=1, anti=0. All non-nil values
are returned if low=nil,\n\thigh=nil, and li, hi are not both 1, or
anti=1.\n\tNote that the output is suitable as second input for the
other\n\tversion of this function." ]
-[ "algebra", "subselect", "command
algebra.subselect(b:bat[:any_1],s:bat[:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGsubselect2;", "Select all head values of the first input BAT for
which the tail value\n\tis in range and for which the head value occurs in the
tail of the\n\tsecond input BAT.\n\tThe first input is a dense-headed BAT, the
second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed BAT\n\twith in the tail the head value of the input BAT for which
the\n\ttail value is between the values low and high (inclusive if
li\n\trespectively hi is set). The output BAT is sorted on the tail\n\tvalue.
If low or high is nil, the boundary is not considered\n\t(effectively - and +
infinity). If anti is set, the result is the\n\tcomplement. Nil values in the
tail are never matched, unless\n\tlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\n\treturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\n\tNote that
the output is suitable as second input for this\n\tfunction." ]
[ "algebra", "subsemijoin", "command
algebra.subsemijoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubsemijoin;", "Semi join with
candidate lists" ]
[ "algebra", "subslice", "command
algebra.subslice(b:bat[:any_1],x:lng,y:lng):bat[:oid] ",
"ALGsubslice_lng;", "Return the oids of the slice with the BUNs at position
x till y." ]
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],reverse:bit,stable:bit):bat[:any_1] ",
"ALGsubsort11;", "Returns a copy of the BAT sorted on tail values.\n
The input and output are (must be) dense headed.\n The order is
descending if the reverse bit is set.\n\t\t This is a stable sort if the stable
bit is set." ]
@@ -524,8 +524,8 @@ Ready.
[ "algebra", "subthetajoin", "command
algebra.subthetajoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],op:int,nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubthetajoin;", "Theta join
with candidate lists" ]
[ "algebra", "subunique", "command
algebra.subunique(b:bat[:any_1]):bat[:oid] ", "ALGsubunique1;", "Select
all unique values from the tail of the input.\n\tInput is a dense-headed BAT,
output is a dense-headed BAT with\n\tin the tail the head value of the input
BAT that was selected.\n\tThe output BAT is sorted on the tail value." ]
[ "algebra", "subunique", "command
algebra.subunique(b:bat[:any_1],s:bat[:oid]):bat[:oid] ",
"ALGsubunique2;", "Select all unique values from the tail of the first
input.\n\tInput is a dense-headed BAT, the second input is a\n\tdense-headed
BAT with sorted tail, output is a dense-headed\n\tBAT with in the tail the head
value of the input BAT that was\n\tselected. The output BAT is sorted on the
tail value. The\n\tsecond input BAT is a list of candidates." ]
-[ "algebra", "thetasubselect", "command
algebra.thetasubselect(b:bat[:any_1],val:any_1,op:str):bat[:oid] ",
"ALGthetasubselect1;", "Select all head values for which the tail value obeys
the relation\n\tvalue OP VAL.\n\tInput is a dense-headed BAT, output is a
dense-headed BAT with in\n\tthe tail the head value of the input BAT for which
the\n\trelationship holds. The output BAT is sorted on the tail value."
]
-[ "algebra", "thetasubselect", "command
algebra.thetasubselect(b:bat[:any_1],s:bat[:oid],val:any_1,op:str):bat[:oid] ",
"ALGthetasubselect2;", "Select all head values of the first input BAT
for which the tail value\n\tobeys the relation value OP VAL and for which the
head value occurs in\n\tthe tail of the second input BAT.\n\tInput is a
dense-headed BAT, output is a dense-headed BAT with in\n\tthe tail the head
value of the input BAT for which the\n\trelationship holds. The output BAT is
sorted on the tail value." ]
+[ "algebra", "thetaselect", "command
algebra.thetaselect(b:bat[:any_1],val:any_1,op:str):bat[:oid] ",
"ALGthetaselect1;", "Select all head values for which the tail value obeys
the relation\n\tvalue OP VAL.\n\tInput is a dense-headed BAT, output is a
dense-headed BAT with in\n\tthe tail the head value of the input BAT for which
the\n\trelationship holds. The output BAT is sorted on the tail value."
]
+[ "algebra", "thetaselect", "command
algebra.thetaselect(b:bat[:any_1],s:bat[:oid],val:any_1,op:str):bat[:oid] ",
"ALGthetaselect2;", "Select all head values of the first input BAT for
which the tail value\n\tobeys the relation value OP VAL and for which the head
value occurs in\n\tthe tail of the second input BAT.\n\tInput is a dense-headed
BAT, output is a dense-headed BAT with in\n\tthe tail the head value of the
input BAT for which the\n\trelationship holds. The output BAT is sorted on the
tail value." ]
[ "bam", "bam_drop_file", "pattern
bam.bam_drop_file(file_id:lng,dbschema:sht):void ", "bam_drop_file;",
"Drop alignment tables and header data for the bam file with the given file_id"
]
[ "bam", "bam_export", "pattern bam.bam_export(output_path:str):void
", "bam_exportf;", "Export results in the bam.export table to a BAM
file" ]
[ "bam", "bam_flag", "command bam.bam_flag(flag:sht,name:str):bit ",
"bam_flag;", "Get bam flag by name." ]
@@ -8396,8 +8396,8 @@ Ready.
[ "sql", "password", "pattern sql.password(user:str):str ",
"db_password_wrap;", "Return password hash of user" ]
[ "sql", "prelude", "command sql.prelude():void ", "SQLprelude;",
"" ]
[ "sql", "project", "command
sql.project(col:bat[:oid],l:bat[:oid],r:bat[:oid]):bat[:oid] ",
"BATleftproject;", "Last step of a left outer join, ie project the inner
join (l,r) over the left input side (col)" ]
-[ "sql", "projectdelta", "command
sql.projectdelta(subselect:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3]):bat[:any_3]
", "DELTAproject2;", "Return column bat with delta's applied." ]
-[ "sql", "projectdelta", "command
sql.projectdelta(subselect:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3],ins:bat[:any_3]):bat[:any_3]
", "DELTAproject;", "Return column bat with delta's applied." ]
+[ "sql", "projectdelta", "command
sql.projectdelta(select:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3]):bat[:any_3]
", "DELTAproject2;", "Return column bat with delta's applied."
]
+[ "sql", "projectdelta", "command
sql.projectdelta(select:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3],ins:bat[:any_3]):bat[:any_3]
", "DELTAproject;", "Return column bat with delta's applied."
]
[ "sql", "querylog_calls", "pattern sql.querylog_calls()
(id:bat[:oid],start:bat[:timestamp],stop:bat[:timestamp],arguments:bat[:str],tuples:bat[:lng],exec:bat[:lng],result:bat[:lng],cpuload:bat[:int],iowait:bat[:int])
", "sql_querylog_calls;", "Obtain the query log calls" ]
[ "sql", "querylog_catalog", "pattern sql.querylog_catalog()
(id:bat[:oid],user:bat[:str],defined:bat[:timestamp],query:bat[:str],pipe:bat[:str],plan:bat[:str],mal:bat[:int],optimize:bat[:lng])
", "sql_querylog_catalog;", "Obtain the query log catalog" ]
[ "sql", "querylog_disable", "command sql.querylog_disable():void ",
"QLOGdisable;", "" ]
@@ -8436,8 +8436,8 @@ Ready.
[ "sql", "storage", "pattern sql.storage(sname:str)
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],revsorted:bat[:bit],key:bat[:bit],orderidx:bat[:lng])
", "sql_storage;", "return a table with storage information for a
particular schema " ]
[ "sql", "storage", "pattern sql.storage(sname:str,tname:str)
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],revsorted:bat[:bit],key:bat[:bit],orderidx:bat[:lng])
", "sql_storage;", "return a table with storage information for a
particular table" ]
[ "sql", "storage", "pattern
sql.storage(sname:str,tname:str,cname:str)
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],revsorted:bat[:bit],key:bat[:bit],orderidx:bat[:lng])
", "sql_storage;", "return a table with storage information for a particular
column" ]
-[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid]):bat[:oid]
", "DELTAsub2;", "Return a single bat of subselected delta." ]
-[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid],ins:bat[:oid]):bat[:oid]
", "DELTAsub;", "Return a single bat of subselected delta." ]
+[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid]):bat[:oid]
", "DELTAsub2;", "Return a single bat of selected delta." ]
+[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid],ins:bat[:oid]):bat[:oid]
", "DELTAsub;", "Return a single bat of selected delta." ]
[ "sql", "subzero_or_one", "inline function
sql.subzero_or_one(b:bat[:any_1],gp:bat[:oid],gpe:bat[:oid],no_nil:bit):bat[:any_1];",
"", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:int):void ",
"SYSMONpause;", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:lng):void ",
"SYSMONpause;", "" ]
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
@@ -579,17 +579,17 @@ Ready.
[ "algebra", "groupby", "command
algebra.groupby(gids:bat[:oid],cnts:bat[:lng]):bat[:oid] ", "ALGgroupby;",
"Produces a new BAT with groups identified by the head column. The result
contains tail times the head value, ie the tail contains the result group
sizes." ]
[ "algebra", "ilike", "command algebra.ilike(s:str,pat:str):bit ",
"PCREilike2;", "" ]
[ "algebra", "ilike", "command
algebra.ilike(s:str,pat:str,esc:str):bit ", "PCREilike3;", "" ]
+[ "algebra", "ilikeselect", "command
algebra.ilikeselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikeselect1;", "" ]
+[ "algebra", "ilikeselect", "command
algebra.ilikeselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikeselect4;", "" ]
[ "algebra", "ilikesubjoin", "command
algebra.ilikesubjoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEsubjoin1;", "" ]
[ "algebra", "ilikesubjoin", "command
algebra.ilikesubjoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ILIKEsubjoin;", "Join the string bat
L with the pattern bat R\nwith optional candidate lists SL and SR using pattern
escape string ESC\nand doing a case insensitive match.\nThe result is two
aligned bats with oids of matching rows." ]
-[ "algebra", "ilikesubselect", "command
algebra.ilikesubselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikesubselect1;", "" ]
-[ "algebra", "ilikesubselect", "command
algebra.ilikesubselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid]
", "PCRElikesubselect4;", "" ]
[ "algebra", "like", "command algebra.like(s:str,pat:str):bit ",
"PCRElike2;", "" ]
[ "algebra", "like", "command algebra.like(s:str,pat:str,esc:str):bit ",
"PCRElike3;", "" ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],s:bat[:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid]
", "PCRElikeselect2;", "Select all head values of the first input
BAT for which the\n\ttail value is \"like\" the given (SQL-style) pattern and
for\n\twhich the head value occurs in the tail of the second
input\n\tBAT.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the\n\trelationship
holds. The output BAT is sorted on the tail value." ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikeselect3;", "" ]
+[ "algebra", "likeselect", "command
algebra.likeselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikeselect5;", "" ]
[ "algebra", "likesubjoin", "command
algebra.likesubjoin(l:bat[:str],r:bat[:str],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEsubjoin1;", "" ]
[ "algebra", "likesubjoin", "command
algebra.likesubjoin(l:bat[:str],r:bat[:str],esc:str,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "LIKEsubjoin;", "Join the string bat L with
the pattern bat R\nwith optional candidate lists SL and SR using pattern escape
string ESC\nand doing a case sensitive match.\nThe result is two aligned bats
with oids of matching rows." ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],s:bat[:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid]
", "PCRElikesubselect2;", "Select all head values of the first input BAT
for which the\n\ttail value is \"like\" the given (SQL-style) pattern and
for\n\twhich the head value occurs in the tail of the second
input\n\tBAT.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the\n\trelationship
holds. The output BAT is sorted on the tail value." ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],cand:bat[:oid],pat:str,esc:str,anti:bit):bat[:oid]
", "PCRElikesubselect3;", "" ]
-[ "algebra", "likesubselect", "command
algebra.likesubselect(b:bat[:str],cand:bat[:oid],pat:str,anti:bit):bat[:oid] ",
"PCRElikesubselect5;", "" ]
[ "algebra", "not_ilike", "command algebra.not_ilike(s:str,pat:str):bit
", "PCREnotilike2;", "" ]
[ "algebra", "not_ilike", "command
algebra.not_ilike(s:str,pat:str,esc:str):bit ", "PCREnotilike3;",
"" ]
[ "algebra", "not_like", "command algebra.not_like(s:str,pat:str):bit ",
"PCREnotlike2;", "" ]
@@ -599,6 +599,8 @@ Ready.
[ "algebra", "projection", "command
algebra.projection(left:bat[:oid],right:bat[:any_3]):bat[:any_3] ",
"ALGprojection;", "Project left input onto right input." ]
[ "algebra", "projectionpath", "pattern
algebra.projectionpath(l:bat[:any]...):bat[:any] ", "ALGprojectionpath;",
"Routine to handle join paths. The type analysis is rather tricky." ]
[ "algebra", "reuse", "command
algebra.reuse(b:bat[:any_1]):bat[:any_1] ", "ALGreuse;", "Reuse a
temporary BAT if you can. Otherwise,\n\tallocate enough storage to accept
result of an\n \toperation (not involving the heap)" ]
+[ "algebra", "select", "command
algebra.select(b:bat[:any_1],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGselect1;", "Select all head values for which the tail value is in
range.\n\tInput is a dense-headed BAT, output is a dense-headed BAT with
in\n\tthe tail the head value of the input BAT for which the tail value\n\tis
between the values low and high (inclusive if li respectively\n\thi is set).
The output BAT is sorted on the tail value. If low\n\tor high is nil, the
boundary is not considered (effectively - and\n\t+ infinity). If anti is set,
the result is the complement. Nil\n\tvalues in the tail are never matched,
unless low=nil, high=nil,\n\tli=1, hi=1, anti=0. All non-nil values are
returned if low=nil,\n\thigh=nil, and li, hi are not both 1, or anti=1.\n\tNote
that the output is suitable as second input for the other\n\tversion of this
function." ]
+[ "algebra", "select", "command
algebra.select(b:bat[:any_1],s:bat[:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGselect2;", "Select all head values of the first input BAT for
which the tail value\n\tis in range and for which the head value occurs in the
tail of the\n\tsecond input BAT.\n\tThe first input is a dense-headed BAT, the
second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed BAT\n\twith in the tail the head value of the input BAT for which
the\n\ttail value is between the values low and high (inclusive if
li\n\trespectively hi is set). The output BAT is sorted on the tail\n\tvalue.
If low or high is nil, the boundary is not considered\n\t(effectively - and +
infinity). If anti is set, the result is the\n\tcomplement. Nil values in the
tail are never matched, unless\n\tlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\n\treturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\n\tNote that the outp
ut is suitable as second input for this\n\tfunction." ]
[ "algebra", "selectNotNil", "command
algebra.selectNotNil(b:bat[:any_2]):bat[:any_2] ", "ALGselectNotNil;",
"Select all not-nil values" ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:lng,y:lng):bat[:any_1] ", "ALGslice;",
"Return the slice with the BUNs at position x till y." ]
[ "algebra", "slice", "command
algebra.slice(b:bat[:any_1],x:int,y:int):bat[:any_1] ", "ALGslice_int;",
"Return the slice with the BUNs at position x till y." ]
@@ -612,8 +614,6 @@ Ready.
[ "algebra", "subleftjoin", "command
algebra.subleftjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubleftjoin;", "Left join with
candidate lists" ]
[ "algebra", "subouterjoin", "command
algebra.subouterjoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubouterjoin;", "Left outer join
with candidate lists" ]
[ "algebra", "subrangejoin", "command
algebra.subrangejoin(l:bat[:any_1],r1:bat[:any_1],r2:bat[:any_1],sl:bat[:oid],sr:bat[:oid],li:bit,hi:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubrangejoin;", "Range join:
values in l and r1/r2 match if r1 <[=] l <[=] r2" ]
-[ "algebra", "subselect", "command
algebra.subselect(b:bat[:any_1],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGsubselect1;", "Select all head values for which the tail
value is in range.\n\tInput is a dense-headed BAT, output is a dense-headed BAT
with in\n\tthe tail the head value of the input BAT for which the tail
value\n\tis between the values low and high (inclusive if li respectively\n\thi
is set). The output BAT is sorted on the tail value. If low\n\tor high is
nil, the boundary is not considered (effectively - and\n\t+ infinity). If anti
is set, the result is the complement. Nil\n\tvalues in the tail are never
matched, unless low=nil, high=nil,\n\tli=1, hi=1, anti=0. All non-nil values
are returned if low=nil,\n\thigh=nil, and li, hi are not both 1, or
anti=1.\n\tNote that the output is suitable as second input for the
other\n\tversion of this function." ]
-[ "algebra", "subselect", "command
algebra.subselect(b:bat[:any_1],s:bat[:oid],low:any_1,high:any_1,li:bit,hi:bit,anti:bit):bat[:oid]
", "ALGsubselect2;", "Select all head values of the first input BAT for
which the tail value\n\tis in range and for which the head value occurs in the
tail of the\n\tsecond input BAT.\n\tThe first input is a dense-headed BAT, the
second input is a\n\tdense-headed BAT with sorted tail, output is a
dense-headed BAT\n\twith in the tail the head value of the input BAT for which
the\n\ttail value is between the values low and high (inclusive if
li\n\trespectively hi is set). The output BAT is sorted on the tail\n\tvalue.
If low or high is nil, the boundary is not considered\n\t(effectively - and +
infinity). If anti is set, the result is the\n\tcomplement. Nil values in the
tail are never matched, unless\n\tlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\n\treturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\n\tNote that
the output is suitable as second input for this\n\tfunction." ]
[ "algebra", "subsemijoin", "command
algebra.subsemijoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubsemijoin;", "Semi join with
candidate lists" ]
[ "algebra", "subslice", "command
algebra.subslice(b:bat[:any_1],x:lng,y:lng):bat[:oid] ",
"ALGsubslice_lng;", "Return the oids of the slice with the BUNs at position
x till y." ]
[ "algebra", "subsort", "command
algebra.subsort(b:bat[:any_1],reverse:bit,stable:bit):bat[:any_1] ",
"ALGsubsort11;", "Returns a copy of the BAT sorted on tail values.\n
The input and output are (must be) dense headed.\n The order is
descending if the reverse bit is set.\n\t\t This is a stable sort if the stable
bit is set." ]
@@ -628,8 +628,8 @@ Ready.
[ "algebra", "subthetajoin", "command
algebra.subthetajoin(l:bat[:any_1],r:bat[:any_1],sl:bat[:oid],sr:bat[:oid],op:int,nil_matches:bit,estimate:lng)
(X_0:bat[:oid],X_1:bat[:oid]) ", "ALGsubthetajoin;", "Theta join
with candidate lists" ]
[ "algebra", "subunique", "command
algebra.subunique(b:bat[:any_1]):bat[:oid] ", "ALGsubunique1;", "Select
all unique values from the tail of the input.\n\tInput is a dense-headed BAT,
output is a dense-headed BAT with\n\tin the tail the head value of the input
BAT that was selected.\n\tThe output BAT is sorted on the tail value." ]
[ "algebra", "subunique", "command
algebra.subunique(b:bat[:any_1],s:bat[:oid]):bat[:oid] ",
"ALGsubunique2;", "Select all unique values from the tail of the first
input.\n\tInput is a dense-headed BAT, the second input is a\n\tdense-headed
BAT with sorted tail, output is a dense-headed\n\tBAT with in the tail the head
value of the input BAT that was\n\tselected. The output BAT is sorted on the
tail value. The\n\tsecond input BAT is a list of candidates." ]
-[ "algebra", "thetasubselect", "command
algebra.thetasubselect(b:bat[:any_1],val:any_1,op:str):bat[:oid] ",
"ALGthetasubselect1;", "Select all head values for which the tail value obeys
the relation\n\tvalue OP VAL.\n\tInput is a dense-headed BAT, output is a
dense-headed BAT with in\n\tthe tail the head value of the input BAT for which
the\n\trelationship holds. The output BAT is sorted on the tail value."
]
-[ "algebra", "thetasubselect", "command
algebra.thetasubselect(b:bat[:any_1],s:bat[:oid],val:any_1,op:str):bat[:oid] ",
"ALGthetasubselect2;", "Select all head values of the first input BAT
for which the tail value\n\tobeys the relation value OP VAL and for which the
head value occurs in\n\tthe tail of the second input BAT.\n\tInput is a
dense-headed BAT, output is a dense-headed BAT with in\n\tthe tail the head
value of the input BAT for which the\n\trelationship holds. The output BAT is
sorted on the tail value." ]
+[ "algebra", "thetaselect", "command
algebra.thetaselect(b:bat[:any_1],val:any_1,op:str):bat[:oid] ",
"ALGthetaselect1;", "Select all head values for which the tail value obeys
the relation\n\tvalue OP VAL.\n\tInput is a dense-headed BAT, output is a
dense-headed BAT with in\n\tthe tail the head value of the input BAT for which
the\n\trelationship holds. The output BAT is sorted on the tail value."
]
+[ "algebra", "thetaselect", "command
algebra.thetaselect(b:bat[:any_1],s:bat[:oid],val:any_1,op:str):bat[:oid] ",
"ALGthetaselect2;", "Select all head values of the first input BAT for
which the tail value\n\tobeys the relation value OP VAL and for which the head
value occurs in\n\tthe tail of the second input BAT.\n\tInput is a dense-headed
BAT, output is a dense-headed BAT with in\n\tthe tail the head value of the
input BAT for which the\n\trelationship holds. The output BAT is sorted on the
tail value." ]
[ "bam", "bam_drop_file", "pattern
bam.bam_drop_file(file_id:lng,dbschema:sht):void ", "bam_drop_file;",
"Drop alignment tables and header data for the bam file with the given file_id"
]
[ "bam", "bam_export", "pattern bam.bam_export(output_path:str):void
", "bam_exportf;", "Export results in the bam.export table to a BAM
file" ]
[ "bam", "bam_flag", "command bam.bam_flag(flag:sht,name:str):bit ",
"bam_flag;", "Get bam flag by name." ]
@@ -10759,8 +10759,8 @@ Ready.
[ "sql", "password", "pattern sql.password(user:str):str ",
"db_password_wrap;", "Return password hash of user" ]
[ "sql", "prelude", "command sql.prelude():void ", "SQLprelude;",
"" ]
[ "sql", "project", "command
sql.project(col:bat[:oid],l:bat[:oid],r:bat[:oid]):bat[:oid] ",
"BATleftproject;", "Last step of a left outer join, ie project the inner
join (l,r) over the left input side (col)" ]
-[ "sql", "projectdelta", "command
sql.projectdelta(subselect:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3]):bat[:any_3]
", "DELTAproject2;", "Return column bat with delta's applied." ]
-[ "sql", "projectdelta", "command
sql.projectdelta(subselect:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3],ins:bat[:any_3]):bat[:any_3]
", "DELTAproject;", "Return column bat with delta's applied." ]
+[ "sql", "projectdelta", "command
sql.projectdelta(select:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3]):bat[:any_3]
", "DELTAproject2;", "Return column bat with delta's applied."
]
+[ "sql", "projectdelta", "command
sql.projectdelta(select:bat[:oid],col:bat[:any_3],uid:bat[:oid],uval:bat[:any_3],ins:bat[:any_3]):bat[:any_3]
", "DELTAproject;", "Return column bat with delta's applied."
]
[ "sql", "querylog_calls", "pattern sql.querylog_calls()
(id:bat[:oid],start:bat[:timestamp],stop:bat[:timestamp],arguments:bat[:str],tuples:bat[:lng],exec:bat[:lng],result:bat[:lng],cpuload:bat[:int],iowait:bat[:int])
", "sql_querylog_calls;", "Obtain the query log calls" ]
[ "sql", "querylog_catalog", "pattern sql.querylog_catalog()
(id:bat[:oid],user:bat[:str],defined:bat[:timestamp],query:bat[:str],pipe:bat[:str],plan:bat[:str],mal:bat[:int],optimize:bat[:lng])
", "sql_querylog_catalog;", "Obtain the query log catalog" ]
[ "sql", "querylog_disable", "command sql.querylog_disable():void ",
"QLOGdisable;", "" ]
@@ -10800,8 +10800,8 @@ Ready.
[ "sql", "storage", "pattern sql.storage(sname:str)
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],revsorted:bat[:bit],key:bat[:bit],orderidx:bat[:lng])
", "sql_storage;", "return a table with storage information for a
particular schema " ]
[ "sql", "storage", "pattern sql.storage(sname:str,tname:str)
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],revsorted:bat[:bit],key:bat[:bit],orderidx:bat[:lng])
", "sql_storage;", "return a table with storage information for a
particular table" ]
[ "sql", "storage", "pattern
sql.storage(sname:str,tname:str,cname:str)
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],revsorted:bat[:bit],key:bat[:bit],orderidx:bat[:lng])
", "sql_storage;", "return a table with storage information for a particular
column" ]
-[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid]):bat[:oid]
", "DELTAsub2;", "Return a single bat of subselected delta." ]
-[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid],ins:bat[:oid]):bat[:oid]
", "DELTAsub;", "Return a single bat of subselected delta." ]
+[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid]):bat[:oid]
", "DELTAsub2;", "Return a single bat of selected delta." ]
+[ "sql", "subdelta", "command
sql.subdelta(col:bat[:oid],cand:bat[:oid],uid:bat[:oid],uval:bat[:oid],ins:bat[:oid]):bat[:oid]
", "DELTAsub;", "Return a single bat of selected delta." ]
[ "sql", "subzero_or_one", "inline function
sql.subzero_or_one(b:bat[:any_1],gp:bat[:oid],gpe:bat[:oid],no_nil:bit):bat[:any_1];",
"", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:int):void ",
"SYSMONpause;", "" ]
[ "sql", "sysmon_pause", "pattern sql.sysmon_pause(tag:lng):void ",
"SYSMONpause;", "" ]
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
@@ -701,6 +701,8 @@ str ALGprojectionpath(Client cntxt, MalB
str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
str ALGreuse(bat *ret, const bat *bid);
str ALGsample(bat *result, const bat *bid, const int *param);
+str ALGselect1(bat *result, const bat *bid, const void *low, const void *high,
const bit *li, const bit *hi, const bit *anti);
+str ALGselect2(bat *result, const bat *bid, const bat *sid, const void *low,
const void *high, const bit *li, const bit *hi, const bit *anti);
str ALGselectNotNil(bat *result, const bat *bid);
str ALGslice(bat *ret, const bat *bid, const lng *start, const lng *end);
str ALGslice_int(bat *ret, const bat *bid, const int *start, const int *end);
@@ -715,8 +717,6 @@ str ALGsubjoin(bat *r1, bat *r2, const b
str ALGsubleftjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat
*sl, const bat *sr, const bit *nil_matches, const lng *estimate);
str ALGsubouterjoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat
*sl, const bat *sr, const bit *nil_matches, const lng *estimate);
str ALGsubrangejoin(bat *r1, bat *r2, const bat *lid, const bat *rlid, const
bat *rhid, const bat *slid, const bat *srid, const bit *li, const bit *hi,
const lng *estimate);
-str ALGsubselect1(bat *result, const bat *bid, const void *low, const void
*high, const bit *li, const bit *hi, const bit *anti);
-str ALGsubselect2(bat *result, const bat *bid, const bat *sid, const void
*low, const void *high, const bit *li, const bit *hi, const bit *anti);
str ALGsubsemijoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat
*sl, const bat *sr, const bit *nil_matches, const lng *estimate);
str ALGsubslice_lng(bat *ret, const bat *bid, const lng *start, const lng
*end);
str ALGsubsort11(bat *result, const bat *bid, const bit *reverse, const bit
*stable);
@@ -732,8 +732,8 @@ str ALGsubthetajoin(bat *r1, bat *r2, co
str ALGsubunique1(bat *result, const bat *bid);
str ALGsubunique2(bat *result, const bat *bid, const bat *sid);
str ALGtdiff(bat *result, const bat *lid, const bat *rid);
-str ALGthetasubselect1(bat *result, const bat *bid, const void *val, const
char **op);
-str ALGthetasubselect2(bat *result, const bat *bid, const bat *sid, const void
*val, const char **op);
+str ALGthetaselect1(bat *result, const bat *bid, const void *val, const char
**op);
+str ALGthetaselect2(bat *result, const bat *bid, const bat *sid, const void
*val, const char **op);
str ALGtinter(bat *result, const bat *lid, const bat *rid);
str ALGtmark(bat *result, const bat *bid, const oid *base);
str ALGtmark_default(bat *result, const bat *bid);
@@ -1579,11 +1579,11 @@ str PCREimatch(bit *ret, const str *val,
str PCREindex(int *ret, const pcre *pat, const str *val);
str PCRElike2(bit *ret, const str *s, const str *pat);
str PCRElike3(bit *ret, const str *s, const str *pat, const str *esc);
-str PCRElikesubselect1(bat *ret, const bat *bid, const bat *cid, const str
*pat, const str *esc, const bit *anti);
-str PCRElikesubselect2(bat *ret, const bat *bid, const bat *sid, const str
*pat, const str *esc, const bit *caseignore, const bit *anti);
-str PCRElikesubselect3(bat *ret, const bat *bid, const bat *sid, const str
*pat, const str *esc, const bit *anti);
-str PCRElikesubselect4(bat *ret, const bat *bid, const bat *cid, const str
*pat, const bit *anti);
-str PCRElikesubselect5(bat *ret, const bat *bid, const bat *sid, const str
*pat, const bit *anti);
+str PCRElikeselect1(bat *ret, const bat *bid, const bat *cid, const str *pat,
const str *esc, const bit *anti);
+str PCRElikeselect2(bat *ret, const bat *bid, const bat *sid, const str *pat,
const str *esc, const bit *caseignore, const bit *anti);
+str PCRElikeselect3(bat *ret, const bat *bid, const bat *sid, const str *pat,
const str *esc, const bit *anti);
+str PCRElikeselect4(bat *ret, const bat *bid, const bat *cid, const str *pat,
const bit *anti);
+str PCRElikeselect5(bat *ret, const bat *bid, const bat *sid, const str *pat,
const bit *anti);
str PCREmatch(bit *ret, const str *val, const str *pat);
str PCREnotilike2(bit *ret, const str *s, const str *pat);
str PCREnotilike3(bit *ret, const str *s, const str *pat, const str *esc);
@@ -2115,8 +2115,8 @@ str identityRef;
str ifthenelseRef;
str ilikeRef;
str ilikeselectRef;
-str ilikesubselectRef;
-str ilikethetasubselectRef;
+str ilikeselectRef;
+str ilikethetaselectRef;
str ilikeuselectRef;
void initHeartbeat(void);
void initNamespace(void);
@@ -2158,10 +2158,10 @@ int isOptimizerPipe(str name);
int isOrderby(InstrPtr q);
int isProcedure(MalBlkPtr mb, InstrPtr p);
int isSample(InstrPtr q);
+int isSelect(InstrPtr q);
int isSideEffectFree(MalBlkPtr mb);
int isSlice(InstrPtr q);
int isSubJoin(InstrPtr q);
-int isSubSelect(InstrPtr q);
int isTopn(InstrPtr q);
int isUnsafeFunction(InstrPtr q);
int isUnsafeInstruction(InstrPtr q);
@@ -2175,8 +2175,8 @@ str levenshteinbasic2_impl(int *result,
str levenshteinbasic_impl(int *result, str *s, str *t);
str likeRef;
str likeselectRef;
-str likesubselectRef;
-str likethetasubselectRef;
+str likeselectRef;
+str likethetaselectRef;
str likeuselectRef;
str listRef;
str loadLibrary(str modulename, int flag);
@@ -2406,6 +2406,7 @@ int safetyBarrier(InstrPtr p, InstrPtr q
str sampleRef;
str schedulerRef;
str selectNotNilRef;
+str selectRef;
str semaRef;
str seriesRef;
str setAccessRef;
@@ -2478,7 +2479,6 @@ str submedianRef;
str subminRef;
str subprodRef;
str subrangejoinRef;
-str subselectRef;
str subsliceRef;
str subsortRef;
str subsumRef;
@@ -2488,7 +2488,7 @@ str subuniqueRef;
str sumRef;
str takeOid(oid id, str *val);
str takeRef;
-str thetasubselectRef;
+str thetaselectRef;
str tidRef;
str timestampRef;
int timestamp_fromstr(const char *buf, int *len, timestamp **ret);
diff --git a/monetdb5/mal/Tests/dataflow01.malC
b/monetdb5/mal/Tests/dataflow01.malC
--- a/monetdb5/mal/Tests/dataflow01.malC
+++ b/monetdb5/mal/Tests/dataflow01.malC
@@ -26,7 +26,7 @@ end load;
function qry(z:bat[:lng],low:int,hgh:int):lng;
l:= calc.lng(low);
h:= calc.lng(hgh);
- s:= algebra.subselect(z,l,h,true,true,false);
+ s:= algebra.select(z,l,h,true,true,false);
c:= aggr.count(s);
return qry:= c;
end qry;
diff --git a/monetdb5/mal/Tests/selecttest.malC
b/monetdb5/mal/Tests/selecttest.malC
--- a/monetdb5/mal/Tests/selecttest.malC
+++ b/monetdb5/mal/Tests/selecttest.malC
@@ -6,23 +6,23 @@ b := microbenchmark.uniform(0:oid,100000
function user.doit ( b:bat[:int] , n:int , x1:int , x2:int ) :void;
- a := algebra.subselect(b,nil:bat[:oid],x1,x2,true,true,false);
+ a := algebra.select(b,nil:bat[:oid],x1,x2,true,true,false);
c := aggr.count(a);
io.printf("\npredicate: %9d <= x <= %9d; result count: %9lld\n", x1,
x2, c);
io.printf("1 slice, sequential:\ttime:");
t0 := alarm.time();
- a1 := algebra.subselect(b,nil:bat[:oid],x1,x2,true,true,false);
+ a1 := algebra.select(b,nil:bat[:oid],x1,x2,true,true,false);
t1 := alarm.time();
t := t1 - t0;
io.printf(" %5lld ms", t);
t0 := alarm.time();
- a1 := algebra.subselect(b,nil:bat[:oid],x1,x2,true,true,false);
+ a1 := algebra.select(b,nil:bat[:oid],x1,x2,true,true,false);
t1 := alarm.time();
t := t1 - t0;
io.printf(" %5lld ms", t);
t0 := alarm.time();
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list