Specifications & Y2k Statement


< Prev  TOC  Next >

Year2000 Statement

All Bullet database toolkits are year2000-compatible.  
 

Specifications

 Data file
            format: DBF
          max recs: 2³²
        max recLen: 65,520 bytes
        max fldLen: 32,000 bytes

 Memo file
            format: DBT (w/reusable memo space)
         max memos: 2³²
     max memo size: 2³² bytes

 Index file
            format: IX4 (B*-tree)
    max key length: 196 bytes
         node size: 512 to 2560 bytes
         max nodes: 2³²
 max keys per node: 255
          max keys: 2³²+

 Data
       static data: < 1K bytes      (< 10 global vars, essentially read-only)
   per data header: < 256 bytes     (user allocated)
  per index header: 2K to 4K bytes  (user allocated)

 Code
         code size: < 64K bytes

 Threads
       max threads: unlimited (limit of operating system and available memory)

 File System
         max files: unlimited (limit of operating system and available memory)
          max size: 2³¹ bytes (NT is runtime switchable to 63-bit max size, coming soon)

 Encryption
    on data record: yes
      on index key: yes
       transparent: yes (disk is always encrypted; Blt*() API is always plaintext)
            method: callback (any crypto can be used, such as Blowfish)

 Calling convention
         Win32 DLL: stdcall
         Win16 DLL: PASCAL  (far pointers)
          OS/2 DLL: syscall
            DOSX32: cdecl   (Watcom/DOS4Gx)
            MS-DOS: cdecl   (far pointers)

Built-in data types supported

Standard types:

fieldType type size example notes
C character 1-254 (1-32000) "40th Floor" with or without 0T
N numeric 1-18 '  123.45' right-justified, decimal-aligned, no 0T
D date 8 '20001231' YYYYMMDD, no 0T
L logical 1 'T' T,F,t,f,Y,N,y,n,<space>
M memo 10 '0000000001' memo #, blank if none, leading 0s or <spaces>, no 0T


Common extended types:

fieldType type size example notes
F numeric 1-18 '  123.45' same as N
B memo 10 '         2' binary memo field; same as M
G memo 10 '          ' general memo field; same as M


Bullet 3.0 extended types:

fieldType type size example notes
SORT_MIXED_S16 ('3') signed short 2 SHORT requires SORT_MIXED sortCmpCode
SORT_MIXED_U16 ('4') unsigned short 2 USHORT requires SORT_MIXED sortCmpCode
SORT_MIXED_S32 ('5') signed long 4 LONG requires SORT_MIXED sortCmpCode
SORT_MIXED_U32 ('6') unsigned long 4 ULONG requires SORT_MIXED sortCmpCode
SORT_MIXED_S64 ('7') 64-bit long 8 INT64 requires SORT_MIXED sortCmpCode
SORT_MIXED_U64 ('8') 64-bit unsigned long 8 UINT64 requires SORT_MIXED sortCmpCode
SORT_MIXED_DBL ('Y') IEEE FP double 8 DOUBLE requires SORT_MIXED sortCmpCode

The above types may be used in key fields (alone or mixed) since these fields are intrinsic to Bullet. Any datatype may be used, however, not just those directly supported.

NLS sorting is available, as are SUBSTR, UPPER, and DESCEND modifiers. Custom key building and sort comparisons are available via callbacks. Callbacks within reindex, sort and pack routines are also available (so you can put up a % completed window, or handle the message queue in Win3x). The file system calls may be replaced, letting you handle all disk I/O with your own code.


All content Copyright © 1999 Cornel Huth. All rights reserved.