⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bat5.mal

📁 一个内存数据库的源代码这是服务器端还有客户端
💻 MAL
字号:
#line 48 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"#command bat(ht:int, tt:int) :bat[:any_1,:any_2] #address BKCnewBat#comment "Creates a new empty transient BAT with head- and tail-types #        as indicated.";##command bat(ht:int, tt:int, size:int) :bat[:any_1,:any_2] #address BKCnewBATint#comment "Creates a new empty BAT, allocating 'size' elements.";##command bat(ht:int, tt:int, size:lng) :bat[:any_1,:any_2] #address BKCnewBATlng#comment "Creates a new empty BAT, allocating 'size' elements.";module bat;command reverse(b:bat[:any_1,:any_2]) :bat[:any_2,:any_1] address BKCreversecomment "Returns the reverse view of a BAT (head is tail and tail is head).        BEWARE  no copying is involved; input and output refer to the         same object!";command mirror(b:bat[:any_1,:any_2]) :bat[:any_1,:any_1] address BKCmirrorcomment "Returns the head-mirror image of a BAT (two head columns).";#command convert(b:bat[:any_1,:any_2] ) :bat[:any_1,:any_2] #address BKCconvert#comment "Convert the contents of a BAT from little-endian to big-endian #        and vice versa. THIS command SHOULD NOT BE USED FROM MAL!#	DANGEROUS! DEBUGGING PURPOSES ONLY!";command order(b:bat[:any_1,:any_2]) :bat[:any_1,:any_2] address BKCordercomment "Sorts the BAT itself on the head, in place. ";command orderReverse(b:bat[:any_1,:any_2]) :bat[:any_1,:any_2] address BKCorder_revcomment "Reverse sorts the BAT itself on the head, in place. ";command revert(b:bat[:any_1,:any_2]) :bat[:any_1,:any_2] address BKCrevertcomment "Puts all BUNs in a BAT in reverse order.  (Belongs to the         BAT sequence module)";#line 149 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command info ( b:bat[:any_1,:any_2]) :bat[:str,:str] address BKCinfocomment "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 getCapacity(b:bat[:any_1,:any_2]):lng address BKCgetCapacitycomment "Returns the current allocation size (in max number of elements) of a BAT.";command getHeadType(b:bat[:any_1,:any_2] ) :str address BKCgetHeadTypecomment "Returns the type of the head column of a BAT, as an integer type number.";command getTailType( b:bat[:any_1,: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 address BKCgetRolecomment "Returns the rolename of the head column of a BAT.";command setKey( b:bat[:any_1,:any_2], mode:bit) :bat[:any_1,:any_2] address BKCsetkeycomment "Sets the 'key' property of the head column to 'mode'. In 'key' mode,         the kernel will silently block insertions that cause a duplicate         entries in the head column. KNOWN BUG:when 'key' is set to TRUE, this 	function does not automatically eliminate duplicates.         Use b := b.kunique;";command isaKey( b:bat[:any_1,:any_2]) :bit address BKCgetKeycomment "return whether the head column of a BAT is unique (key).";command setSet( b:bat[:any_1,:any_2], mode:bit) :bat[:any_1,:any_2] address BKCsetSetcomment "Sets the 'set' property on this BAT to 'mode'. In 'set' mode,         the kernel will silently block insertions that cause a duplicate         BUN [head,tail] entries in the BAT.  KNOWN BUG:when 'set' is set         to TRUE, this function does not automatically eliminate duplicates.         Use b := b.sunique; Returns the BAT itself.";command isaSet( b:bat[:any_1,:any_1]) :bit address BKCisaSetcomment "return whether the BAT mode is set to unique.";command setAccess( b:bat[:any_1,:any_2], mode:str) :bat[:any_1,:any_2]address BKCsetAccesscomment "Try to change the update access priviliges 	to this BAT. Mode:	 r[ead-only]      - allow only read access.	 a[append-only]   - allow reads and update.	 w[riteable]      - allow all operations.	BATs are updatable by default. On making a BAT read-only,         all subsequent updates fail with an error message.Returns         the BAT itself.";#command access( b:bat[:any_1,:any_2], mode:int) :bat[:any_1,:any_2]#address BKCaccess;command setAppendMode( b:bat[:any_1,:any_2]) :bat[:any_1,:any_2]address BKCsetAppendModecomment "Change access privilige of BAT to append only";command setReadMode( b:bat[:any_1,:any_2]) :bat[:any_1,:any_2]address BKCsetReadModecomment "Change access privilige of BAT to read only";command setWriteMode( b:bat[:any_1,:any_2]) :bat[:any_1,:any_2]address BKCsetWriteModecomment "Change access privilige of BAT to read and write";command getAccess( b:bat[:any_1,:any_2]):str address BKCgetAccesscomment "return the access mode attached to this BAT as a character.";command hasAppendMode( b:bat[:any_1,:any_2]):bit address BKChasAppendModecomment "return true if to this BAT is append only.";command hasWriteMode( b:bat[:any_1,:any_2]):bit address BKChasWriteModecomment "return true if to this BAT is read and write.";command hasReadMode( b:bat[:any_1,:any_2]):bit address BKChasReadModecomment "return true if to this BAT is read only.";command getSequenceBase( b:bat[:oid,:any_1]):oid address BKCgetSequenceBasecomment "Get the sequence base for the void column of a BAT.";#command setSequenceBase( b:bat[:oid,:any_1], base:oid):void#address BKCsetSequenceBase#comment "Set the sequence base for the void column of a BAT.";command setSorted(b:bat[:any_1,:any_2]) :bit address BKCsetSortedcomment "Assure BAT is ordered on the head.";command isSorted(b:bat[:any_1,:any_2]) :bit address BKCisSortedcomment "Returns whether a BAT is ordered on head or not.";command isSortedReverse(b:bat[:any_1,:any_2]) :bit address BKCisSortedReversecomment "Returns whether a BAT is ordered on head or not.";command getBatSize(b:bat[:any_1,:any_2]) :lng address BKCbatsizecomment "A version of BATsize that does not require loading the BAT.";#line 264 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command insert(b:bat[:any_1,:any_2], src:bat[:any_1,:any_2]):voidaddress BKCinsert_batcomment "Insert all BUNs of the second BAT into the first.";command insert(b:bat[:any_1,:any_2], src:bat[:any_1,:any_2], force:bit):voidaddress BKCinsert_bat_forcecomment "Insert all BUNs of the second BAT into the first.";command insert(b:bat[:any_1,:any_2], h:any_1, t:any_2) :voidaddress BKCinsert_buncomment "Insert one BUN[h,t] in a BAT.";command insert(b:bat[:any_1,:any_2], h:any_1, t:any_2, force:bit) :voidaddress BKCinsert_bun_forcecomment "Insert one BUN[h,t] in a BAT.";#line 282 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command replace(b:bat[:any_1, :any_2], src:bat[:any_1,:any_2]) :voidaddress BKCreplace_batcomment "Perform replace for all BUNs of the second BAT into the first.";command replace(b:bat[:any_1, :any_2], src:bat[:any_1,:any_2], force:bit) :voidaddress BKCreplace_bat_forcecomment "Perform replace for all BUNs of the second BAT into the first.";command replace(b:bat[:any_1, :any_2], h:any_1, t:any_2) :voidaddress BKCreplace_buncomment "Replace the tail value of one BUN that has some head value.";command replace(b:bat[:any_1, :any_2], h:any_1, t:any_2, force:bit) :voidaddress BKCreplace_bun_forcecomment "Replace the tail value of one BUN that has some head value.";#line 300 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command append( i:bat[:any_1,:any_2], u:bat[:any_1,:any_2] ) :voidaddress BKCappend_wrapcomment "append the content of u to i";command append( i:bat[:any_1,:any_2], u:bat[:any_1,:any_2], force:bit ) :voidaddress BKCappend_force_wrapcomment "append the content of u to i";command append(i:bat[:oid,:any_1], u:any_1):voidaddress BKCappend_val_wrapcomment "append the value u to i";command append(i:bat[:void,:any_1], u:any_1):voidaddress BKCappend_val_wrapcomment "append the value u to i";command append(i:bat[:any_1,:void], u:any_1):voidaddress BKCappend_reverse_val_wrapcomment "append the value u to i";command append(i:bat[:any_1,:any_2], u:any_2, force:bit):voidaddress BKCappend_val_force_wrapcomment "append the value u to i";command inplace( o:bat[:any_1,:any_2], id:any_1, t:any_2) :voidaddress BKCbun_inplacecomment "inplace replace values on the given locations";command inplace( o:bat[:any_1,:any_2], d:bat[:any_1,:any_2]) :voidaddress BKCbat_inplacecomment "inplace replace values on the given locations";command inplace( o:bat[:any_1,:any_2], id:any_1, t:any_2, force:bit) :voidaddress BKCbun_inplace_forcecomment "inplace replace values on the given locations";command inplace( o:bat[:any_1,:any_2], d:bat[:any_1,:any_2], force:bit) :voidaddress BKCbat_inplace_forcecomment "inplace replace values on the given locations";#line 341 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command delete(b:bat[:any_1, :any_2], h:any_1, t:any_2) :voidaddress BKCdelete_buncomment "Delete one specific BUN.";command delete(b:bat[:any_1, :any_2], h:any_1) :voidaddress BKCdeletecomment "Delete all BUNs with a certain tail value.";command delete(b:bat[:any_1, :any_2]) :voidaddress BKCdelete_allcomment "Delete all BUNs in a BAT.";#line 354 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command delete(b:bat[:any_1, :any_2], src:bat[:any_1,:any_2]) :voidaddress BKCdelete_bat_buncomment "Delete from the first BAT all BUNs with a corresponding BUN         in the second.";command getAlpha(b:bat[:any_1,:any_2]) :bat[:any_1,:any_2] address BKCgetAlphacomment "Obtain the list of BUNs added";command getDelta(b:bat[:any_1,:any_2]) :bat[:any_1,:any_2] address BKCgetDeltacomment "Obtain the list of BUNs deleted";#line 382 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command setName ( b:bat[:any_1,:any_2] , s:str) :voidaddress BKCsetNamecomment "Give a logical name to a BAT. ";command getName ( b:bat[:any_1,:any_2]) :str address BKCgetBBPnamecomment "Gives back the logical name of a BAT.";command setRole( b:bat[:any_1,:any_2], h:str, t:str) :voidaddress BKCsetRolecomment "Give a logical name to the columns of a BAT.";command setColumn( b:bat[:any_1,:any_2], t:str) :voidaddress BKCsetColumncomment "Give a logical name to the tail column of a BAT.";command setColumn( b:bat[:any_1,:any_2], h:str, t:str) :voidaddress BKCsetColumnscomment "Give both columns of a BAT a new name.";command isTransient( b:bat[:any_1,:any_2]) :bit address BKCisTransient;command setTransient( b:bat[:any_1,:any_2]) :voidaddress BKCsetTransientcomment "Make the BAT transient.  Returns 	boolean which indicates if theBAT administration has indeed changed.";command isPersistent( b:bat[:any_1,:any_2]) :bit address BKCisPersistent;command setPersistent( b:bat[:any_1,:any_2],f:bit) :voidaddress BKCpersistscomment "Backward compatibility";command setPersistent( b:bat[:any_1,:any_2]) :voidaddress BKCsetPersistentcomment "Make the BAT persistent.  Returns boolean which indicates         if the BAT administration has indeed changed.";command save(nme:bat[:any_1,:any_2]) :voidaddress BKCsave2;command save(nme:str) :bit address BKCsavecomment "Save a BAT to storage, if it was loaded and dirty.          Returns whether IO was necessary.  Please realize that 	calling this function violates the atomic commit protocol!!";command load(name:str) :bat[:any_1,:any_2] address BKCloadcomment "Load a particular BAT from disk";command unload(name:str) :bit address BKCunloadcomment "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 address BKCisCachedcomment "Bat is stored in main memory.";command getHeat(b:bat[:any_1,:any_2]) :lng address BKCheatcomment "Return the current BBP heat (LRU stamp)";command setCold(b:bat[:any_1,:any_1]) :void address BKCcoldBATcomment "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 address BKChotBATcomment "Makes a BAT very hot for the BBP. The chance of being chosen for         swapout is small, afterwards.";#line 487 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command setMemoryMap(b:bat[:any_1,:any_2], buns_mode:int, hheap_mode:int, 		theap_mode:int) :bit address BKCmmapcomment "For each individual heap, you can change the allocation mode         to either STORE_MEM or STORE_MMAP. Passing an int(nil) means:        no change.  Changing a dirty STORE_MEM heap into STORE_MMAP, 	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 address BKCmmap2comment "Alias for mmap(b,mode,mode,mode, mode,mode)";command setMemoryAdvise(b:bat[:any_1,:any_2], buns_mode:int, hheap_mode:int, 		theap_mode:int) :bit address BKCmadvisecomment "Modern Operating Systems allow users to influence the buffer         management policy of virtual memory. This is a crucial feature         for database systems, and eliminates the need to reimplement 	the OS in a database buffer manager.  The supported flags are         BUF_NORMAL (the normal adaptive kernel algorithm),	BUF_RANDOM (no page prefetching), 	BUF_SEQUENTIAL (prefetch and swapout),	BUF_WILLNEED (load everything with prefetch), 	BUF_DONTNEED (swapout).	These buffer management modes are not persistent. 	Returns the BAT operated upon.";command setMemoryAdvise(b:bat[:any_1,:any_2], mode:int):bit address BKCmadvise2comment "alias for madvise(b,mode,mode,mode, mode,mode)";command setHash(b:bat[:any_1,:any_2],prop:bit):bit address BKCsetHash;#line 539 "/export/scratch0/monet/monet.GNU.64.64.d.14791/MonetDB5/src/modules/kernel/bat5.mx"command isSynced (b1:bat[:any_1,:any_2], b2:bat[:any_3,:any_4]) :bit address BKCisSyncedcomment "Tests whether two BATs are synced or not. ";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -