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

Reply via email to