Changeset: 3acb5a16b412 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3acb5a16b412 Modified Files: monetdb5/modules/kernel/array.h monetdb5/modules/kernel/array.mal monetdb5/modules/kernel/bat5.mal Branch: default Log Message:
Void-headed BATS diffs (204 lines): diff --git a/monetdb5/modules/kernel/array.h b/monetdb5/modules/kernel/array.h --- a/monetdb5/modules/kernel/array.h +++ b/monetdb5/modules/kernel/array.h @@ -35,7 +35,7 @@ #define array_export extern #endif -array_export str ARRAYproduct(int *ret, int *bid, int *rid); +array_export str ARRAYproduct(int *ret, int *ret2, int *bid, int *rid); array_export str ARRAYproject(int *ret, int *bid, int *cst); array_export str ARRAYgrid_int(int *ret, int *groups, int *groupsize, int *clustersize, int *offset); diff --git a/monetdb5/modules/kernel/array.mal b/monetdb5/modules/kernel/array.mal --- a/monetdb5/modules/kernel/array.mal +++ b/monetdb5/modules/kernel/array.mal @@ -53,7 +53,7 @@ address ARRAYgridBATshift_lng comment "Fills an index BAT, (grpcount,grpsize,clustersize,offset) and shift all elemenets with a factor s"; -command product(b:bat[:any_3,:any_1],c:bat[:any_4,:any_2]):bat[:any_1,:any_2] +command product(b:bat[:oid,:any_1],c:bat[:oid,:any_2])(:bat[:oid,:any_1], c:bat[:oid,:any_2]) address ARRAYproduct comment "Produce an array product"; diff --git a/monetdb5/modules/kernel/bat5.mal b/monetdb5/modules/kernel/bat5.mal --- a/monetdb5/modules/kernel/bat5.mal +++ b/monetdb5/modules/kernel/bat5.mal @@ -48,28 +48,28 @@ address BKCrevert comment "Puts all BUNs in a BAT in reverse order. (Belongs to the BAT sequence module)"; -command info ( b:bat[:any_1,:any_2]) (:bat[:oid,:str], :bat[:oid,:str]) +command info ( b:bat[:oid,:any_2]) (:bat[:oid,:str], :bat[:oid,:str]) address BKCinfo comment "Produce a BAT containing info about a BAT in [attribute,value] format. It contains all properties of the BAT record. See the BAT documentation in GDK for more information."; -command getSize ( b:bat[:any_1,:any_2]) :lng +command getSize ( b:bat[:oid,:any_2]) :lng address BKCbatsize comment "Calculate the size of the BAT descriptor, heaps and indices in bytes."; -command getMemorySize ( b:bat[:any_1,:any_2]) :lng +command getMemorySize ( b:bat[:oid,:any_2]) :lng address BKCbatvmsize comment "Calculate the size of the BAT heaps and indices in bytes rounded to the memory page size (see bbp.getPageSize())."; -command getDiskSize ( b:bat[:any_1,:any_2]) :lng +command getDiskSize ( b:bat[:oid,:any_2]) :lng address BKCbatdisksize comment "Approximate size of the (persistent) BAT heaps as stored on disk in pages of 512 bytes. Indices are not included, as they only live temporarily in virtual memory."; -command getCapacity(b:bat[:any_1,:any_2]):lng +command getCapacity(b:bat[:oid,:any_2]):lng address BKCgetCapacity comment "Returns the current allocation size (in max number of elements) of a BAT."; @@ -77,11 +77,11 @@ command getHeadType(b:bat[:any_1,:any_2] address BKCgetHeadType comment "Returns the type of the head column of a BAT, as an integer type number."; -command getTailType( b:bat[:any_1,:any_2] ) :str +command getTailType( b:bat[:oid,:any_2] ) :str address BKCgetTailType comment "Returns the type of the tail column of a BAT, as an integer type number."; -command getRole ( bid:bat[:any_1,:any_2] ) :str +command getRole ( bid:bat[:oid,:any_2] ) :str address BKCgetRole comment "Returns the rolename of the head column of a BAT."; @@ -267,44 +267,44 @@ comment "Obtain the list of BUNs added"; command getDelta(b:bat[:any_1,:any_2]) :bat[:any_1,:any_2] address BKCgetDelta comment "Obtain the list of BUNs deleted"; -command setName ( b:bat[:any_1,:any_2] , s:str) :void +command setName ( b:bat[:oid,:any_2] , s:str) :void address BKCsetName comment "Give a logical name to a BAT. "; -command getName ( b:bat[:any_1,:any_2]) :str +command getName ( b:bat[:oid,:any_2]) :str address BKCgetBBPname comment "Gives back the logical name of a BAT."; -command setRole( b:bat[:any_1,:any_2], h:str, t:str) :void +command setRole( b:bat[:oid,:any_2], h:str, t:str) :void address BKCsetRole comment "Give a logical name to the columns of a BAT."; -command setColumn( b:bat[:any_1,:any_2], t:str) :void +command setColumn( b:bat[:oid,:any_2], t:str) :void address BKCsetColumn comment "Give a logical name to the tail column of a BAT."; -command setColumn( b:bat[:any_1,:any_2], h:str, t:str) :void +command setColumn( b:bat[:oid,:any_2], h:str, t:str) :void address BKCsetColumns comment "Give both columns of a BAT a new name."; -command isTransient( b:bat[:any_1,:any_2]) :bit +command isTransient( b:bat[:oid,:any_2]) :bit address BKCisTransient; -command setTransient( b:bat[:any_1,:any_2]) :void +command setTransient( b:bat[:oid,:any_2]) :void address BKCsetTransient comment "Make the BAT transient. Returns boolean which indicates if the BAT administration has indeed changed."; -command isPersistent( b:bat[:any_1,:any_2]) :bit +command isPersistent( b:bat[:oid,:any_2]) :bit address BKCisPersistent; -command setPersistent( b:bat[:any_1,:any_2],f:bit) :void +command setPersistent( b:bat[:oid,:any_2],f:bit) :void address BKCpersists comment "Backward compatibility"; -command setPersistent( b:bat[:any_1,:any_2]) :void +command setPersistent( b:bat[:oid,:any_2]) :void address BKCsetPersistent comment "Make the BAT persistent."; -command save(nme:bat[:any_1,:any_2]) :void +command save(nme:bat[:oid,:any_2]) :void address BKCsave2; command save(nme:str) :bit @@ -314,7 +314,7 @@ comment "Save a BAT to storage, if it wa calling this function violates the atomic commit protocol!!"; -command load(name:str) :bat[:any_1,:any_2] +command load(name:str) :bat[:oid,:any_2] address BKCload comment "Load a particular BAT from disk"; @@ -323,24 +323,24 @@ address BKCunload comment "Swapout a BAT to disk. Transient BATs can also be swapped out. Returns whether the unload indeed happened. "; -command isCached(b:bat[:any_1,:any_2]):bit +command isCached(b:bat[:oid,:any_2]):bit address BKCisCached comment "Bat is stored in main memory."; -command getHeat(b:bat[:any_1,:any_2]) :lng +command getHeat(b:bat[:oid,:any_2]) :lng address BKCheat comment "Return the current BBP heat (LRU stamp)"; -command setCold(b:bat[:any_1,:any_1]) :void +command setCold(b:bat[:oid,:any_1]) :void address BKCcoldBAT comment "Makes a BAT very cold for the BBP. The chance of being choses for swapout is big, afterwards."; -command setHot(b:bat[:any_1,:any_2]) :void +command setHot(b:bat[:oid,:any_2]) :void address BKChotBAT comment "Makes a BAT very hot for the BBP. The chance of being chosen for swapout is small, afterwards."; -command setMemoryMap(b:bat[:any_1,:any_2], head_mode:int, tail_mode:int, hheap_mode:int, theap_mode:int) :bit +command setMemoryMap(b:bat[:oid,:any_2], head_mode:int, tail_mode:int, hheap_mode:int, theap_mode:int) :bit address BKCmmap comment "For each individual heap, you can change the allocation mode to either STORE_MEM or STORE_MMAP. Passing an int(nil) means: @@ -348,11 +348,11 @@ comment "For each individual heap, you c will cause a BAT save (this has to happen before the heap can be mapped into virtual memory). These modes are persistent. "; -command setMemoryMap(b:bat[:any_1,:any_2], mode:int):bit +command setMemoryMap(b:bat[:oid,:any_2], mode:int):bit address BKCmmap2 comment "Alias for mmap(b, mode, mode, mode, mode)"; -command setMemoryAdvise(b:bat[:any_1,:any_2], head_mode:int, tail_mode:int, hheap_mode:int, theap_mode:int) :bit +command setMemoryAdvise(b:bat[:oid,:any_2], head_mode:int, tail_mode:int, hheap_mode:int, theap_mode:int) :bit address BKCmadvise comment "Modern Operating Systems allow users to influence the buffer management policy of virtual memory. This is a crucial feature @@ -366,14 +366,15 @@ comment "Modern Operating Systems allow These buffer management modes are not persistent. Returns the BAT operated upon."; -command setMemoryAdvise(b:bat[:any_1,:any_2], mode:int):bit +command setMemoryAdvise(b:bat[:oid,:any_2], mode:int):bit address BKCmadvise2 comment "alias for madvise(b, mode, mode, mode, mode)"; -command setHash(b:bat[:any_1,:any_2],prop:bit):bit -address BKCsetHash; +command setHash(b:bat[:oid,:any_2],prop:bit):bit +address BKCsetHash +comment "Create a hash structure on the column"; -command isSynced (b1:bat[:any_1,:any_2], b2:bat[:any_3,:any_4]) :bit +command isSynced (b1:bat[:oid,:any_2], b2:bat[:oid,:any_4]) :bit address BKCisSynced comment "Tests whether two BATs are synced or not. "; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list