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