Changeset: e1b637ab1a92 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e1b637ab1a92 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 sql/backends/monet5/generator/generator.c sql/backends/monet5/generator/generator.mal sql/backends/monet5/generator/generator_hge.mal Branch: Mar2018 Log Message:
Remove "sub" from generator.(theta)subselect: this fixes the generator optimizer. diffs (truncated from 464 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 @@ -9980,6 +9980,20 @@ Ready. [ "generator", "projection", "pattern generator.projection(b:bat[:oid], cand:bat[:lng]):bat[:lng] ", "VLTgenerator_projection;", "" ] [ "generator", "projection", "pattern generator.projection(b:bat[:oid], cand:bat[:sht]):bat[:sht] ", "VLTgenerator_projection;", "" ] [ "generator", "projection", "pattern generator.projection(b:bat[:oid], cand:bat[:timestamp]):bat[:timestamp] ", "VLTgenerator_projection;", "Overloaded projection operation" ] +[ "generator", "select", "pattern generator.select(b:bat[:bte], cand:bat[:oid], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:bte], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:dbl], cand:bat[:oid], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:dbl], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:flt], cand:bat[:oid], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:flt], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:int], cand:bat[:oid], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:int], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:lng], cand:bat[:oid], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:lng], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:sht], cand:bat[:oid], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:sht], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:timestamp], cand:bat[:oid], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] +[ "generator", "select", "pattern generator.select(b:bat[:timestamp], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] [ "generator", "series", "pattern generator.series(first:bte, last:bte):bat[:bte] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:bte, last:bte, step:bte):bat[:bte] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:dbl, last:dbl):bat[:dbl] ", "VLTgenerator_table;", "" ] @@ -9993,34 +10007,20 @@ Ready. [ "generator", "series", "pattern generator.series(first:sht, last:sht):bat[:sht] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:sht, last:sht, step:sht):bat[:sht] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:timestamp, last:timestamp, step:lng):bat[:timestamp] ", "VLTgenerator_table;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:bte], cand:bat[:oid], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:bte], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:dbl], cand:bat[:oid], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:dbl], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:flt], cand:bat[:oid], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:flt], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:int], cand:bat[:oid], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:int], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:lng], cand:bat[:oid], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:lng], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:sht], cand:bat[:oid], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:sht], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:timestamp], cand:bat[:oid], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:timestamp], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:bte], cnd:bat[:oid], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:bte], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:dbl], cnd:bat[:oid], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:dbl], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:flt], cnd:bat[:oid], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:flt], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:int], cnd:bat[:oid], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:int], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:lng], cnd:bat[:oid], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:lng], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:sht], cnd:bat[:oid], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:sht], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:timestamp], cnd:bat[:oid], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:timestamp], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:bte], cnd:bat[:oid], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:bte], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:dbl], cnd:bat[:oid], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:dbl], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:flt], cnd:bat[:oid], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:flt], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:int], cnd:bat[:oid], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:int], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:lng], cnd:bat[:oid], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:lng], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:sht], cnd:bat[:oid], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:sht], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:timestamp], cnd:bat[:oid], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:timestamp], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] [ "geom", "Area", "command geom.Area(w:wkb):dbl ", "wkbArea;", "Returns the area of the surface if it is a polygon or multi-polygon" ] [ "geom", "AsBinary", "command geom.AsBinary(w:wkb):str ", "wkbAsBinary;", "Returns the wkb representation into HEX format" ] [ "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 @@ -14179,6 +14179,22 @@ Ready. [ "generator", "projection", "pattern generator.projection(b:bat[:oid], cand:bat[:lng]):bat[:lng] ", "VLTgenerator_projection;", "" ] [ "generator", "projection", "pattern generator.projection(b:bat[:oid], cand:bat[:sht]):bat[:sht] ", "VLTgenerator_projection;", "" ] [ "generator", "projection", "pattern generator.projection(b:bat[:oid], cand:bat[:timestamp]):bat[:timestamp] ", "VLTgenerator_projection;", "Overloaded projection operation" ] +[ "generator", "select", "pattern generator.select(b:bat[:bte], cand:bat[:oid], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:bte], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:dbl], cand:bat[:oid], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:dbl], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:flt], cand:bat[:oid], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:flt], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:hge], cand:bat[:oid], low:hge, high:hge, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] +[ "generator", "select", "pattern generator.select(b:bat[:hge], low:hge, high:hge, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] +[ "generator", "select", "pattern generator.select(b:bat[:int], cand:bat[:oid], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:int], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:lng], cand:bat[:oid], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:lng], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:sht], cand:bat[:oid], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:sht], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] +[ "generator", "select", "pattern generator.select(b:bat[:timestamp], cand:bat[:oid], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] +[ "generator", "select", "pattern generator.select(b:bat[:timestamp], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] [ "generator", "series", "pattern generator.series(first:bte, last:bte):bat[:bte] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:bte, last:bte, step:bte):bat[:bte] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:dbl, last:dbl):bat[:dbl] ", "VLTgenerator_table;", "" ] @@ -14194,38 +14210,22 @@ Ready. [ "generator", "series", "pattern generator.series(first:sht, last:sht):bat[:sht] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:sht, last:sht, step:sht):bat[:sht] ", "VLTgenerator_table;", "" ] [ "generator", "series", "pattern generator.series(first:timestamp, last:timestamp, step:lng):bat[:timestamp] ", "VLTgenerator_table;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:bte], cand:bat[:oid], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:bte], low:bte, high:bte, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:dbl], cand:bat[:oid], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:dbl], low:dbl, high:dbl, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:flt], cand:bat[:oid], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:flt], low:flt, high:flt, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:hge], cand:bat[:oid], low:hge, high:hge, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:hge], low:hge, high:hge, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:int], cand:bat[:oid], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:int], low:int, high:int, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:lng], cand:bat[:oid], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:lng], low:lng, high:lng, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:sht], cand:bat[:oid], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:sht], low:sht, high:sht, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:timestamp], cand:bat[:oid], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] -[ "generator", "subselect", "pattern generator.subselect(b:bat[:timestamp], low:timestamp, high:timestamp, li:bit, hi:bit, anti:bit):bat[:oid] ", "VLTgenerator_subselect;", "Overloaded selection routine" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:bte], cnd:bat[:oid], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:bte], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:dbl], cnd:bat[:oid], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:dbl], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:flt], cnd:bat[:oid], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:flt], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:hge], cnd:bat[:oid], low:hge, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:hge], low:hge, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:int], cnd:bat[:oid], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:int], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:lng], cnd:bat[:oid], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:lng], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:sht], cnd:bat[:oid], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:sht], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:timestamp], cnd:bat[:oid], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] -[ "generator", "thetasubselect", "pattern generator.thetasubselect(b:bat[:timestamp], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:bte], cnd:bat[:oid], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:bte], low:bte, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:dbl], cnd:bat[:oid], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:dbl], low:dbl, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:flt], cnd:bat[:oid], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:flt], low:flt, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:hge], cnd:bat[:oid], low:hge, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:hge], low:hge, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:int], cnd:bat[:oid], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:int], low:int, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:lng], cnd:bat[:oid], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:lng], low:lng, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:sht], cnd:bat[:oid], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:sht], low:sht, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:timestamp], cnd:bat[:oid], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] +[ "generator", "thetaselect", "pattern generator.thetaselect(b:bat[:timestamp], low:timestamp, oper:str):bat[:oid] ", "VLTgenerator_thetasubselect;", "Overloaded selection routine" ] [ "geom", "Area", "command geom.Area(w:wkb):dbl ", "wkbArea;", "Returns the area of the surface if it is a polygon or multi-polygon" ] [ "geom", "AsBinary", "command geom.AsBinary(w:wkb):str ", "wkbAsBinary;", "Returns the wkb representation into HEX format" ] [ "geom", "AsEWKT", "function geom.AsEWKT(w:wkb):str;", "", "" ] 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 @@ -226,7 +226,7 @@ findGeneratorDefinition(MalBlkPtr mb, In s = f<l? (TPE) 1: (TPE)-1; \ else s = * getArgReference_##TPE(stk, p, 3); \ if (s == 0 || (s > 0 && f > l) || (s < 0 && f < l) || is_##TPE##_nil(f) || is_##TPE##_nil(l)) \ - throw(MAL, "generator.subselect", \ + throw(MAL, "generator.select", \ SQLSTATE(42000) "Illegal generator range"); \ n = (BUN) (((TPE2) l - (TPE2) f) / (TPE2) s); \ if ((TPE)(n * s + f) != l) \ @@ -306,7 +306,7 @@ VLTgenerator_subselect(Client cntxt, Mal (void) cntxt; p = findGeneratorDefinition(mb, pci, pci->argv[1]); if (p == NULL) - throw(MAL, "generator.subselect", + throw(MAL, "generator.select", SQLSTATE(42000) "Could not locate definition for object"); if (pci->argc == 8) { /* candidate list included */ @@ -314,7 +314,7 @@ VLTgenerator_subselect(Client cntxt, Mal if (candid) { cand = BATdescriptor(candid); if (cand == NULL) - throw(MAL, "generator.subselect", + throw(MAL, "generator.select", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING); cl = (oid *) Tloc(cand, 0); } @@ -356,7 +356,7 @@ VLTgenerator_subselect(Client cntxt, Mal (tss > 0 && (tsf.days > tsl.days || (tsf.days == tsl.days && tsf.msecs > tsl.msecs) )) || (tss < 0 && (tsf.days < tsl.days || (tsf.days == tsl.days && tsf.msecs < tsl.msecs) )) ) - throw(MAL, "generator.subselect", SQLSTATE(42000) "Illegal generator range"); + throw(MAL, "generator.select", SQLSTATE(42000) "Illegal generator range"); tlow = *getArgReference_TYPE(stk,pci,i, timestamp); thgh = *getArgReference_TYPE(stk,pci,i+1, timestamp); @@ -378,7 +378,7 @@ VLTgenerator_subselect(Client cntxt, Mal o2 = (BUN) ((((lng) tsl.days - tsf.days) * 24*60*60*1000 + tsl.msecs - tsf.msecs) / tss); bn = COLnew(0, TYPE_oid, o2 + 1, TRANSIENT); if (bn == NULL) - throw(MAL, "generator.subselect", SQLSTATE(HY001) MAL_MALLOC_FAIL); + throw(MAL, "generator.select", SQLSTATE(HY001) MAL_MALLOC_FAIL); // simply enumerate the sequence and filter it by predicate and candidate list ol = (oid *) Tloc(bn, 0); @@ -415,7 +415,7 @@ VLTgenerator_subselect(Client cntxt, Mal BBPkeepref(bn->batCacheid); return MAL_SUCCEED; } else - throw(MAL, "generator.subselect", SQLSTATE(42000) "Unsupported type in subselect"); + throw(MAL, "generator.select", SQLSTATE(42000) "Unsupported type in select"); } if (o1 > (oid) n) o1 = (oid) n; @@ -460,7 +460,7 @@ VLTgenerator_subselect(Client cntxt, Mal } BBPunfix(cand->batCacheid); if (bn == NULL) - throw(MAL, "generator.subselect", + throw(MAL, "generator.select", SQLSTATE(HY001) MAL_MALLOC_FAIL); } else { if (anti) { @@ -469,7 +469,7 @@ VLTgenerator_subselect(Client cntxt, Mal bn = COLnew(0, TYPE_oid, n - (o2 - o1), TRANSIENT); if (bn == NULL) - throw(MAL, "generator.subselect", + throw(MAL, "generator.select", SQLSTATE(HY001) MAL_MALLOC_FAIL); BATsetcount(bn, n - (o2 - o1)); op = (oid *) Tloc(bn, 0); @@ -485,7 +485,7 @@ VLTgenerator_subselect(Client cntxt, Mal } else { bn = BATdense(0, o1, (BUN) (o2 - o1)); if (bn == NULL) - throw(MAL, "generator.subselect", + throw(MAL, "generator.select", SQLSTATE(HY001) MAL_MALLOC_FAIL); } } @@ -527,11 +527,11 @@ VLTgenerator_subselect(Client cntxt, Mal s = f<l? (TPE) 1: (TPE)-1;\ else s = *getArgReference_##TPE(stk,p, 3);\ if( s == 0 || (f<l && s < 0) || (f>l && s> 0)) \ - throw(MAL,"generator.thetasubselect", SQLSTATE(42000) "Illegal range");\ + throw(MAL,"generator.thetaselect", SQLSTATE(42000) "Illegal range");\ cap = (BUN)(ABS(l-f)/ABS(s));\ bn = COLnew(0, TYPE_oid, cap, TRANSIENT);\ if( bn == NULL)\ - throw(MAL,"generator.thetasubselect", SQLSTATE(HY001) MAL_MALLOC_FAIL);\ + throw(MAL,"generator.thetaselect", SQLSTATE(HY001) MAL_MALLOC_FAIL);\ low= hgh = TPE##_nil;\ v = (oid*) Tloc(bn,0);\ if ( strcmp(oper,"<") == 0){\ @@ -555,7 +555,7 @@ VLTgenerator_subselect(Client cntxt, Mal if ( strcmp(oper,"==") == 0 || strcmp(oper, "=") == 0){\ hgh= low= *getArgReference_##TPE(stk,pci,idx);\ } else\ - throw(MAL,"generator.thetasubselect", SQLSTATE(42000) "Unknown operator");\ + throw(MAL,"generator.thetaselect", SQLSTATE(42000) "Unknown operator");\ if(cand){ cn = BATcount(cand); if( cl == 0) oc = cand->tseqbase; }\ for(j=0;j<cap;j++, f+=s, o++)\ if( ((is_##TPE##_nil(low) || f >= low) && (is_##TPE##_nil(hgh) || f <= hgh)) != anti){\ @@ -581,14 +581,14 @@ str VLTgenerator_thetasubselect(Client c (void) cntxt; p = findGeneratorDefinition(mb,pci,pci->argv[1]); if( p == NULL) - throw(MAL,"generator.thetasubselect",SQLSTATE(42000) "Could not locate definition for object"); + 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.subselect", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING); + throw(MAL,"generator.select", SQLSTATE(HY002) RUNTIME_OBJECT_MISSING); cl = (oid*) Tloc(cand,0); } idx = 3; @@ -628,7 +628,7 @@ str VLTgenerator_thetasubselect(Client c ) { if (cand) BBPunfix(cand->batCacheid); - throw(MAL, "generator.subselect", SQLSTATE(42000) "Illegal generator range"); + throw(MAL, "generator.select", SQLSTATE(42000) "Illegal generator range"); } hgh = low = *timestamp_nil; @@ -665,7 +665,7 @@ str VLTgenerator_thetasubselect(Client c } else { if (cand) BBPunfix(cand->batCacheid); - throw(MAL,"generator.thetasubselect", SQLSTATE(42000) "Unknown operator"); + throw(MAL,"generator.thetaselect", SQLSTATE(42000) "Unknown operator"); } cap = (BUN) ((((lng) l.days - f.days) * 24*60*60*1000 + l.msecs - f.msecs) / s); @@ -673,7 +673,7 @@ str VLTgenerator_thetasubselect(Client c if( bn == NULL) { if (cand) BBPunfix(cand->batCacheid); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list