Changeset: e1ef9b43028d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e1ef9b43028d
Added Files:
        gdk/gdk_orderidx.c
        monetdb5/modules/mal/Tests/orderidx00.malC
        monetdb5/modules/mal/Tests/orderidx00.stable.err
        monetdb5/modules/mal/Tests/orderidx00.stable.out
        monetdb5/modules/mal/Tests/orderidx01.malC
        monetdb5/modules/mal/Tests/orderidx01.stable.err
        monetdb5/modules/mal/Tests/orderidx01.stable.out
        monetdb5/modules/mal/Tests/orderidx02.malC
        monetdb5/modules/mal/Tests/orderidx02.stable.err
        monetdb5/modules/mal/Tests/orderidx02.stable.out
        monetdb5/modules/mal/Tests/orderidx04.malC
        monetdb5/modules/mal/Tests/orderidx04.stable.err
        monetdb5/modules/mal/Tests/orderidx04.stable.out
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/orderidx.h
        monetdb5/modules/mal/orderidx.mal
        sql/backends/monet5/sql_orderidx.c
        sql/backends/monet5/sql_orderidx.h
        sql/benchmarks/orderindex/experiment.sh
        sql/benchmarks/tpch/Tests/lowcardinality.sql
        sql/benchmarks/tpch/Tests/lowcardinality.stable.err
        sql/benchmarks/tpch/Tests/lowcardinality.stable.out
        sql/scripts/18_index.sql
        sql/test/BugTracker-2016/Tests/consolidated_table.Bug-3954.sql
        sql/test/BugTracker-2016/Tests/invalidcolumns.Bug-3968.sql
        sql/test/BugTracker-2016/Tests/invalidcolumns.Bug-3968.stable.err
        sql/test/BugTracker-2016/Tests/invalidcolumns.Bug-3968.stable.out
        sql/test/orderidx/Tests/All
        sql/test/orderidx/Tests/simpletable.sql
        sql/test/orderidx/Tests/simpletable.stable.err
        sql/test/orderidx/Tests/simpletable.stable.out
        sql/test/orderidx/Tests/smalltable.sql
        sql/test/orderidx/Tests/smalltable.stable.err
        sql/test/orderidx/Tests/smalltable.stable.out
Modified Files:
        MonetDB.spec
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/SQL-dump.stable.out
        clients/Tests/SQL-dump.stable.out.int128
        clients/Tests/exports.stable.out
        configure.ag
        gdk/Makefile.ag
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_hash.c
        gdk/gdk_hash.h
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_private.h
        gdk/gdk_search.c
        gdk/gdk_select.c
        gdk/gdk_storage.c
        java/ChangeLog.Jun2016
        monetdb5/ChangeLog
        monetdb5/mal/Tests/tst611.malC
        monetdb5/mal/mal.h
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_debugger.h
        monetdb5/mal/mal_errors.h
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_profiler.h
        monetdb5/mal/mal_resolve.c
        monetdb5/mal/mal_runtime.c
        monetdb5/modules/mal/Makefile.ag
        monetdb5/modules/mal/Tests/All
        monetdb5/modules/mal/Tests/inspect05.stable.out
        monetdb5/modules/mal/Tests/inspect05.stable.out.int128
        monetdb5/modules/mal/Tests/remote03.stable.err
        monetdb5/modules/mal/mal_init.mal
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/profiler.c
        monetdb5/modules/mal/profiler.h
        monetdb5/modules/mal/profiler.mal
        monetdb5/modules/mal/querylog.c
        monetdb5/modules/mal/querylog.h
        monetdb5/modules/mal/querylog.mal
        monetdb5/optimizer/Makefile.ag
        monetdb5/optimizer/opt_constants.c
        monetdb5/optimizer/opt_costModel.c
        monetdb5/optimizer/opt_deadcode.c
        monetdb5/optimizer/opt_garbageCollector.c
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_mitosis.h
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_prelude.c
        monetdb5/optimizer/opt_prelude.h
        monetdb5/optimizer/opt_querylog.c
        monetdb5/optimizer/opt_reorder.c
        monetdb5/optimizer/opt_support.c
        monetdb5/optimizer/opt_support.h
        monetdb5/optimizer/opt_volcano.c
        monetdb5/optimizer/opt_wrapper.c
        monetdb5/optimizer/optimizer.mal
        sql/backends/monet5/Makefile.ag
        sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
        sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.h
        sql/backends/monet5/sql.mal
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_execute.h
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_gencode.h
        sql/backends/monet5/sql_optimizer.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_scenario.h
        sql/backends/monet5/sql_upgrades.c
        sql/benchmarks/tpch/Tests/21-plan.stable.out
        sql/benchmarks/tpch/Tests/All
        sql/common/sql_types.c
        sql/include/sql_catalog.h
        sql/jdbc/tests/Tests/Test_Dobjects.stable.out
        sql/scripts/75_storagemodel.sql
        sql/scripts/Makefile.ag
        sql/server/Makefile.ag
        sql/server/rel_optimizer.c
        sql/server/rel_partition.c
        sql/server/rel_select.c
        sql/server/sql_mvc.h
        sql/server/sql_parser.y
        sql/server/sql_scan.c
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
        
sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.stable.out
        
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-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit
        sql/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql
        sql/test/BugTracker-2011/Tests/count-count-distinct.Bug-2808.sql
        
sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.sql
        sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.sql
        sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
        sql/test/BugTracker-2012/Tests/querycache.Bug-3212.stable.out
        sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.sql
        sql/test/BugTracker-2013/Tests/swapped_likejoin.Bug-3375.sql
        sql/test/BugTracker-2013/Tests/swapped_likejoin.Bug-3375.stable.out
        sql/test/BugTracker-2014/Tests/select-having.Bug-3458.sql
        sql/test/BugTracker-2015/Tests/cardinality.Bug-3761.sql
        sql/test/BugTracker-2016/Tests/All
        
sql/test/BugTracker-2016/Tests/DISTINCT_with_correlated_scalar_subquery_crashes_mserver.Bug-3920.sql
        
sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.err
        
sql/test/BugTracker-2016/Tests/column_alias_in_where_clause.Bug-3947.stable.out
        sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out
        sql/test/BugTracker-2016/Tests/storagemodel.sql
        sql/test/BugTracker-2016/Tests/storagemodel.stable.out
        sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.sql
        sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.err
        sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.out
        sql/test/BugTracker/Tests/caching.SF-1651599.stable.out
        sql/test/BugTracker/Tests/insert_not_exists.SF-1380287.stable.out
        sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit
        sql/test/Dependencies/Tests/Dependencies.stable.err
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out.int128
        sql/test/Tests/decimal2.stable.out
        sql/test/Tests/median_stdev.stable.out
        sql/test/Tests/outerref_in_selection.stable.out
        sql/test/Tests/outerref_in_selection.stable.out.int128
        sql/test/Tests/systemfunctions.stable.out
        sql/test/Tests/systemfunctions.stable.out.int128
        sql/test/Users/Tests/dropManyUsers.Bug-3764.stable.out
        sql/test/Users/Tests/grantMonetdb.stable.err
        sql/test/bugs/Tests/crash_order_by.sql
        sql/test/bugs/Tests/simple_view.sql
        sql/test/bugs/insert_delete-bug-sf-904025.sql
        sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/check.stable.out
        sql/test/emptydb-upgrade/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.int128
        sql/test/leaks/Tests/check0.stable.out
        sql/test/leaks/Tests/check0.stable.out.int128
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5.stable.out.int128
        sql/test/leaks/Tests/drop3.stable.out
        sql/test/leaks/Tests/drop3.stable.out.int128
        sql/test/leaks/Tests/select1.stable.out
        sql/test/leaks/Tests/select1.stable.out.int128
        sql/test/leaks/Tests/select2.stable.out
        sql/test/leaks/Tests/select2.stable.out.int128
        sql/test/leaks/Tests/temp1.stable.out
        sql/test/leaks/Tests/temp1.stable.out.int128
        sql/test/leaks/Tests/temp2.stable.out
        sql/test/leaks/Tests/temp2.stable.out.int128
        sql/test/leaks/Tests/temp3.stable.out
        sql/test/leaks/Tests/temp3.stable.out.int128
        sql/test/pg_regress/Tests/arrays.stable.err
        sql/test/pg_regress/Tests/oid.stable.err.int128
        sql/test/pg_regress/Tests/strings.stable.out
        sql/test/pg_regress/Tests/vacuum.sql
        sql/test/pg_regress/Tests/without_oid.sql
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        tools/mserver/mserver5.c
Branch: pythonudf
Log Message:

Merge with default.


diffs (truncated from 128968 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
@@ -1984,6 +1984,10 @@ command algebra.not_like(s:str,pat:str):
 address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
+command algebra.orderidx(bv:bat[:any_1],stable:bit):bat[:any_1] 
+address OIDXorderidx;
+comment Create an order index
+
 pattern algebra.projectionpath(l:bat[:any]...):bat[:any] 
 address ALGprojectionpath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
@@ -30997,6 +31001,10 @@ command bat.delete(b:bat[:any_1],h:oid):
 address BKCdelete;
 comment Delete BUN indicated by head value, exchanging with last BUN
 
+pattern bat.getorderidx(bv:bat[:any_1]):bat[:oid] 
+address OIDXgetorderidx;
+comment Return the order index if it exists
+
 command bat.getName(b:bat[:any_1]):str 
 address BKCgetBBPname;
 comment Gives back the logical name of a BAT.
@@ -31025,10 +31033,13 @@ command bat.getSize(b:bat[:any_1]):lng
 address BKCgetSize;
 comment Calculate the actual size of the BAT descriptor, heaps, hashes and 
imprint indices in bytes         rounded to the memory page size (see 
bbp.getPageSize()).
 
+pattern bat.hasorderidx(bv:bat[:any_1]):bit 
+address OIDXhasorderidx;
+comment Return true if order index exists
+
 command bat.imprintsize(b:bat[:dbl]):lng 
 address CMDBATimprintsize;
 comment Return the storage size of the imprints index structure.
-
 command bat.imprintsize(b:bat[:flt]):lng 
 address CMDBATimprintsize;
 command bat.imprintsize(b:bat[:lng]):lng 
@@ -31117,6 +31128,18 @@ pattern bat.new(tt:any_1,size:int):bat[:
 address CMDBATnewColumn;
 pattern bat.new(tt:any_1):bat[:any_1] 
 address CMDBATnewColumn;
+pattern bat.orderidx(bv:bat[:any_1],l:bat[:any_1]...):void 
+address OIDXmerge;
+comment Consolidates the OID index arrangement
+
+pattern bat.orderidx(bv:bat[:any_1],pieces:int):void 
+address OIDXcreate;
+comment Introduces the OID index arrangement of ordered values
+
+pattern bat.orderidx(bv:bat[:any_1]):void 
+address OIDXcreate;
+comment Introduces the OID index arrangement of ordered values
+
 pattern bat.partition(b:bat[:any_1],pieces:int,n:int):bat[:any_1] 
 address CMDBATpartition2;
 comment Create the n-th slice over the BAT broken into several pieces.
@@ -40224,10 +40247,18 @@ command profiler.setheartbeat(b:int):voi
 address CMDsetHeartbeat;
 comment Set heart beat performance tracing
 
+command profiler.stoptrace(path:str):void 
+address CMDstopTracePath;
+comment Stop collecting trace information
+
 command profiler.stoptrace():void 
 address CMDstopTrace;
 comment Stop collecting trace information
 
+command profiler.starttrace(path:str):void 
+address CMDstartTracePath;
+comment Start collecting trace information and keep around in 'path' directory
+
 command profiler.starttrace():void 
 address CMDstartTrace;
 comment Start collecting trace information
@@ -40240,39 +40271,9 @@ pattern profiler.start():void
 address CMDstartProfiler;
 comment Start offline performance profiling
 
-pattern pyapimap.eval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggrMap;
-comment grouped aggregates through Python
-
-pattern pyapimap.eval(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalStdMap;
-comment Execute a simple Python script value
-
-pattern pyapimap.eval(fptr:ptr,expr:str):any 
-address PyAPIevalStdMap;
-comment Execute a simple Python script returning a single value
-
-pattern pyapimap.subeval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggrMap;
-comment grouped aggregates through Python
-
-pattern pyapi.eval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggr;
-comment grouped aggregates through Python
-
-pattern pyapi.eval(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalStd;
-comment Execute a simple Python script value
-
-pattern pyapi.eval(fptr:ptr,expr:str):any 
-address PyAPIevalStd;
-comment Execute a simple Python script returning a single value
-
-command pyapi.prelude():void 
-address PyAPIprelude;
-pattern pyapi.subeval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggr;
-comment grouped aggregates through Python
+pattern querylog.append(q:str,pipe:str,usr:str,tick:timestamp):void 
+address QLOGappend;
+comment Add a new query call to the query log
 
 pattern 
querylog.call(tick1:timestamp,tick2:timestamp,arg:str,tuples:wrd,xtime:lng,rtime:lng,cpu:int,iowait:int):void
 
 address QLOGcall;
@@ -40298,10 +40299,6 @@ command querylog.enable(threshold:int):v
 address QLOGenableThreshold;
 comment Turn on the query logger
 
-pattern querylog.insert(q:str,pipe:str,usr:str,tick:timestamp):void 
-address QLOGinsert;
-comment Add a new query call to the query log
-
 command querylog.isset():int 
 address QLOGissetFcn;
 comment Return status of query logger
@@ -40515,6 +40512,11 @@ pattern sql.argRecord():str
 address SQLargRecord;
 comment Glue together the calling sequence
 
+inline function 
sql.all(b:bat[:any_1],gp:bat[:oid],gpe:bat[:oid],no_nil:bit):bat[:any_1];
+command sql.all(col:bat[:any_1]):any_1 
+address SQLall;
+comment if col contains exactly one value return this. Incase of more raise an 
exception else return nil
+
 pattern sql.affectedRows(mvc:int,nr:wrd):int 
 address mvc_affected_rows_wrap;
 comment export the number of affected rows by the current query
@@ -40587,6 +40589,10 @@ pattern sql.copy_rejects_clear():void
 address COPYrejects_clear;
 pattern sql.copy_rejects() 
(rowid:bat[:lng],fldid:bat[:int],msg:bat[:str],inp:bat[:str]) 
 address COPYrejects;
+pattern sql.createorderindex(sch:str,tbl:str,col:str):void 
+address sql_createorderindex;
+comment Instantiate the order index on a column
+
 pattern 
sql.copy_from(t:ptr,sep:str,rsep:str,ssep:str,ns:str,fname:str,nr:lng,offset:lng,locked:int,best:int):bat[:any]...
 
 address mvc_import_table_wrap;
 comment Import a table from bstream s with the         given tuple and 
seperators (sep/rsep)
@@ -40711,6 +40717,10 @@ command sql.dec_round(v:bte,r:bte):bte
 address bte_dec_round_wrap;
 comment round off the value v to nearests multiple of r
 
+pattern sql.droporderindex(sch:str,tbl:str,col:str):void 
+address sql_droporderindex;
+comment Drop the order index on a column
+
 pattern sql.dump_trace() 
(event:bat[:int],clk:bat[:str],pc:bat[:str],thread:bat[:int],ticks:bat[:lng],rssMB:bat[:lng],vmMB:bat[:lng],reads:bat[:lng],writes:bat[:lng],minflt:bat[:lng],majflt:bat[:lng],nvcsw:bat[:lng],stmt:bat[:str])
 
 address dump_trace;
 comment dump the trace statistics
@@ -40974,19 +40984,19 @@ pattern sql.sysmon_pause(tag:sht):void
 address SYSMONpause;
 pattern sql.sysmon_queue() 
(qtag:bat[:lng],user:bat[:str],started:bat[:timestamp],estimate:bat[:timestamp],progress:bat[:int],status:bat[:str],tag:bat[:oid],query:bat[:str])
 
 address SYSMONqueue;
-pattern sql.storage(sname:str,tname:str,cname:str) 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit])
 
+pattern sql.storage(sname:str,tname:str,cname:str) 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],orderidx:bat[:lng])
 
 address sql_storage;
 comment return a table with storage information for a particular column
 
-pattern sql.storage(sname:str,tname:str) 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit])
 
+pattern sql.storage(sname:str,tname:str) 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],orderidx:bat[:lng])
 
 address sql_storage;
 comment return a table with storage information for a particular table
 
-pattern sql.storage(sname:str) 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit])
 
+pattern sql.storage(sname:str) 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],orderidx:bat[:lng])
 
 address sql_storage;
 comment return a table with storage information for a particular schema 
 
-pattern sql.storage() 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit])
 
+pattern sql.storage() 
(schema:bat[:str],table:bat[:str],column:bat[:str],type:bat[:str],mode:bat[:str],location:bat[:str],count:bat[:lng],atomwidth:bat[:int],columnsize:bat[:lng],heap:bat[:lng],hashes:bat[:lng],phash:bat[:bit],imprints:bat[:lng],sorted:bat[:bit],orderidx:bat[:lng])
 
 address sql_storage;
 comment return a table with storage information 
 
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
@@ -2428,6 +2428,10 @@ command algebra.not_like(s:str,pat:str):
 address PCREnotlike2;
 command algebra.not_like(s:str,pat:str,esc:str):bit 
 address PCREnotlike3;
+command algebra.orderidx(bv:bat[:any_1],stable:bit):bat[:any_1] 
+address OIDXorderidx;
+comment Create an order index
+
 pattern algebra.projectionpath(l:bat[:any]...):bat[:any] 
 address ALGprojectionpath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
@@ -39971,6 +39975,10 @@ command bat.delete(b:bat[:any_1],h:oid):
 address BKCdelete;
 comment Delete BUN indicated by head value, exchanging with last BUN
 
+pattern bat.getorderidx(bv:bat[:any_1]):bat[:oid] 
+address OIDXgetorderidx;
+comment Return the order index if it exists
+
 command bat.getName(b:bat[:any_1]):str 
 address BKCgetBBPname;
 comment Gives back the logical name of a BAT.
@@ -39999,6 +40007,10 @@ command bat.getSize(b:bat[:any_1]):lng
 address BKCgetSize;
 comment Calculate the actual size of the BAT descriptor, heaps, hashes and 
imprint indices in bytes         rounded to the memory page size (see 
bbp.getPageSize()).
 
+pattern bat.hasorderidx(bv:bat[:any_1]):bit 
+address OIDXhasorderidx;
+comment Return true if order index exists
+
 command bat.imprintsize(b:bat[:hge]):lng 
 address CMDBATimprintsize;
 command bat.imprints(b:bat[:hge]):void 
@@ -40095,6 +40107,18 @@ pattern bat.new(tt:any_1,size:int):bat[:
 address CMDBATnewColumn;
 pattern bat.new(tt:any_1):bat[:any_1] 
 address CMDBATnewColumn;
+pattern bat.orderidx(bv:bat[:any_1],l:bat[:any_1]...):void 
+address OIDXmerge;
+comment Consolidates the OID index arrangement
+
+pattern bat.orderidx(bv:bat[:any_1],pieces:int):void 
+address OIDXcreate;
+comment Introduces the OID index arrangement of ordered values
+
+pattern bat.orderidx(bv:bat[:any_1]):void 
+address OIDXcreate;
+comment Introduces the OID index arrangement of ordered values
+
 pattern bat.partition(b:bat[:any_1],pieces:int,n:int):bat[:any_1] 
 address CMDBATpartition2;
 comment Create the n-th slice over the BAT broken into several pieces.
@@ -51088,10 +51112,18 @@ command profiler.setheartbeat(b:int):voi
 address CMDsetHeartbeat;
 comment Set heart beat performance tracing
 
+command profiler.stoptrace(path:str):void 
+address CMDstopTracePath;
+comment Stop collecting trace information
+
 command profiler.stoptrace():void 
 address CMDstopTrace;
 comment Stop collecting trace information
 
+command profiler.starttrace(path:str):void 
+address CMDstartTracePath;
+comment Start collecting trace information and keep around in 'path' directory
+
 command profiler.starttrace():void 
 address CMDstartTrace;
 comment Start collecting trace information
@@ -51104,39 +51136,9 @@ pattern profiler.start():void
 address CMDstartProfiler;
 comment Start offline performance profiling
 
-pattern pyapimap.eval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggrMap;
-comment grouped aggregates through Python
-
-pattern pyapimap.eval(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalStdMap;
-comment Execute a simple Python script value
-
-pattern pyapimap.eval(fptr:ptr,expr:str):any 
-address PyAPIevalStdMap;
-comment Execute a simple Python script returning a single value
-
-pattern pyapimap.subeval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggrMap;
-comment grouped aggregates through Python
-
-pattern pyapi.eval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggr;
-comment grouped aggregates through Python
-
-pattern pyapi.eval(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalStd;
-comment Execute a simple Python script value
-
-pattern pyapi.eval(fptr:ptr,expr:str):any 
-address PyAPIevalStd;
-comment Execute a simple Python script returning a single value
-
-command pyapi.prelude():void 
-address PyAPIprelude;
-pattern pyapi.subeval_aggr(fptr:ptr,expr:str,arg:any...):any... 
-address PyAPIevalAggr;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to