Changeset: 01bb39e7de5e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=01bb39e7de5e
Added Files:
        monetdb5/modules/mosaic/Tests/mosaic_delta_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_delta_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_delta_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_delta_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_delta_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_delta_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_frame_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_frame_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_frame_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_frame_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_frame_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_frame_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_linear_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_linear_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_linear_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_linear_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_linear_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_linear_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_mix_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_mix_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_mix_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_mix_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_mix_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_mix_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_prefix_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_prefix_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_prefix_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_prefix_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_prefix_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_prefix_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_raw_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_raw_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_raw_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_raw_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_raw_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_raw_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_runlength_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_runlength_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_runlength_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_runlength_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_runlength_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_runlength_thetaselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_view_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_select.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_select.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_zone_select.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_zone_thetaselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_thetaselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_zone_thetaselect.stable.out
Removed Files:
        monetdb5/modules/mosaic/Tests/mosaic_delta_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_delta_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_delta_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_delta_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_delta_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_delta_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_thetasubselect.malC
        
monetdb5/modules/mosaic/Tests/mosaic_dictionary_thetasubselect.stable.err
        
monetdb5/modules/mosaic/Tests/mosaic_dictionary_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_frame_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_frame_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_frame_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_frame_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_frame_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_frame_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_linear_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_linear_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_linear_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_linear_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_linear_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_linear_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_mix_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_mix_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_mix_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_mix_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_mix_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_mix_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_prefix_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_prefix_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_prefix_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_prefix_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_prefix_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_prefix_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_raw_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_raw_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_raw_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_raw_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_raw_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_raw_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_runlength_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_runlength_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_runlength_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_runlength_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_runlength_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_runlength_thetasubselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_view_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_subselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_subselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_zone_subselect.stable.out
        monetdb5/modules/mosaic/Tests/mosaic_zone_thetasubselect.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_thetasubselect.stable.err
        monetdb5/modules/mosaic/Tests/mosaic_zone_thetasubselect.stable.out
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        gdk/gdk_batop.c
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
        monetdb5/mal/Tests/tst1502.malC
        monetdb5/mal/Tests/tst233.malC
        monetdb5/mal/Tests/tst234.malC
        monetdb5/mal/Tests/tst235.malC
        monetdb5/mal/Tests/tst903.malC
        monetdb5/mal/Tests/tst903.stable.out
        monetdb5/modules/atoms/Tests/xml10.malC
        monetdb5/modules/kernel/Tests/time01.malC
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/algebra.h
        monetdb5/modules/kernel/algebra.mal
        monetdb5/modules/mal/Tests/inspect05.malC
        monetdb5/modules/mal/Tests/orderidx00.malC
        monetdb5/modules/mal/Tests/orderidx04.malC
        monetdb5/modules/mosaic/Tests/All
        monetdb5/modules/mosaic/Tests/mosaic_delta_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_dictionary_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_frame_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_linear_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_mix_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_prefix_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_raw_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_runlength_joins.malC
        monetdb5/modules/mosaic/Tests/mosaic_zone_joins.malC
        monetdb5/modules/mosaic/mosaic.c
        monetdb5/modules/mosaic/mosaic.h
        monetdb5/modules/mosaic/mosaic.mal
        monetdb5/modules/mosaic/mosaic_calendar.c
        monetdb5/modules/mosaic/mosaic_calendar.h
        monetdb5/modules/mosaic/mosaic_delta.c
        monetdb5/modules/mosaic/mosaic_delta.h
        monetdb5/modules/mosaic/mosaic_dictionary.c
        monetdb5/modules/mosaic/mosaic_dictionary.h
        monetdb5/modules/mosaic/mosaic_frame.c
        monetdb5/modules/mosaic/mosaic_frame.h
        monetdb5/modules/mosaic/mosaic_linear.c
        monetdb5/modules/mosaic/mosaic_linear.h
        monetdb5/modules/mosaic/mosaic_prefix.c
        monetdb5/modules/mosaic/mosaic_prefix.h
        monetdb5/modules/mosaic/mosaic_raw.c
        monetdb5/modules/mosaic/mosaic_raw.h
        monetdb5/modules/mosaic/mosaic_runlength.c
        monetdb5/modules/mosaic/mosaic_runlength.h
        monetdb5/optimizer/Tests/DCexample2.malC
        monetdb5/optimizer/Tests/DCexample2.stable.out
        monetdb5/optimizer/Tests/reorder00.malC
        monetdb5/optimizer/Tests/reorder00.stable.out
        monetdb5/optimizer/Tests/tst4700.malC
        monetdb5/optimizer/opt_mosaic.c
        sql/backends/monet5/sql_statement.c
        
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
        
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
        sql/test/BugTracker-2015/Tests/useless_casts.Bug-3756.stable.out
        sql/test/Tests/setoptimizer.stable.out
        sql/test/Tests/setoptimizer.stable.out.Windows
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/mosaic/Tests/compression.stable.out
        sql/test/mosaic/Tests/compressionRLE.stable.out
        sql/test/mosaic/Tests/compressionRLE2.stable.out
        sql/test/mosaic/Tests/session_exit.stable.out
        sql/test/mosaic/Tests/xqueries.stable.out
        sql/test/mosaic/Tests/xqueries_delta.stable.out
        sql/test/mosaic/Tests/xqueries_rle.stable.out
        sql/test/remote/Tests/partition_elim.stable.out
Branch: mosaic
Log Message:

Renaming step


diffs (truncated from 7157 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
@@ -7837,8 +7837,8 @@ Ready.
 [ "lsst",      "ptinsphellipse",       "command 
lsst.ptinsphellipse(ra:dbl,dec:dbl,ra_cen:dbl,dec_cen:dbl,smaa:dbl,smia:dbl,ang:dbl):int
 ",    "qserv_ptInSphEllipse;",        "Returns 1 if the given spherical 
longitude/latitude ellipse contains the given position"       ]
 [ "lsst",      "ptinsphpoly",  "pattern 
lsst.ptinsphpoly(ra:dbl,dec:dbl,list:dbl...):int ",    "qserv_ptInSphPoly;",   
"Returns 1 if the given spherical longitude/latitude polyline contains the 
given position"      ]
 [ "lsst",      "xmatch",       "command lsst.xmatch(l:lng,r:lng,depth:int):bit 
",      "LSSTxmatch;",  "Return true when the HtmID pairs that lie within the 
same triangle at level depth"     ]
-[ "lsst",      "xmatchsubjoin",        "command 
lsst.xmatchsubjoin(l:bat[:lng],r:bat[:lng],depth:int,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
 (lr:bat[:oid],rr:bat[:oid]) ",    "LSSTxmatchsubjoin;",   "Return the HtmID 
pairs that lie within the same triangle at level depth"       ]
-[ "lsst",      "xmatchsubselect",      "command 
lsst.xmatchsubselect(l:bat[:lng],cand:bat[:oid],r:lng,depth:int,anti:bit):bat[:oid]
 ", "LSSTxmatchsubselect;", "Return the HtmID's that lie within the same 
triangle as r at level depth"      ]
+[ "lsst",      "xmatchjoin",   "command 
lsst.xmatchjoin(l:bat[:lng],r:bat[:lng],depth:int,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
 (lr:bat[:oid],rr:bat[:oid]) ",       "LSSTxmatchjoin;",      "Return the HtmID 
pairs that lie within the same triangle at level depth"       ]
+[ "lsst",      "xmatchselect", "command 
lsst.xmatchselect(l:bat[:lng],cand:bat[:oid],r:lng,depth:int,anti:bit):bat[:oid]
 ",    "LSSTxmatchselect;",    "Return the HtmID's that lie within the same 
triangle as r at level depth"      ]
 [ "mal",       "manifold",     "pattern 
mal.manifold(mod:str,fcn:str,a:any...):bat[:any] ",    "MANIFOLDevaluate;",    
""      ]
 [ "mal",       "multiplex",    "pattern 
mal.multiplex(mod:str,fcn:str,a:any...):any... ",      
"MANIFOLDremapMultiplex;",      ""      ]
 [ "manual",    "functions",    "pattern manual.functions() 
(mod:bat[:str],fcn:bat[:str],sig:bat[:str],adr:bat[:str],com:bat[:str]) ",  
"MANUALcreateOverview;",        "Produces a table with all MAL functions known" 
]
@@ -8016,6 +8016,7 @@ Ready.
 [ "mosaic",    "decompress",   "pattern 
mosaic.decompress(b:bat[:any_1]):bat[:any_1] ",        "MOSdecompress;",       
"Apply dynamic decompression over chunks producing a temporary version" ]
 [ "mosaic",    "decompressStorage",    "pattern 
mosaic.decompressStorage(b:bat[:any_1]):bat[:any_1] ", "MOSdecompressStorage;", 
       "Apply dynamic decompression, changing the storage layout permanently"  ]
 [ "mosaic",    "dump", "pattern mosaic.dump(b:bat[:any]):void ",       
"MOSdump;",     "Dump the compressed structure" ]
+[ "mosaic",    "join", "pattern 
mosaic.join(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]) ",       "MOSjoin;",     "Overloaded join 
operation"     ]
 [ "mosaic",    "optimize",     "pattern mosaic.optimize(bid:int):void ",       
"MOSoptimizer;",        "Perform a search thru the compression space using 
depth 1"     ]
 [ "mosaic",    "optimize",     "pattern mosaic.optimize(bid:int):void ",       
"MOSoptimizer;",        "Perform a search thru the compression space using up 
to 2^ply\ncandidate combinations" ]
 [ "mosaic",    "optimize",     "pattern mosaic.optimize(bid:int,blk:int):void 
",       "MOSoptimizer;",        "Perform a search thru the compression space 
using up to 2^ply\ncandidate combinations and blk*1000 blocksize limits"   ]
@@ -8032,56 +8033,55 @@ Ready.
 [ "mosaic",    "projection",   "pattern 
mosaic.projection(b:bat[:oid],cand:bat[:sht]):bat[:sht] ",     
"MOSprojection;",       ""      ]
 [ "mosaic",    "projection",   "pattern 
mosaic.projection(b:bat[:oid],cand:bat[:str]):bat[:str] ",     
"MOSprojection;",       ""      ]
 [ "mosaic",    "projection",   "pattern 
mosaic.projection(b:bat[:oid],cand:bat[:timestamp]):bat[:timestamp] ", 
"MOSprojection;",       "Overloaded projection operation"       ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bit],cand:bat[:oid],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bit],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bte],cand:bat[:oid],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bte],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:date],cand:bat[:oid],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:date],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:daytime],cand:bat[:oid],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ",     "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:daytime],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ",    "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:dbl],cand:bat[:oid],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:dbl],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:flt],cand:bat[:oid],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:flt],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:int],cand:bat[:oid],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:int],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:lng],cand:bat[:oid],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:lng],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:oid],cand:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:sht],cand:bat[:oid],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:sht],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:str],cand:bat[:oid],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:str],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:timestamp],cand:bat[:oid],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",       "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:timestamp],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSselect;",   "Overloaded selection routine"  ]
 [ "mosaic",    "slice",        "pattern mosaic.slice(bid:lng) 
(b0:bte,b1:bte,b2:bte,b3:bte,b4:bte,b5:bte,b6:bte,b7:bte) ",     "MOSslice;",   
 "Break column into verticalslices"      ]
-[ "mosaic",    "subjoin",      "pattern 
mosaic.subjoin(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]) ",    "MOSsubjoin;",  "Overloaded join 
operation"     ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bit],cand:bat[:oid],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bit],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bte],cand:bat[:oid],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bte],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:date],cand:bat[:oid],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid]
 ",   "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:date],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid]
 ",  "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:daytime],cand:bat[:oid],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ",  "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:daytime],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:dbl],cand:bat[:oid],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:dbl],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:flt],cand:bat[:oid],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:flt],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:int],cand:bat[:oid],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:int],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:lng],cand:bat[:oid],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:lng],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:oid],cand:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:sht],cand:bat[:oid],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:sht],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:str],cand:bat[:oid],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:str],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:timestamp],cand:bat[:oid],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",    "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:timestamp],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",   "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bit],c:bat[:oid],low:bit,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bit],low:bit,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bte],c:bat[:oid],low:bte,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bte],low:bte,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:date],c:bat[:oid],low:date,oper:str):bat[:oid] ", 
"MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:date],low:date,oper:str):bat[:oid] ",     
"MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:daytime],c:bat[:oid],low:daytime,oper:str):bat[:oid]
 ",   "MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:daytime],low:daytime,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:dbl],c:bat[:oid],low:dbl,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:dbl],low:dbl,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:flt],c:bat[:oid],low:flt,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:flt],low:flt,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:int],c:bat[:oid],low:int,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:int],low:int,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:lng],c:bat[:oid],low:lng,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:lng],low:lng,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:oid],c:bat[:oid],low:oid,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:oid],low:oid,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:sht],c:bat[:oid],low:sht,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:sht],low:sht,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:str],c:bat[:oid],low:str,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:str],low:str,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:timestamp],c:bat[:oid],low:timestamp,oper:str):bat[:oid]
 ",       "MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:timestamp],low:timestamp,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bit],c:bat[:oid],low:bit,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bit],low:bit,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bte],c:bat[:oid],low:bte,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bte],low:bte,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:date],c:bat[:oid],low:date,oper:str):bat[:oid] ",    
"MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:date],low:date,oper:str):bat[:oid] ",        
"MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:daytime],c:bat[:oid],low:daytime,oper:str):bat[:oid] 
",      "MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:daytime],low:daytime,oper:str):bat[:oid] ",  
"MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:dbl],c:bat[:oid],low:dbl,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:dbl],low:dbl,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:flt],c:bat[:oid],low:flt,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:flt],low:flt,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:int],c:bat[:oid],low:int,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:int],low:int,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:lng],c:bat[:oid],low:lng,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:lng],low:lng,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:oid],c:bat[:oid],low:oid,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:oid],low:oid,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:sht],c:bat[:oid],low:sht,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:sht],low:sht,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:str],c:bat[:oid],low:str,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:str],low:str,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:timestamp],c:bat[:oid],low:timestamp,oper:str):bat[:oid]
 ",  "MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:timestamp],low:timestamp,oper:str):bat[:oid] ",      
"MOSthetaselect;",      "Overloaded selection routine"  ]
 [ "mtime",     "add",  "command mtime.add(v:timestamp,msecs:lng):timestamp ",  
"MTIMEtimestamp_add;",  "returns the timestamp that comes 'msecs'\n\t(possibly 
negative) after 'value'."        ]
 [ "mtime",     "adddays",      "command 
mtime.adddays(value:date,days:int):date ",     "MTIMEdate_adddays;",   "returns 
the date after a number\n\tof days (possibly negative)."       ]
 [ "mtime",     "addmonths",    "command 
mtime.addmonths(value:date,months:int):date ", "MTIMEdate_addmonths;", "returns 
the date after a number of\n\tmonths (possibly negative)."     ]
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
@@ -10197,8 +10197,8 @@ Ready.
 [ "lsst",      "ptinsphellipse",       "command 
lsst.ptinsphellipse(ra:dbl,dec:dbl,ra_cen:dbl,dec_cen:dbl,smaa:dbl,smia:dbl,ang:dbl):int
 ",    "qserv_ptInSphEllipse;",        "Returns 1 if the given spherical 
longitude/latitude ellipse contains the given position"       ]
 [ "lsst",      "ptinsphpoly",  "pattern 
lsst.ptinsphpoly(ra:dbl,dec:dbl,list:dbl...):int ",    "qserv_ptInSphPoly;",   
"Returns 1 if the given spherical longitude/latitude polyline contains the 
given position"      ]
 [ "lsst",      "xmatch",       "command lsst.xmatch(l:lng,r:lng,depth:int):bit 
",      "LSSTxmatch;",  "Return true when the HtmID pairs that lie within the 
same triangle at level depth"     ]
-[ "lsst",      "xmatchsubjoin",        "command 
lsst.xmatchsubjoin(l:bat[:lng],r:bat[:lng],depth:int,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
 (lr:bat[:oid],rr:bat[:oid]) ",    "LSSTxmatchsubjoin;",   "Return the HtmID 
pairs that lie within the same triangle at level depth"       ]
-[ "lsst",      "xmatchsubselect",      "command 
lsst.xmatchsubselect(l:bat[:lng],cand:bat[:oid],r:lng,depth:int,anti:bit):bat[:oid]
 ", "LSSTxmatchsubselect;", "Return the HtmID's that lie within the same 
triangle as r at level depth"      ]
+[ "lsst",      "xmatchjoin",   "command 
lsst.xmatchjoin(l:bat[:lng],r:bat[:lng],depth:int,sl:bat[:oid],sr:bat[:oid],nil_matches:bit,estimate:lng)
 (lr:bat[:oid],rr:bat[:oid]) ",       "LSSTxmatchjoin;",      "Return the HtmID 
pairs that lie within the same triangle at level depth"       ]
+[ "lsst",      "xmatchselect", "command 
lsst.xmatchselect(l:bat[:lng],cand:bat[:oid],r:lng,depth:int,anti:bit):bat[:oid]
 ",    "LSSTxmatchselect;",    "Return the HtmID's that lie within the same 
triangle as r at level depth"      ]
 [ "mal",       "manifold",     "pattern 
mal.manifold(mod:str,fcn:str,a:any...):bat[:any] ",    "MANIFOLDevaluate;",    
""      ]
 [ "mal",       "multiplex",    "pattern 
mal.multiplex(mod:str,fcn:str,a:any...):any... ",      
"MANIFOLDremapMultiplex;",      ""      ]
 [ "manual",    "functions",    "pattern manual.functions() 
(mod:bat[:str],fcn:bat[:str],sig:bat[:str],adr:bat[:str],com:bat[:str]) ",  
"MANUALcreateOverview;",        "Produces a table with all MAL functions known" 
]
@@ -10378,6 +10378,7 @@ Ready.
 [ "mosaic",    "decompress",   "pattern 
mosaic.decompress(b:bat[:any_1]):bat[:any_1] ",        "MOSdecompress;",       
"Apply dynamic decompression over chunks producing a temporary version" ]
 [ "mosaic",    "decompressStorage",    "pattern 
mosaic.decompressStorage(b:bat[:any_1]):bat[:any_1] ", "MOSdecompressStorage;", 
       "Apply dynamic decompression, changing the storage layout permanently"  ]
 [ "mosaic",    "dump", "pattern mosaic.dump(b:bat[:any]):void ",       
"MOSdump;",     "Dump the compressed structure" ]
+[ "mosaic",    "join", "pattern 
mosaic.join(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]) ",       "MOSjoin;",     "Overloaded join 
operation"     ]
 [ "mosaic",    "optimize",     "pattern mosaic.optimize(bid:int):void ",       
"MOSoptimizer;",        "Perform a search thru the compression space using 
depth 1"     ]
 [ "mosaic",    "optimize",     "pattern mosaic.optimize(bid:int):void ",       
"MOSoptimizer;",        "Perform a search thru the compression space using up 
to 2^ply\ncandidate combinations" ]
 [ "mosaic",    "optimize",     "pattern mosaic.optimize(bid:int,blk:int):void 
",       "MOSoptimizer;",        "Perform a search thru the compression space 
using up to 2^ply\ncandidate combinations and blk*1000 blocksize limits"   ]
@@ -10394,56 +10395,55 @@ Ready.
 [ "mosaic",    "projection",   "pattern 
mosaic.projection(b:bat[:oid],cand:bat[:sht]):bat[:sht] ",     
"MOSprojection;",       ""      ]
 [ "mosaic",    "projection",   "pattern 
mosaic.projection(b:bat[:oid],cand:bat[:str]):bat[:str] ",     
"MOSprojection;",       ""      ]
 [ "mosaic",    "projection",   "pattern 
mosaic.projection(b:bat[:oid],cand:bat[:timestamp]):bat[:timestamp] ", 
"MOSprojection;",       "Overloaded projection operation"       ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bit],cand:bat[:oid],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bit],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bte],cand:bat[:oid],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:bte],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:date],cand:bat[:oid],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:date],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:daytime],cand:bat[:oid],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ",     "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:daytime],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ",    "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:dbl],cand:bat[:oid],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:dbl],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:flt],cand:bat[:oid],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:flt],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:int],cand:bat[:oid],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:int],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:lng],cand:bat[:oid],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:lng],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:oid],cand:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:sht],cand:bat[:oid],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:sht],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:str],cand:bat[:oid],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:str],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid] ", 
       "MOSselect;",   ""      ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:timestamp],cand:bat[:oid],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",       "MOSselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "select",       "pattern 
mosaic.select(b:bat[:timestamp],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSselect;",   "Overloaded selection routine"  ]
 [ "mosaic",    "slice",        "pattern mosaic.slice(bid:lng) 
(b0:bte,b1:bte,b2:bte,b3:bte,b4:bte,b5:bte,b6:bte,b7:bte) ",     "MOSslice;",   
 "Break column into verticalslices"      ]
-[ "mosaic",    "subjoin",      "pattern 
mosaic.subjoin(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]) ",    "MOSsubjoin;",  "Overloaded join 
operation"     ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bit],cand:bat[:oid],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bit],low:bit,high:bit,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bte],cand:bat[:oid],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:bte],low:bte,high:bte,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:date],cand:bat[:oid],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid]
 ",   "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:date],low:date,high:date,li:bit,hi:bit,anti:bit):bat[:oid]
 ",  "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:daytime],cand:bat[:oid],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ",  "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:daytime],low:daytime,high:daytime,li:bit,hi:bit,anti:bit):bat[:oid]
 ", "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:dbl],cand:bat[:oid],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:dbl],low:dbl,high:dbl,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:flt],cand:bat[:oid],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:flt],low:flt,high:flt,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:int],cand:bat[:oid],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:int],low:int,high:int,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:lng],cand:bat[:oid],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:lng],low:lng,high:lng,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:oid],cand:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:oid],low:oid,high:oid,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:sht],cand:bat[:oid],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:sht],low:sht,high:sht,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:str],cand:bat[:oid],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid]
 ",      "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:str],low:str,high:str,li:bit,hi:bit,anti:bit):bat[:oid] 
",     "MOSsubselect;",        ""      ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:timestamp],cand:bat[:oid],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",    "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "subselect",    "pattern 
mosaic.subselect(b:bat[:timestamp],low:timestamp,high:timestamp,li:bit,hi:bit,anti:bit):bat[:oid]
 ",   "MOSsubselect;",        "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bit],c:bat[:oid],low:bit,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bit],low:bit,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bte],c:bat[:oid],low:bte,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:bte],low:bte,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:date],c:bat[:oid],low:date,oper:str):bat[:oid] ", 
"MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:date],low:date,oper:str):bat[:oid] ",     
"MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:daytime],c:bat[:oid],low:daytime,oper:str):bat[:oid]
 ",   "MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:daytime],low:daytime,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:dbl],c:bat[:oid],low:dbl,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:dbl],low:dbl,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:flt],c:bat[:oid],low:flt,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:flt],low:flt,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:int],c:bat[:oid],low:int,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:int],low:int,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:lng],c:bat[:oid],low:lng,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:lng],low:lng,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:oid],c:bat[:oid],low:oid,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:oid],low:oid,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:sht],c:bat[:oid],low:sht,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:sht],low:sht,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:str],c:bat[:oid],low:str,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:str],low:str,oper:str):bat[:oid] ",       
"MOSthetasubselect;",   ""      ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:timestamp],c:bat[:oid],low:timestamp,oper:str):bat[:oid]
 ",       "MOSthetasubselect;",   "Overloaded selection routine"  ]
-[ "mosaic",    "thetasubselect",       "pattern 
mosaic.thetasubselect(b:bat[:timestamp],low:timestamp,oper:str):bat[:oid] ",   
"MOSthetasubselect;",   "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bit],c:bat[:oid],low:bit,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bit],low:bit,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bte],c:bat[:oid],low:bte,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:bte],low:bte,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:date],c:bat[:oid],low:date,oper:str):bat[:oid] ",    
"MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:date],low:date,oper:str):bat[:oid] ",        
"MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:daytime],c:bat[:oid],low:daytime,oper:str):bat[:oid] 
",      "MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:daytime],low:daytime,oper:str):bat[:oid] ",  
"MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:dbl],c:bat[:oid],low:dbl,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:dbl],low:dbl,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:flt],c:bat[:oid],low:flt,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:flt],low:flt,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:int],c:bat[:oid],low:int,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:int],low:int,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:lng],c:bat[:oid],low:lng,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:lng],low:lng,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:oid],c:bat[:oid],low:oid,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:oid],low:oid,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:sht],c:bat[:oid],low:sht,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:sht],low:sht,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:str],c:bat[:oid],low:str,oper:str):bat[:oid] ",      
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:str],low:str,oper:str):bat[:oid] ",  
"MOSthetaselect;",      ""      ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:timestamp],c:bat[:oid],low:timestamp,oper:str):bat[:oid]
 ",  "MOSthetaselect;",      "Overloaded selection routine"  ]
+[ "mosaic",    "thetaselect",  "pattern 
mosaic.thetaselect(b:bat[:timestamp],low:timestamp,oper:str):bat[:oid] ",      
"MOSthetaselect;",      "Overloaded selection routine"  ]
 [ "mtime",     "add",  "command mtime.add(v:timestamp,msecs:lng):timestamp ",  
"MTIMEtimestamp_add;",  "returns the timestamp that comes 'msecs'\n\t(possibly 
negative) after 'value'."        ]
 [ "mtime",     "adddays",      "command 
mtime.adddays(value:date,days:int):date ",     "MTIMEdate_adddays;",   "returns 
the date after a number\n\tof days (possibly negative)."       ]
 [ "mtime",     "addmonths",    "command 
mtime.addmonths(value:date,months:int):date ", "MTIMEdate_addmonths;", "returns 
the date after a number of\n\tmonths (possibly negative)."     ]
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
@@ -726,18 +726,18 @@ str ALGslice(bat *ret, const bat *bid, c
 str ALGslice_int(bat *ret, const bat *bid, const int *start, const int *end);
 str ALGslice_lng(bat *ret, const bat *bid, const lng *start, const lng *end);
 str ALGslice_oid(bat *ret, const bat *bid, const oid *start, const oid *end);
+str ALGsort11(bat *result, const bat *bid, const bit *reverse, const bit 
*stable);
+str ALGsort12(bat *result, bat *norder, const bat *bid, const bit *reverse, 
const bit *stable);
+str ALGsort13(bat *result, bat *norder, bat *ngroup, const bat *bid, const bit 
*reverse, const bit *stable);
+str ALGsort21(bat *result, const bat *bid, const bat *order, const bit 
*reverse, const bit *stable);
+str ALGsort22(bat *result, bat *norder, const bat *bid, const bat *order, 
const bit *reverse, const bit *stable);
+str ALGsort23(bat *result, bat *norder, bat *ngroup, const bat *bid, const bat 
*order, const bit *reverse, const bit *stable);
+str ALGsort31(bat *result, const bat *bid, const bat *order, const bat *group, 
const bit *reverse, const bit *stable);
+str ALGsort32(bat *result, bat *norder, const bat *bid, const bat *order, 
const bat *group, const bit *reverse, const bit *stable);
+str ALGsort33(bat *result, bat *norder, bat *ngroup, const bat *bid, const bat 
*order, const bat *group, const bit *reverse, const bit *stable);
 str ALGstdev(dbl *res, const bat *bid);
 str ALGstdevp(dbl *res, const bat *bid);
 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);
-str ALGsubsort12(bat *result, bat *norder, const bat *bid, const bit *reverse, 
const bit *stable);
-str ALGsubsort13(bat *result, bat *norder, bat *ngroup, const bat *bid, const 
bit *reverse, const bit *stable);
-str ALGsubsort21(bat *result, const bat *bid, const bat *order, const bit 
*reverse, const bit *stable);
-str ALGsubsort22(bat *result, bat *norder, const bat *bid, const bat *order, 
const bit *reverse, const bit *stable);
-str ALGsubsort23(bat *result, bat *norder, bat *ngroup, const bat *bid, const 
bat *order, const bit *reverse, const bit *stable);
-str ALGsubsort31(bat *result, const bat *bid, const bat *order, const bat 
*group, const bit *reverse, const bit *stable);
-str ALGsubsort32(bat *result, bat *norder, const bat *bid, const bat *order, 
const bat *group, const bit *reverse, const bit *stable);
-str ALGsubsort33(bat *result, bat *norder, bat *ngroup, const bat *bid, const 
bat *order, const bat *group, const bit *reverse, const bit *stable);
 str ALGtdiff(bat *result, const bat *lid, const bat *rid);
 str ALGthetajoin(bat *r1, bat *r2, const bat *l, const bat *r, const bat *sl, 
const bat *sr, const int *op, const bit *nil_matches, const lng *estimate);
 str ALGthetaselect1(bat *result, const bat *bid, const void *val, const char 
**op);
@@ -1464,6 +1464,15 @@ flt MOSestimate_runlength(Client cntxt, 
 char *MOSfiltername[];
 void MOSinitHeader(MOStask task);
 void MOSinitializeScan(Client cntxt, MOStask task, int startblk, int stopblk);
+str MOSjoin(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
+str MOSjoin_calendar(Client cntxt, MOStask task);
+str MOSjoin_delta(Client cntxt, MOStask task);
+str MOSjoin_dictionary(Client cntxt, MOStask task);
+str MOSjoin_frame(Client cntxt, MOStask task);
+str MOSjoin_linear(Client cntxt, MOStask task);
+str MOSjoin_prefix(Client cntxt, MOStask task);
+str MOSjoin_raw(Client cntxt, MOStask task);
+str MOSjoin_runlength(Client cntxt, MOStask task);
 str MOSlayout(Client cntxt, BAT *b, BAT *btech, BAT *bcount, BAT *binput, BAT 
*boutput, BAT *bproperties);
 void MOSlayout_calendar(Client cntxt, MOStask task, BAT *btech, BAT *bcount, 
BAT *binput, BAT *boutput, BAT *bproperties);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to