Changeset: bc74e819e342 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bc74e819e342
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/modules/kernel/algebra.c
monetdb5/optimizer/opt_candidates.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
sql/backends/monet5/generator/generator.c
sql/backends/monet5/sql_statement.c
Branch: default
Log Message:
Removed thetaselect without candidate list.
diffs (truncated from 317 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
@@ -675,7 +675,6 @@ stdout of test 'MAL-signatures` in direc
[ "algebra", "subslice", "command algebra.subslice(X_1:bat[:any_1],
X_2:lng, X_3:lng):bat[:oid] ", "ALGsubslice_lng;", "" ]
[ "algebra", "thetajoin", "command algebra.thetajoin(X_1:bat[:any_1],
X_2:bat[:any_1], X_3:bat[:oid], X_4:bat[:oid], X_5:int, X_6:bit,
X_7:lng):bat[:oid] ", "ALGthetajoin1;", "" ]
[ "algebra", "thetajoin", "command algebra.thetajoin(X_2:bat[:any_1],
X_3:bat[:any_1], X_4:bat[:oid], X_5:bat[:oid], X_6:int, X_7:bit, X_8:lng)
(X_0:bat[:oid], X_1:bat[:oid]) ", "ALGthetajoin;", "" ]
-[ "algebra", "thetaselect", "command algebra.thetaselect(X_1:bat[:any_1],
X_2:any_1, X_3:str):bat[:oid] ", "ALGthetaselect1;", "" ]
[ "algebra", "thetaselect", "command algebra.thetaselect(X_1:bat[:any_1],
X_2:bat[:oid], X_3:any_1, X_4:str):bat[:oid] ", "ALGthetaselect2;", ""
]
[ "algebra", "unique", "command
algebra.unique(X_1:bat[:any_1]):bat[:oid] ", "ALGunique1;", "" ]
[ "algebra", "unique", "command algebra.unique(X_1:bat[:any_1],
X_2:bat[:oid]):bat[:oid] ", "ALGunique2;", "" ]
@@ -8544,19 +8543,12 @@ stdout of test 'MAL-signatures` in direc
[ "generator", "series", "pattern generator.series(X_1:sht, X_2:sht,
X_3:sht):bat[:sht] ", "VLTgenerator_table;", "" ]
[ "generator", "series", "pattern generator.series(X_1:timestamp,
X_2:timestamp, X_3:lng):bat[:timestamp] ", "VLTgenerator_table;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:bte],
X_2:bat[:oid], X_3:bte, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:bte],
X_2:bte, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:dbl],
X_2:bat[:oid], X_3:dbl, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:dbl],
X_2:dbl, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:flt],
X_2:bat[:oid], X_3:flt, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:flt],
X_2:flt, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:int],
X_2:bat[:oid], X_3:int, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:int],
X_2:int, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:lng],
X_2:bat[:oid], X_3:lng, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:lng],
X_2:lng, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:sht],
X_2:bat[:oid], X_3:sht, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:sht],
X_2:sht, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern
generator.thetaselect(X_1:bat[:timestamp], X_2:bat[:oid], X_3:timestamp,
X_4:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern
generator.thetaselect(X_1:bat[:timestamp], X_2:timestamp, X_3:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
[ "geom", "Area", "command geom.Area(X_1:wkb):dbl ", "wkbArea;",
"" ]
[ "geom", "AsBinary", "command geom.AsBinary(X_1:wkb):str ",
"wkbAsBinary;", "" ]
[ "geom", "AsEWKT", "function geom.AsEWKT(w:wkb):str;", "",
"" ]
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
@@ -788,7 +788,6 @@ stdout of test 'MAL-signatures` in direc
[ "algebra", "subslice", "command algebra.subslice(X_1:bat[:any_1],
X_2:lng, X_3:lng):bat[:oid] ", "ALGsubslice_lng;", "" ]
[ "algebra", "thetajoin", "command algebra.thetajoin(X_1:bat[:any_1],
X_2:bat[:any_1], X_3:bat[:oid], X_4:bat[:oid], X_5:int, X_6:bit,
X_7:lng):bat[:oid] ", "ALGthetajoin1;", "" ]
[ "algebra", "thetajoin", "command algebra.thetajoin(X_2:bat[:any_1],
X_3:bat[:any_1], X_4:bat[:oid], X_5:bat[:oid], X_6:int, X_7:bit, X_8:lng)
(X_0:bat[:oid], X_1:bat[:oid]) ", "ALGthetajoin;", "" ]
-[ "algebra", "thetaselect", "command algebra.thetaselect(X_1:bat[:any_1],
X_2:any_1, X_3:str):bat[:oid] ", "ALGthetaselect1;", "" ]
[ "algebra", "thetaselect", "command algebra.thetaselect(X_1:bat[:any_1],
X_2:bat[:oid], X_3:any_1, X_4:str):bat[:oid] ", "ALGthetaselect2;", ""
]
[ "algebra", "unique", "command
algebra.unique(X_1:bat[:any_1]):bat[:oid] ", "ALGunique1;", "" ]
[ "algebra", "unique", "command algebra.unique(X_1:bat[:any_1],
X_2:bat[:oid]):bat[:oid] ", "ALGunique2;", "" ]
@@ -11838,21 +11837,13 @@ stdout of test 'MAL-signatures` in direc
[ "generator", "series", "pattern generator.series(X_1:sht, X_2:sht,
X_3:sht):bat[:sht] ", "VLTgenerator_table;", "" ]
[ "generator", "series", "pattern generator.series(X_1:timestamp,
X_2:timestamp, X_3:lng):bat[:timestamp] ", "VLTgenerator_table;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:bte],
X_2:bat[:oid], X_3:bte, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:bte],
X_2:bte, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:dbl],
X_2:bat[:oid], X_3:dbl, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:dbl],
X_2:dbl, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:flt],
X_2:bat[:oid], X_3:flt, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:flt],
X_2:flt, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:hge],
X_2:bat[:oid], X_3:hge, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:hge],
X_2:hge, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:int],
X_2:bat[:oid], X_3:int, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:int],
X_2:int, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:lng],
X_2:bat[:oid], X_3:lng, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:lng],
X_2:lng, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:sht],
X_2:bat[:oid], X_3:sht, X_4:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern generator.thetaselect(X_1:bat[:sht],
X_2:sht, X_3:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
[ "generator", "thetaselect", "pattern
generator.thetaselect(X_1:bat[:timestamp], X_2:bat[:oid], X_3:timestamp,
X_4:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ]
-[ "generator", "thetaselect", "pattern
generator.thetaselect(X_1:bat[:timestamp], X_2:timestamp, X_3:str):bat[:oid] ",
"VLTgenerator_thetasubselect;", "" ]
[ "geom", "Area", "command geom.Area(X_1:wkb):dbl ", "wkbArea;",
"" ]
[ "geom", "AsBinary", "command geom.AsBinary(X_1:wkb):str ",
"wkbAsBinary;", "" ]
[ "geom", "AsEWKT", "function geom.AsEWKT(w:wkb):str;", "",
"" ]
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
@@ -1288,7 +1288,6 @@ str ifthenelseRef;
str ilikeRef;
str ilikejoinRef;
str ilikeselectRef;
-str ilikethetaselectRef;
str ilikeuselectRef;
str importColumnRef;
void initHeartbeat(void);
@@ -1343,7 +1342,6 @@ str leftjoinRef;
str likeRef;
str likejoinRef;
str likeselectRef;
-str likethetaselectRef;
str likeuselectRef;
str listRef;
str loadLibrary(const char *modulename, int flag);
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
@@ -359,12 +359,6 @@ ALGthetaselect2(bat *result, const bat *
}
static str
-ALGthetaselect1(bat *result, const bat *bid, const void *val, const char **op)
-{
- return ALGthetaselect2(result, bid, NULL, val, op);
-}
-
-static str
ALGselectNotNil(bat *result, const bat *bid)
{
BAT *b;
@@ -1405,7 +1399,6 @@ mel_func algebra_init_funcs[] = {
command("algebra", "select", ALGselect2, false, "Select all head values of
the first input BAT for which the tail value\nis in range and for which the
head value occurs in the tail of the\nsecond input BAT.\nThe first input is a
dense-headed BAT, the second input is a\ndense-headed BAT with sorted tail,
output is a dense-headed BAT\nwith in the tail the head value of the input BAT
for which the\ntail value is between the values low and high (inclusive if
li\nrespectively hi is set). The output BAT is sorted on the tail\nvalue. If
low or high is nil, the boundary is not considered\n(effectively - and +
infinity). If anti is set, the result is the\ncomplement. Nil values in the
tail are never matched, unless\nlow=nil, high=nil, li=1, hi=1, anti=0. All
non-nil values are\nreturned if low=nil, high=nil, and li, hi are not both 1,
or anti=1.\nNote that the output is suitable as second input for
this\nfunction.", args(1,8,
batarg("",oid),batargany("b",1),batarg("s",oid),argany("low"
,1),argany("high",1),arg("li",bit),arg("hi",bit),arg("anti",bit))),
command("algebra", "select", ALGselect1nil, false, "With unknown set, each
nil != nil", args(1,8,
batarg("",oid),batargany("b",1),argany("low",1),argany("high",1),arg("li",bit),arg("hi",bit),arg("anti",bit),arg("unknown",bit))),
command("algebra", "select", ALGselect2nil, false, "With unknown set, each
nil != nil", args(1,9,
batarg("",oid),batargany("b",1),batarg("s",oid),argany("low",1),argany("high",1),arg("li",bit),arg("hi",bit),arg("anti",bit),arg("unknown",bit))),
- command("algebra", "thetaselect", ALGthetaselect1, false, "Select all head
values for which the tail value obeys the relation\nvalue OP VAL.\nInput is a
dense-headed BAT, output is a dense-headed BAT with in\nthe tail the head value
of the input BAT for which the\nrelationship holds. The output BAT is sorted
on the tail value.", args(1,4,
batarg("",oid),batargany("b",1),argany("val",1),arg("op",str))),
command("algebra", "thetaselect", ALGthetaselect2, false, "Select all head
values of the first input BAT for which the tail value\nobeys the relation
value OP VAL and for which the head value occurs in\nthe tail of the second
input BAT.\nInput is a dense-headed BAT, output is a dense-headed BAT with
in\nthe tail the head value of the input BAT for which the\nrelationship holds.
The output BAT is sorted on the tail value.", args(1,5,
batarg("",oid),batargany("b",1),batarg("s",oid),argany("val",1),arg("op",str))),
command("algebra", "selectNotNil", ALGselectNotNil, false, "Select all
not-nil values", args(1,2, batargany("",2),batargany("b",2))),
command("algebra", "sort", ALGsort11, false, "Returns a copy of the BAT
sorted on tail values.\nThe order is descending if the reverse bit is
set.\nThis is a stable sort if the stable bit is set.", args(1,5,
batargany("",1),batargany("b",1),arg("reverse",bit),arg("nilslast",bit),arg("stable",bit))),
diff --git a/monetdb5/optimizer/opt_candidates.c
b/monetdb5/optimizer/opt_candidates.c
--- a/monetdb5/optimizer/opt_candidates.c
+++ b/monetdb5/optimizer/opt_candidates.c
@@ -43,7 +43,7 @@ OPTcandidatesImplementation(Client cntxt
else if( getModuleId(p) == algebraRef ){
if(getFunctionId(p) == selectRef || getFunctionId(p) ==
thetaselectRef)
setVarCList(mb,getArg(p,0));
- else if(getFunctionId(p) == likeselectRef ||
getFunctionId(p) == likethetaselectRef)
+ else if(getFunctionId(p) == likeselectRef)
setVarCList(mb,getArg(p,0));
else if(getFunctionId(p) == intersectRef ||
getFunctionId(p) == differenceRef )
setVarCList(mb,getArg(p,0));
diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c
--- a/monetdb5/optimizer/opt_prelude.c
+++ b/monetdb5/optimizer/opt_prelude.c
@@ -155,7 +155,6 @@ str ifthenelseRef;
str ilikejoinRef;
str ilikeRef;
str ilikeselectRef;
-str ilikethetaselectRef;
str importColumnRef;
str intersectcandRef;
str intersectRef;
@@ -173,7 +172,6 @@ str leftjoinRef;
str likejoinRef;
str likeRef;
str likeselectRef;
-str likethetaselectRef;
str listRef;
str lockRef;
str lookupRef;
@@ -468,7 +466,6 @@ void optimizerInit(void)
ilikejoinRef = putName("ilikejoin");
ilikeRef = putName("ilike");
ilikeselectRef = putName("ilikeselect");
- ilikethetaselectRef = putName("ilikethetaselect");
importColumnRef = putName("importColumn");
intersectcandRef= putName("intersectcand");
intersectRef = putName("intersect");
@@ -486,7 +483,6 @@ void optimizerInit(void)
likejoinRef = putName("likejoin");
likeRef = putName("like");
likeselectRef = putName("likeselect");
- likethetaselectRef = putName("likethetaselect");
listRef = putName("list");
lockRef = putName("lock");
lookupRef = putName("lookup");
diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h
--- a/monetdb5/optimizer/opt_prelude.h
+++ b/monetdb5/optimizer/opt_prelude.h
@@ -152,7 +152,6 @@ mal_export str ifthenelseRef;
mal_export str ilikejoinRef;
mal_export str ilikeRef;
mal_export str ilikeselectRef;
-mal_export str ilikethetaselectRef;
mal_export str ilikeuselectRef;
mal_export str importColumnRef;
mal_export str intersectcandRef;
@@ -171,7 +170,6 @@ mal_export str leftjoinRef;
mal_export str likejoinRef;
mal_export str likeRef;
mal_export str likeselectRef;
-mal_export str likethetaselectRef;
mal_export str likeuselectRef;
mal_export str listRef;
mal_export str lockRef;
diff --git a/sql/backends/monet5/generator/generator.c
b/sql/backends/monet5/generator/generator.c
--- a/sql/backends/monet5/generator/generator.c
+++ b/sql/backends/monet5/generator/generator.c
@@ -506,20 +506,20 @@ VLTgenerator_subselect(Client cntxt, Mal
low= hgh = TPE##_nil;
\
v = (oid*) Tloc(bn,0);
\
if ( strcmp(oper,"<") == 0){
\
- hgh= *getArgReference_##TPE(stk,pci,idx);
\
+ hgh= *getArgReference_##TPE(stk,pci,3);
\
hgh = PREVVALUE##TPE(hgh);
\
} else if ( strcmp(oper,"<=") == 0){
\
- hgh= *getArgReference_##TPE(stk,pci,idx);
\
+ hgh= *getArgReference_##TPE(stk,pci,3);
\
} else if ( strcmp(oper,">") == 0){
\
- low= *getArgReference_##TPE(stk,pci,idx);
\
+ low= *getArgReference_##TPE(stk,pci,3);
\
low = NEXTVALUE##TPE(low);
\
} else if ( strcmp(oper,">=") == 0){
\
- low= *getArgReference_##TPE(stk,pci,idx);
\
+ low= *getArgReference_##TPE(stk,pci,3);
\
} else if ( strcmp(oper,"!=") == 0 || strcmp(oper, "<>") == 0){
\
- hgh= low= *getArgReference_##TPE(stk,pci,idx);
\
+ hgh= low= *getArgReference_##TPE(stk,pci,3);
\
anti = 1;
\
} else if ( strcmp(oper,"==") == 0 || strcmp(oper, "=") == 0){
\
- hgh= low= *getArgReference_##TPE(stk,pci,idx);
\
+ hgh= low= *getArgReference_##TPE(stk,pci,3);
\
} else
\
throw(MAL,"generator.thetaselect", SQLSTATE(42000)
"Unknown operator"); \
for(j=0;j<cap;j++, f+=s, o++)
\
@@ -534,7 +534,7 @@ VLTgenerator_subselect(Client cntxt, Mal
str VLTgenerator_thetasubselect(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci)
{
- int idx, c= 0, anti =0,tpe;
+ int c= 0, anti =0,tpe;
bat cndid =0;
BAT *cand = 0, *bn = NULL;
struct canditer ci = (struct canditer) {.tpe = cand_dense};
@@ -548,21 +548,19 @@ str VLTgenerator_thetasubselect(Client c
if( p == NULL)
throw(MAL,"generator.thetaselect",SQLSTATE(42000) "Could not
locate definition for object");
- if( pci->argc == 5){ // candidate list included
- cndid = *getArgReference_bat(stk,pci, 2);
- if( !is_bat_nil(cndid)){
- cand = BATdescriptor(cndid);
- if( cand == NULL)
- throw(MAL,"generator.select", SQLSTATE(HY002)
RUNTIME_OBJECT_MISSING);
- canditer_init(&ci, NULL, cand);
- }
- idx = 3;
- } else idx = 2;
- oper= *getArgReference_str(stk,pci,idx+1);
+ assert(pci->argc == 5); // candidate list included
+ cndid = *getArgReference_bat(stk,pci, 2);
+ if( !is_bat_nil(cndid)){
+ cand = BATdescriptor(cndid);
+ if( cand == NULL)
+ throw(MAL,"generator.select", SQLSTATE(HY002)
RUNTIME_OBJECT_MISSING);
+ canditer_init(&ci, NULL, cand);
+ }
+ oper= *getArgReference_str(stk,pci,4);
// check the step direction
- switch( tpe =getArgType(mb,pci,idx)){
+ switch( tpe =getArgType(mb,pci,3)){
case TYPE_bte: VLTthetasubselect(bte,abs);break;
case TYPE_sht: VLTthetasubselect(sht,abs);break;
case TYPE_int: VLTthetasubselect(int,abs);break;
@@ -598,7 +596,7 @@ str VLTgenerator_thetasubselect(Client c
hgh = low = timestamp_nil;
if ( strcmp(oper,"<") == 0){
- hgh= *getArgReference_TYPE(stk,pci,idx,
timestamp);
+ hgh= *getArgReference_TYPE(stk,pci,3,
timestamp);
hgh = timestamp_add_usec(hgh, -1);
if (is_timestamp_nil(hgh)) {
if (cand)
@@ -607,10 +605,10 @@ str VLTgenerator_thetasubselect(Client c
}
} else
if ( strcmp(oper,"<=") == 0){
- hgh= *getArgReference_TYPE(stk,pci,idx,
timestamp) ;
+ hgh= *getArgReference_TYPE(stk,pci,3,
timestamp) ;
} else
if ( strcmp(oper,">") == 0){
- low= *getArgReference_TYPE(stk,pci,idx,
timestamp);
+ low= *getArgReference_TYPE(stk,pci,3,
timestamp);
low = timestamp_add_usec(low, 1);
if (is_timestamp_nil(low)) {
if (cand)
@@ -619,14 +617,14 @@ str VLTgenerator_thetasubselect(Client c
}
} else
if ( strcmp(oper,">=") == 0){
- low= *getArgReference_TYPE(stk,pci,idx,
timestamp);
+ low= *getArgReference_TYPE(stk,pci,3,
timestamp);
} else
if ( strcmp(oper,"!=") == 0 || strcmp(oper, "<>") == 0){
- hgh= low= *getArgReference_TYPE(stk,pci,idx,
timestamp);
+ hgh= low= *getArgReference_TYPE(stk,pci,3,
timestamp);
anti = 1;
} else
if ( strcmp(oper,"==") == 0 || strcmp(oper, "=") == 0){
- hgh= low= *getArgReference_TYPE(stk,pci,idx,
timestamp);
+ hgh= low= *getArgReference_TYPE(stk,pci,3,
timestamp);
} else {
if (cand)
BBPunfix(cand->batCacheid);
@@ -1134,13 +1132,6 @@ static mel_func generator_init_funcs[] =
pattern("generator", "parameters", VLTgenerator_noop, false, "", args(1,3,
batarg("",lng),arg("first",lng),arg("limit",lng))),
pattern("generator", "parameters", VLTgenerator_noop, false, "", args(1,3,
batarg("",flt),arg("first",flt),arg("limit",flt))),
pattern("generator", "parameters", VLTgenerator_noop, false, "", args(1,3,
batarg("",dbl),arg("first",dbl),arg("limit",dbl))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,4, batarg("",oid),batarg("b",bte),arg("low",bte),arg("oper",str))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,4, batarg("",oid),batarg("b",sht),arg("low",sht),arg("oper",str))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,4, batarg("",oid),batarg("b",int),arg("low",int),arg("oper",str))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,4, batarg("",oid),batarg("b",lng),arg("low",lng),arg("oper",str))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,4, batarg("",oid),batarg("b",flt),arg("low",flt),arg("oper",str))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,4, batarg("",oid),batarg("b",dbl),arg("low",dbl),arg("oper",str))),
- pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false,
"Overloaded selection routine", args(1,4,
batarg("",oid),batarg("b",timestamp),arg("low",timestamp),arg("oper",str))),
pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,5,
batarg("",oid),batarg("b",bte),batarg("cnd",oid),arg("low",bte),arg("oper",str))),
pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,5,
batarg("",oid),batarg("b",sht),batarg("cnd",oid),arg("low",sht),arg("oper",str))),
pattern("generator", "thetaselect", VLTgenerator_thetasubselect, false, "",
args(1,5,
batarg("",oid),batarg("b",int),batarg("cnd",oid),arg("low",int),arg("oper",str))),
@@ -1186,7 +1177,6 @@ static mel_func generator_init_funcs[] =
pattern("generator", "series", VLTgenerator_table, false, "Create and
materialize a generator table", args(1,4,
batarg("",hge),arg("first",hge),arg("limit",hge),arg("step",hge))),
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list