Added support for large field values (up to 4 GB), async and direct I/O on Linux and Solaris, and performed major code cleanup.
git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@213 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
@@ -46,7 +46,7 @@ FSTATIC RCODE flmFreeContainerBlocks(
|
||||
LFILE * pLFile);
|
||||
|
||||
FSTATIC RCODE flmFreeIndexBlocks(
|
||||
FDB_p pDb,
|
||||
FDB * pDb,
|
||||
LFILE * pLFile,
|
||||
FLMBOOL bInvalidateLFile);
|
||||
|
||||
@@ -596,8 +596,8 @@ RCODE flmLFileIndexBuild(
|
||||
// Don't index now. The RFL function INDEX_SET will
|
||||
// generate index keys.
|
||||
|
||||
if( pDb->pFile->FileHdr.uiVersionNum >= FLM_VER_3_02 &&
|
||||
pDb->pFile->FileHdr.uiVersionNum <= FLM_VER_4_51)
|
||||
if( pDb->pFile->FileHdr.uiVersionNum >= FLM_FILE_FORMAT_VER_3_02 &&
|
||||
pDb->pFile->FileHdr.uiVersionNum <= FLM_FILE_FORMAT_VER_4_51)
|
||||
{
|
||||
if( RC_BAD( rc = flmSetIxTrackerInfo( pDb,
|
||||
pIxd->uiIndexNum, 1, 0, TRANS_ID_OFFLINE, FALSE)))
|
||||
@@ -825,7 +825,7 @@ RCODE flmIndexSetOfRecords(
|
||||
|
||||
if (!pIxd->uiContainerNum && !uiContainerNum)
|
||||
{
|
||||
flmAssert( pDb->pFile->FileHdr.uiVersionNum >= FLM_VER_4_50);
|
||||
flmAssert( pDb->pFile->FileHdr.uiVersionNum >= FLM_FILE_FORMAT_VER_4_50);
|
||||
bDoAllContainers = TRUE;
|
||||
}
|
||||
|
||||
@@ -843,7 +843,8 @@ RCODE flmIndexSetOfRecords(
|
||||
#ifdef FLM_DEBUG
|
||||
if( !pIxd->uiContainerNum)
|
||||
{
|
||||
flmAssert( pDb->pFile->FileHdr.uiVersionNum >= FLM_VER_4_50);
|
||||
flmAssert( pDb->pFile->FileHdr.uiVersionNum >=
|
||||
FLM_FILE_FORMAT_VER_4_50);
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1149,7 +1150,7 @@ RCODE flmIndexSetOfRecords(
|
||||
|
||||
// Send indexing completed event notification
|
||||
|
||||
if( gv_FlmSysData.EventHdrs[ F_EVENT_UPDATES].pEventCBList)
|
||||
if( gv_FlmSysData.UpdateEvents.pEventCBList)
|
||||
{
|
||||
flmDoEventCallback( F_EVENT_UPDATES,
|
||||
F_EVENT_INDEXING_COMPLETE, (void *)uiIxNum,
|
||||
@@ -1284,7 +1285,7 @@ Exit:
|
||||
|
||||
if( !pThread)
|
||||
{
|
||||
if( gv_FlmSysData.EventHdrs[ F_EVENT_UPDATES].pEventCBList)
|
||||
if( gv_FlmSysData.UpdateEvents.pEventCBList)
|
||||
{
|
||||
flmDoEventCallback( F_EVENT_UPDATES,
|
||||
F_EVENT_INDEXING_COMPLETE, (void *)uiIxNum,
|
||||
@@ -1295,7 +1296,7 @@ Exit:
|
||||
}
|
||||
else if( uiLastDrn)
|
||||
{
|
||||
if( gv_FlmSysData.EventHdrs[ F_EVENT_UPDATES].pEventCBList)
|
||||
if( gv_FlmSysData.UpdateEvents.pEventCBList)
|
||||
{
|
||||
flmDoEventCallback( F_EVENT_UPDATES,
|
||||
F_EVENT_INDEXING_COMPLETE, (void *)uiIxNum,
|
||||
@@ -1463,7 +1464,7 @@ RCODE flmSetIxTrackerInfo(
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if( pDb->pFile->FileHdr.uiVersionNum >= FLM_VER_4_51)
|
||||
if( pDb->pFile->FileHdr.uiVersionNum >= FLM_FILE_FORMAT_VER_4_51)
|
||||
{
|
||||
FLMUINT32 ui32IndexSuspended = bSuspended ? 1 : 0;
|
||||
if( RC_BAD( rc = flmModField( pRecord, FLM_STATE_TAG,
|
||||
@@ -2260,7 +2261,7 @@ FSTATIC RCODE flmFreeIndexBlocks(
|
||||
goto Exit;
|
||||
}
|
||||
|
||||
if( pFile->FileHdr.uiVersionNum <= FLM_VER_4_51)
|
||||
if( pFile->FileHdr.uiVersionNum <= FLM_FILE_FORMAT_VER_4_51)
|
||||
{
|
||||
// Background deletion is not supported. Must delete
|
||||
// the blocks of the LFILE now.
|
||||
@@ -2701,7 +2702,7 @@ FSTATIC RCODE flmRetrieveTrackerRec(
|
||||
POOL readPool;
|
||||
LFILE * pTrackerLFile;
|
||||
BTSK stackBuf[ BH_MAX_LEVELS];
|
||||
BTSK_p pStack = &stackBuf[ 0];
|
||||
BTSK * pStack = &stackBuf[ 0];
|
||||
FLMBYTE ucKeyBuf[ DIN_KEY_SIZ];
|
||||
FLMBYTE ucSearchKey[ DIN_KEY_SIZ];
|
||||
FlmRecord * pTrackerRec = NULL;
|
||||
|
||||
Reference in New Issue
Block a user