147 lines
4 KiB
C
147 lines
4 KiB
C
//============== DAE: OS/2 Database Access Engine ===================
|
|
//============== daeconst.h: Global System Constants ===================
|
|
|
|
#define cpgDatabaseMin 16
|
|
#define cpgDatabaseMax (1UL << 19)
|
|
|
|
#define pgnoSystemRoot ((PGNO) 1)
|
|
#define itagSystemRoot 0
|
|
|
|
#define szSystemDatabase "system.mdb"
|
|
#define szTempDBFileName "temp.mdb"
|
|
#define szTempFile "temp.tmp"
|
|
|
|
/* number of pages of system root FDP primary extent */
|
|
#define cpgSystemPrimary ((CPG) 1)
|
|
|
|
/* initial temporary file allocation */
|
|
#define cpgTempFile ((CPG) 1)
|
|
|
|
/* discontinuity measurement unit
|
|
/**/
|
|
#define cpgDiscont 16
|
|
|
|
/* default density
|
|
/**/
|
|
#define ulDefaultDensity 80 // 80% density
|
|
#define ulFILEDensityLeast 20 // 20% density
|
|
#define ulFILEDensityMost 100 // 100% density
|
|
|
|
#define dbidTemp ((DBID) 0)
|
|
#define dbidSystemDatabase ((DBID) 1)
|
|
#define dbidUserMin ((DBID) 1)
|
|
#define dbidMin ((DBID) 0)
|
|
#define dbidUserMax ((DBID) 67)
|
|
#define dbidMax dbidUserMax
|
|
|
|
/* number of buffer hash table entries
|
|
/* should be prime
|
|
/**/
|
|
#define ipbfMax 8191
|
|
|
|
/* vertical split threshold
|
|
/**/
|
|
#define cbVSplitThreshold 400
|
|
|
|
/* Engine OBJIDs:
|
|
/*
|
|
/* 0..0x10000000 reserved for engine use, divided as follows:
|
|
/*
|
|
/* 0x00000000..0x0000FFFF reserved for TBLIDs under RED
|
|
/* 0x00000000..0x0EFFFFFF reserved for TBLIDs under BLUE
|
|
/* 0x0F000000..0x0FFFFFFF reserved for container IDs
|
|
/* 0x10000000 reserved for ObjectId of DbObject
|
|
/*
|
|
/* Client OBJIDs begin at 0x10000001 and go up from there.
|
|
/**/
|
|
|
|
#define objidNil ((OBJID) 0x00000000)
|
|
#define objidRoot ((OBJID) 0x0F000000)
|
|
#define objidTblContainer ((OBJID) 0x0F000001)
|
|
#define objidDbContainer ((OBJID) 0x0F000002)
|
|
#define objidRcContainer ((OBJID) 0x0F000003)
|
|
#define objidDbObject ((OBJID) 0x10000000)
|
|
|
|
/* Magic number used in database root node for integrity checking
|
|
/**/
|
|
#define ulDAEMagic 0x89abcdef
|
|
#define ulDAEVersion 0x00000001
|
|
#define ulDAEPrevVersion 0x00000000
|
|
|
|
#define szVerbose "BLUEVERBOSE"
|
|
|
|
#define szNull ""
|
|
|
|
/* transaction level limits.
|
|
/**/
|
|
#define levelMax ((LEVEL)10) // all level < 10
|
|
#define levelMost ((LEVEL)9) // max for engine
|
|
#define levelUserMost ((LEVEL)7) // max for user
|
|
#define levelMin ((LEVEL)0)
|
|
|
|
/* Start and max waiting period for WaitTillOldest
|
|
/**/
|
|
#define ulStartTimeOutPeriod 20
|
|
#define ulMaxTimeOutPeriod 60000
|
|
|
|
/* default resource allocation
|
|
/**/
|
|
#define cDBOpenDefault 100
|
|
#define cbucketLowerThreshold 8
|
|
#define cbufThresholdLowDefault 20
|
|
#define cbufThresholdHighDefault 80
|
|
#define cpibDefault 10
|
|
#define cbgcbDefault 4
|
|
#define cfucbDefault 300
|
|
#define cfcbDefault 300
|
|
#define cscbDefault 20
|
|
#define cidbDefault cfcbDefault
|
|
#define cbufDefault 500
|
|
#define clgsecBufDefault 21
|
|
#define clgsecGenDefault 250
|
|
#define clgsecFTHDefault 10
|
|
#define cbucketDefault 64
|
|
#define lWaitLogFlushDefault 15
|
|
#define lLogFlushPeriodDefault 45
|
|
#define lLGCheckpointPeriodDefault 10
|
|
//#define lLGCheckpointPeriodDefault 100
|
|
#define lLGWaitingUserMaxDefault 3
|
|
#define lPageFragmentDefault 8
|
|
#define cdabDefault 100
|
|
#define lBufLRUKCorrelationIntervalDefault 0
|
|
#define lBufBatchIOMaxDefault 64
|
|
#define lPageReadAheadMaxDefault 4
|
|
#define lAsynchIOMaxDefault 64
|
|
|
|
/* resource relationships for derived resources
|
|
/**/
|
|
#define lCSRPerFUCB 2
|
|
|
|
/* system resource requirements
|
|
/**/
|
|
#define cpibSystem 3
|
|
#define cbucketSystem 2
|
|
|
|
/* vertical split minimum in non-FDP page.
|
|
/**/
|
|
#define cbVSplitMin 100
|
|
|
|
/* code page constants.
|
|
/**/
|
|
#define usUniCodePage 1200 /* code page for Unicode strings */
|
|
#define usEnglishCodePage 1252 /* code page for English */
|
|
|
|
/* length of modified page list
|
|
/**/
|
|
#define cmpeMax 8192
|
|
|
|
/* idle processing constants
|
|
/**/
|
|
#define icallIdleBMCleanMax cmpeMax
|
|
|
|
/* wait time for latch/crit conflicts
|
|
/**/
|
|
#define cmsecWaitGeneric 100
|
|
#define cmsecWaitWriteLatch 10
|
|
#define cmsecWaitLogFlush 1
|