2010-11-24 12:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)

- contrib/rddbmcdx/rddbmcdx.hbp
  + contrib/rddbmcdx/rddbm.hbp
  - contrib/rddbmcdx/rddbmcdx.hbc
  + contrib/rddbmcdx/rddbm.hbc
  - contrib/rddbmcdx/hbbmcdx.h
  + contrib/rddbmcdx/hbrddbm.h
  * contrib/rddbmcdx/bmdbfcdx.c
    * Renaming to make it index-type agnostic.
    * Trying to hunt down "CDX" in source code.
      Huge quanity of them remain.

  * contrib/hbhttpd/core.prg
    ! Fixed unreachable code after BREAK.
This commit is contained in:
Viktor Szakats
2010-11-24 11:09:01 +00:00
parent b0ded0cee5
commit f9abc498d2
6 changed files with 175 additions and 170 deletions

View File

@@ -16,6 +16,21 @@
The license applies to all entries newer than 2009-04-28.
*/
2010-11-24 12:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- contrib/rddbmcdx/rddbmcdx.hbp
+ contrib/rddbmcdx/rddbm.hbp
- contrib/rddbmcdx/rddbmcdx.hbc
+ contrib/rddbmcdx/rddbm.hbc
- contrib/rddbmcdx/hbbmcdx.h
+ contrib/rddbmcdx/hbrddbm.h
* contrib/rddbmcdx/bmdbfcdx.c
* Renaming to make it index-type agnostic.
* Trying to hunt down "CDX" in source code.
Huge quanity of them remain.
* contrib/hbhttpd/core.prg
! Fixed unreachable code after BREAK.
2010-11-24 11:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbplist
* contrib/rddbmcdx/bmdbfcdx.c

View File

@@ -665,7 +665,7 @@ STATIC FUNCTION UErrorHandler( oErr, oServer )
oServer:LogError( GetErrorDesc( oErr ) )
BREAK( oErr )
RETURN NIL
/* RETURN NIL */
STATIC FUNCTION GetErrorDesc( oErr )

View File

@@ -3,7 +3,7 @@
*/
/*
* xHarbour Project source code:
* Harbour Project source code:
* BM (bitmap filter) RDD
*
* Copyright 1999-2002 Bruno Cantero <bruno@issnet.net>
@@ -61,7 +61,7 @@
#include "hbvm.h"
#include "hbset.h"
#include "hbstack.h"
#include "hbbmcdx.h"
#include "hbrddbm.h"
#include "hbmath.h"
#include "rddsys.ch"
#include "hbregex.h"
@@ -76,7 +76,7 @@ static RDDFUNCS bmSuper;
/*
* check and avaluate record filter
*/
static HB_BOOL hb_cdxCheckRecordFilter( CDXAREAP pArea, HB_ULONG ulRecNo )
static HB_BOOL hb_bmCheckRecordFilter( CDXAREAP pArea, HB_ULONG ulRecNo )
{
HB_BOOL lResult = HB_FALSE;
HB_BOOL fDeleted = hb_setGetDeleted();
@@ -127,7 +127,7 @@ static HB_BOOL hb_cdxCheckRecordFilter( CDXAREAP pArea, HB_ULONG ulRecNo )
#if ! defined( HB_SIXCDX )
static HB_BYTE * hb_cdxPageGetKeyValActual( LPCDXPAGE pPage )
static HB_BYTE * hb_bmPageGetKeyValActual( LPCDXPAGE pPage )
{
while( pPage->Child )
{
@@ -140,7 +140,7 @@ static HB_BYTE * hb_cdxPageGetKeyValActual( LPCDXPAGE pPage )
/*
* compare two values using Tag conditions (len & type)
*/
static int hb_cdxValCompareWild( HB_BYTE * val1, HB_BYTE * val2, HB_BOOL fExact )
static int hb_bmValCompareWild( HB_BYTE * val1, HB_BYTE * val2, HB_BOOL fExact )
{
return ( ( fExact ) ? hb_strMatchWildExact( ( const char * ) val2, (const char *) val1 ) : hb_strMatchWild( ( const char * ) val2, ( const char * ) val1 ) ) ? 0: 1;
}
@@ -150,37 +150,34 @@ static int hb_cdxValCompareWild( HB_BYTE * val1, HB_BYTE * val2, HB_BOOL fExact
*/
static int hb_cdxPageSeekKeyWild( LPCDXPAGE pPage, LPCDXKEY pKey, HB_ULONG ulKeyRec, HB_BOOL fExact, HB_BOOL fNext )
{
int k;
int k = ( ulKeyRec == CDX_MAX_REC_NUM ) ? -1 : 1;
k = ( ulKeyRec == CDX_MAX_REC_NUM ) ? -1 : 1;
if( fNext ? hb_cdxPageReadNextKey( pPage ) : hb_cdxPageReadTopKey( pPage ) )
{
do
{
k = hb_bmValCompareWild( pKey->val, hb_bmPageGetKeyValActual( pPage ), fExact );
}
while( k && hb_cdxPageReadNextKey( pPage ) );
if( fNext ? hb_cdxPageReadNextKey( pPage ) : hb_cdxPageReadTopKey( pPage ) )
{
do
{
k = hb_cdxValCompareWild( pKey->val, hb_cdxPageGetKeyValActual( pPage ), fExact );
}
while( k && hb_cdxPageReadNextKey( pPage ) );
if( k == 0 )
{
while( pPage->Child )
pPage = pPage->Child;
if( k == 0 )
{
while( pPage->Child )
{
pPage = pPage->Child;
}
if( ulKeyRec == CDX_MAX_REC_NUM )
if( ulKeyRec == CDX_MAX_REC_NUM )
k = 1;
else if( ulKeyRec != CDX_IGNORE_REC_NUM )
{
HB_ULONG ulRec = hb_cdxPageGetKeyRec( pPage, pPage->iCurKey );
if( ulKeyRec > ulRec )
k = 1;
else if( ulKeyRec != CDX_IGNORE_REC_NUM )
{
HB_ULONG ulRec = hb_cdxPageGetKeyRec( pPage, pPage->iCurKey );
if( ulKeyRec > ulRec )
k = 1;
else if( ulKeyRec < ulRec )
k = -1;
}
}
}
return k;
else if( ulKeyRec < ulRec )
k = -1;
}
}
}
return k;
}
/*
@@ -214,7 +211,6 @@ static HB_ULONG hb_cdxTagKeyFindWild( LPCDXTAG pTag, LPCDXKEY pKey, HB_BOOL fNex
}
/* hb_cdxSeekWild */
static HB_ERRCODE hb_cdxSeekWild( CDXAREAP pArea, HB_BOOL fSoftSeek, PHB_ITEM pKeyItm, HB_BOOL fFindLast, HB_BOOL fNext, HB_BOOL bAll )
{
LPCDXTAG pTag;
@@ -278,7 +274,7 @@ static HB_ERRCODE hb_cdxSeekWild( CDXAREAP pArea, HB_BOOL fSoftSeek, PHB_ITEM pK
if( retval != HB_FAILURE && ulRec && pArea->dbfarea.fPositioned )
{
pArea->dbfarea.area.fFound = ( ulRec == pArea->dbfarea.ulRecNo ||
hb_cdxValCompareWild( pKey->val, pTag->CurKey->val, HB_FALSE ) == 0 );
hb_bmValCompareWild( pKey->val, pTag->CurKey->val, HB_FALSE ) == 0 );
if( ! pArea->dbfarea.area.fFound && ! fSoftSeek )
fEOF = HB_TRUE;
}
@@ -320,7 +316,7 @@ HB_FUNC( BM_DBGETFILTERARRAY )
for( ulByte = ( ulLong << 2 ), ulBytes = 0; ulBytes < 4; ulByte++, ulBytes++ )
if( ( ( char * )( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo )->rmap )[ ulByte ] )
for( ulRec = ( ulByte << 3 ) + 1, ulRecno = 0; ulRecno < 8; ulRec++, ulRecno++ )
if( hb_cdxCheckRecordFilter( pArea, ulRec ) )
if( hb_bmCheckRecordFilter( pArea, ulRec ) )
hb_arrayAddForward( pList, hb_itemPutNL( pItem, ulRec ) );
SELF_GOTO( ( AREAP ) pArea, ulRecOld );
@@ -491,23 +487,23 @@ HB_FUNC( BM_DBSEEKWILD )
#endif
/* ( DBENTRYP_L ) hb_cdxSkipFilter */
/* ( DBENTRYP_L ) hb_bmSkipFilter */
/*
* Reposition cursor respecting any filter setting.
*/
static HB_ERRCODE hb_cdxSkipFilter( CDXAREAP pArea, HB_LONG lUpDown )
static HB_ERRCODE hb_bmSkipFilter( CDXAREAP pArea, HB_LONG lUpDown )
{
HB_BOOL fBottom, fDeleted;
HB_ERRCODE uiError;
HB_TRACE(HB_TR_DEBUG, ("hb_cdxSkipFilter(%p, %ld)", pArea, lUpDown));
HB_TRACE(HB_TR_DEBUG, ("hb_bmSkipFilter(%p, %ld)", pArea, lUpDown));
if( ! hb_setGetDeleted() && ! pArea->dbfarea.area.dbfi.fFilter )
return HB_SUCCESS;
/* Since lToSkip is passed to SkipRaw, it should never request more than
a single skip.
The implied purpose of hb_cdxSkipFilter is to get off of a "bad" record
The implied purpose of hb_bmSkipFilter is to get off of a "bad" record
after a skip was performed, NOT to skip lToSkip filtered records.
*/
lUpDown = ( lUpDown < 0 ? -1 : 1 );
@@ -537,7 +533,7 @@ static HB_ERRCODE hb_cdxSkipFilter( CDXAREAP pArea, HB_LONG lUpDown )
/* SET FILTER TO */
if( pArea->dbfarea.area.dbfi.fFilter )
{
if( ! hb_cdxCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
if( ! hb_bmCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
{
if( SELF_SKIPRAW( (AREAP) pArea, lUpDown ) != HB_SUCCESS )
return HB_FAILURE;
@@ -582,8 +578,8 @@ static HB_ERRCODE hb_cdxSkipFilter( CDXAREAP pArea, HB_LONG lUpDown )
return uiError;
}
/* ( DBENTRYP_B ) hb_cdxAppend */
static HB_ERRCODE hb_cdxAppend( CDXAREAP pArea, HB_BOOL bUnLockAll )
/* ( DBENTRYP_B ) hb_bmAppend */
static HB_ERRCODE hb_bmAppend( CDXAREAP pArea, HB_BOOL bUnLockAll )
{
if( SUPER_APPEND( (AREAP) pArea, bUnLockAll ) == HB_SUCCESS )
{
@@ -600,7 +596,7 @@ static HB_ERRCODE hb_cdxAppend( CDXAREAP pArea, HB_BOOL bUnLockAll )
( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->Size = ulRecCount;
}
pArea->dbfarea.area.dbfi.fFilter = HB_FALSE;
if( hb_cdxCheckRecordFilter( pArea, ulRecCount ) )
if( hb_bmCheckRecordFilter( pArea, ulRecCount ) )
{
LPCDXTAG pTag;
BM_SetBit( ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->rmap, ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->Size, ulRecCount );
@@ -617,16 +613,16 @@ static HB_ERRCODE hb_cdxAppend( CDXAREAP pArea, HB_BOOL bUnLockAll )
else
return HB_FAILURE;
}
/* ( DBENTRYP_I ) hb_cdxCreateFields : NULL */
/* ( DBENTRYP_V ) hb_cdxDeleteRec */
static HB_ERRCODE hb_cdxDeleteRec( CDXAREAP pArea )
/* ( DBENTRYP_V ) hb_bmDeleteRec */
static HB_ERRCODE hb_bmDeleteRec( CDXAREAP pArea )
{
if( SUPER_DELETE( (AREAP) pArea ) == HB_SUCCESS )
{
if( pArea->dbfarea.area.dbfi.fFilter && pArea->dbfarea.area.dbfi.fOptimized )
{
pArea->dbfarea.area.dbfi.fFilter = HB_FALSE;
if( hb_cdxCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
if( hb_bmCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
{
if( ! BM_GetBit( ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->rmap, ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->Size, pArea->dbfarea.ulRecNo ) )
{
@@ -656,8 +652,8 @@ static HB_ERRCODE hb_cdxDeleteRec( CDXAREAP pArea )
return HB_FAILURE;
}
/* ( DBENTRYP_P ) hb_cdxPutRec : NULL */
static HB_ERRCODE hb_cdxPutRec( CDXAREAP pArea, HB_BYTE * pBuffer )
/* ( DBENTRYP_P ) hb_bmPutRec : NULL */
static HB_ERRCODE hb_bmPutRec( CDXAREAP pArea, HB_BYTE * pBuffer )
{
if( SUPER_PUTREC( (AREAP) pArea, pBuffer ) == HB_SUCCESS )
{
@@ -665,7 +661,7 @@ static HB_ERRCODE hb_cdxPutRec( CDXAREAP pArea, HB_BYTE * pBuffer )
{
pArea->dbfarea.area.dbfi.fFilter = HB_FALSE;
if( hb_cdxCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
if( hb_bmCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
{
if( ! BM_GetBit( ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->rmap, ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->Size, pArea->dbfarea.ulRecNo ) )
{
@@ -694,16 +690,16 @@ static HB_ERRCODE hb_cdxPutRec( CDXAREAP pArea, HB_BYTE * pBuffer )
else
return HB_FAILURE;
}
/* ( DBENTRYP_SI ) hb_cdxPutValue : NULL */
/* ( DBENTRYP_V ) hb_cdxRecall */
static HB_ERRCODE hb_cdxRecall( CDXAREAP pArea )
/* ( DBENTRYP_V ) hb_bmRecall */
static HB_ERRCODE hb_bmRecall( CDXAREAP pArea )
{
if( SUPER_RECALL( (AREAP) pArea ) == HB_SUCCESS )
{
if( pArea->dbfarea.area.dbfi.fFilter && pArea->dbfarea.area.dbfi.fOptimized )
{
pArea->dbfarea.area.dbfi.fFilter = HB_FALSE;
if( hb_cdxCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
if( hb_bmCheckRecordFilter( pArea, pArea->dbfarea.ulRecNo ) )
BM_SetBit( ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->rmap, ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->Size, pArea->dbfarea.ulRecNo );
else
BM_ClrBit( ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->rmap, ( ( LPBM_FILTER ) pArea->dbfarea.area.dbfi.lpvCargo)->Size, pArea->dbfarea.ulRecNo );
@@ -715,9 +711,8 @@ static HB_ERRCODE hb_cdxRecall( CDXAREAP pArea )
return HB_FAILURE;
}
/* ( DBENTRYP_V ) hb_cdxClearFilter */
static HB_ERRCODE hb_cdxClearFilter( CDXAREAP pArea )
/* ( DBENTRYP_V ) hb_bmClearFilter */
static HB_ERRCODE hb_bmClearFilter( CDXAREAP pArea )
{
HB_ERRCODE errCode = SUPER_CLEARFILTER( ( AREAP ) pArea );
hb_cdxClearLogPosInfo( pArea );
@@ -731,13 +726,10 @@ static HB_ERRCODE hb_cdxClearFilter( CDXAREAP pArea )
return errCode;
}
/* ( DBENTRYP_V ) hb_cdxClearLocate : NULL */
/* ( DBENTRYP_V ) hb_cdxClearScope : NULL */
/* ( DBENTRYP_VPLP ) hb_cdxCountScope */
static HB_ERRCODE hb_cdxCountScope( CDXAREAP pArea, void * pPtr, HB_LONG * plRec )
/* ( DBENTRYP_VPLP ) hb_bmCountScope */
static HB_ERRCODE hb_bmCountScope( CDXAREAP pArea, void * pPtr, HB_LONG * plRec )
{
HB_TRACE(HB_TR_DEBUG, ("hb_cdxCountScope(%p, %p, %p)", pArea, pPtr, plRec));
HB_TRACE(HB_TR_DEBUG, ("hb_bmCountScope(%p, %p, %p)", pArea, pPtr, plRec));
if( pPtr == NULL )
{
@@ -752,11 +744,8 @@ static HB_ERRCODE hb_cdxCountScope( CDXAREAP pArea, void * pPtr, HB_LONG * plRec
return SUPER_COUNTSCOPE( ( AREAP ) pArea, pPtr, plRec );
}
/* ( DBENTRYP_I ) hb_cdxFilterText : NULL */
/* ( DBENTRYP_SI ) hb_cdxScopeInfo : NULL */
/* ( DBENTRYP_VFI ) hb_cdxSetFilter */
static HB_ERRCODE hb_cdxSetFilter( CDXAREAP pArea, LPDBFILTERINFO pFilterInfo )
/* ( DBENTRYP_VFI ) hb_bmSetFilter */
static HB_ERRCODE hb_bmSetFilter( CDXAREAP pArea, LPDBFILTERINFO pFilterInfo )
{
HB_ULONG ulRecCount = 0, ulLogKeyCount = 0;
LPCDXTAG pTag;
@@ -832,150 +821,150 @@ static const RDDFUNCS cdxTable =
/* Movement and positioning methods */
( DBENTRYP_BP ) NULL, /* hb_cdxBof */
( DBENTRYP_BP ) NULL, /* hb_cdxEof */
( DBENTRYP_BP ) NULL, /* hb_cdxFound */
( DBENTRYP_V ) NULL, /* hb_cdxGoBottom */
( DBENTRYP_UL ) NULL, /* hb_cdxGoTo */
( DBENTRYP_I ) NULL, /* hb_cdxGoToId */
( DBENTRYP_V ) NULL, /* hb_cdxGoTop */
( DBENTRYP_BIB ) NULL, /* hb_cdxSeek */
( DBENTRYP_L ) NULL, /* hb_cdxSkip */
( DBENTRYP_L ) hb_cdxSkipFilter,
( DBENTRYP_L ) NULL, /* hb_cdxSkipRaw */
( DBENTRYP_BP ) NULL, /* Bof */
( DBENTRYP_BP ) NULL, /* Eof */
( DBENTRYP_BP ) NULL, /* Found */
( DBENTRYP_V ) NULL, /* GoBottom */
( DBENTRYP_UL ) NULL, /* GoTo */
( DBENTRYP_I ) NULL, /* GoToId */
( DBENTRYP_V ) NULL, /* GoTop */
( DBENTRYP_BIB ) NULL, /* Seek */
( DBENTRYP_L ) NULL, /* Skip */
( DBENTRYP_L ) hb_bmSkipFilter,
( DBENTRYP_L ) NULL, /* SkipRaw */
/* Data management */
( DBENTRYP_VF ) NULL, /* hb_cdxAddField */
( DBENTRYP_B ) hb_cdxAppend,
( DBENTRYP_I ) NULL, /* hb_cdxCreateFields */
( DBENTRYP_V ) hb_cdxDeleteRec,
( DBENTRYP_BP ) NULL, /* hb_cdxDeleted */
( DBENTRYP_SP ) NULL, /* hb_cdxFieldCount */
( DBENTRYP_VF ) NULL, /* hb_cdxFieldDisplay */
( DBENTRYP_SSI ) NULL, /* hb_cdxFieldInfo */
( DBENTRYP_SCP ) NULL, /* hb_cdxFieldName */
( DBENTRYP_V ) NULL, /* hb_cdxFlush */
( DBENTRYP_PP ) NULL, /* hb_cdxGetRec */
( DBENTRYP_SI ) NULL, /* hb_cdxGetValue */
( DBENTRYP_SVL ) NULL, /* hb_cdxGetVarLen */
( DBENTRYP_V ) NULL, /* hb_cdxGoCold */
( DBENTRYP_V ) NULL, /* hb_cdxGoHot */
( DBENTRYP_P ) hb_cdxPutRec,
( DBENTRYP_SI ) NULL, /* hb_cdxPutValue */
( DBENTRYP_V ) hb_cdxRecall, /* hb_cdxRecall */
( DBENTRYP_ULP ) NULL, /* hb_cdxRecCount */
( DBENTRYP_ISI ) NULL, /* hb_cdxRecInfo */
( DBENTRYP_ULP ) NULL, /* hb_cdxRecNo */
( DBENTRYP_I ) NULL, /* hb_cdxRecId */
( DBENTRYP_S ) NULL, /* hb_cdxSetFieldExtent */
( DBENTRYP_VF ) NULL, /* AddField */
( DBENTRYP_B ) hb_bmAppend,
( DBENTRYP_I ) NULL, /* CreateFields */
( DBENTRYP_V ) hb_bmDeleteRec,
( DBENTRYP_BP ) NULL, /* Deleted */
( DBENTRYP_SP ) NULL, /* FieldCount */
( DBENTRYP_VF ) NULL, /* FieldDisplay */
( DBENTRYP_SSI ) NULL, /* FieldInfo */
( DBENTRYP_SCP ) NULL, /* FieldName */
( DBENTRYP_V ) NULL, /* Flush */
( DBENTRYP_PP ) NULL, /* GetRec */
( DBENTRYP_SI ) NULL, /* GetValue */
( DBENTRYP_SVL ) NULL, /* GetVarLen */
( DBENTRYP_V ) NULL, /* GoCold */
( DBENTRYP_V ) NULL, /* GoHot */
( DBENTRYP_P ) hb_bmPutRec,
( DBENTRYP_SI ) NULL, /* PutValue */
( DBENTRYP_V ) hb_bmRecall,
( DBENTRYP_ULP ) NULL, /* RecCount */
( DBENTRYP_ISI ) NULL, /* RecInfo */
( DBENTRYP_ULP ) NULL, /* RecNo */
( DBENTRYP_I ) NULL, /* RecId */
( DBENTRYP_S ) NULL, /* SetFieldExtent */
/* WorkArea/Database management */
( DBENTRYP_CP ) NULL, /* hb_cdxAlias */
( DBENTRYP_V ) NULL, /* hb_cdxClose */
( DBENTRYP_VO ) NULL, /* hb_cdxCreate */
( DBENTRYP_SI ) NULL, /* hb_cdxInfo */
( DBENTRYP_V ) NULL, /* hb_cdxNewArea */
( DBENTRYP_VO ) NULL, /* hb_cdxOpen */
( DBENTRYP_V ) NULL, /* hb_cdxRelease */
( DBENTRYP_SP ) NULL, /* hb_cdxStructSize */
( DBENTRYP_CP ) NULL, /* hb_cdxSysName */
( DBENTRYP_VEI ) NULL, /* hb_cdxEval */
( DBENTRYP_V ) NULL, /* hb_cdxPack */
( DBENTRYP_LSP ) NULL, /* hb_cdxPackRec */
( DBENTRYP_VS ) NULL, /* hb_cdxSort */
( DBENTRYP_VT ) NULL, /* hb_cdxTrans */
( DBENTRYP_VT ) NULL, /* hb_cdxTransRec */
( DBENTRYP_V ) NULL, /* hb_cdxZap */
( DBENTRYP_CP ) NULL, /* Alias */
( DBENTRYP_V ) NULL, /* Close */
( DBENTRYP_VO ) NULL, /* Create */
( DBENTRYP_SI ) NULL, /* Info */
( DBENTRYP_V ) NULL, /* NewArea */
( DBENTRYP_VO ) NULL, /* Open */
( DBENTRYP_V ) NULL, /* Release */
( DBENTRYP_SP ) NULL, /* StructSize */
( DBENTRYP_CP ) NULL, /* SysName */
( DBENTRYP_VEI ) NULL, /* Eval */
( DBENTRYP_V ) NULL, /* Pack */
( DBENTRYP_LSP ) NULL, /* PackRec */
( DBENTRYP_VS ) NULL, /* Sort */
( DBENTRYP_VT ) NULL, /* Trans */
( DBENTRYP_VT ) NULL, /* TransRec */
( DBENTRYP_V ) NULL, /* Zap */
/* Relational Methods */
( DBENTRYP_VR ) NULL, /* hb_cdxChildEnd */
( DBENTRYP_VR ) NULL, /* hb_cdxChildStart */
( DBENTRYP_VR ) NULL, /* hb_cdxChildSync */
( DBENTRYP_V ) NULL, /* hb_cdxSyncChildren */
( DBENTRYP_V ) NULL, /* hb_cdxClearRel */
( DBENTRYP_V ) NULL, /* hb_cdxForceRel */
( DBENTRYP_SSP ) NULL, /* hb_cdxRelArea */
( DBENTRYP_VR ) NULL, /* hb_cdxRelEval */
( DBENTRYP_SI ) NULL, /* hb_cdxRelText */
( DBENTRYP_VR ) NULL, /* hb_cdxSetRel */
( DBENTRYP_VR ) NULL, /* ChildEnd */
( DBENTRYP_VR ) NULL, /* ChildStart */
( DBENTRYP_VR ) NULL, /* ChildSync */
( DBENTRYP_V ) NULL, /* SyncChildren */
( DBENTRYP_V ) NULL, /* ClearRel */
( DBENTRYP_V ) NULL, /* ForceRel */
( DBENTRYP_SSP ) NULL, /* RelArea */
( DBENTRYP_VR ) NULL, /* RelEval */
( DBENTRYP_SI ) NULL, /* RelText */
( DBENTRYP_VR ) NULL, /* SetRel */
/* Order Management */
( DBENTRYP_VOI ) NULL, /* hb_cdxOrderListAdd */
( DBENTRYP_V ) NULL, /* hb_cdxOrderListClear */
( DBENTRYP_VOI ) NULL, /* hb_cdxOrderListDelete */
( DBENTRYP_VOI ) NULL, /* hb_cdxOrderListFocus */
( DBENTRYP_V ) NULL, /* hb_cdxOrderListRebuild */
( DBENTRYP_VOO ) NULL, /* hb_cdxOrderCondition */
( DBENTRYP_VOC ) NULL, /* hb_cdxOrderCreate */
( DBENTRYP_VOI ) NULL, /* hb_cdxOrderDestroy */
( DBENTRYP_SVOI ) NULL, /* hb_cdxOrderInfo */
( DBENTRYP_VOI ) NULL, /* OrderListAdd */
( DBENTRYP_V ) NULL, /* OrderListClear */
( DBENTRYP_VOI ) NULL, /* OrderListDelete */
( DBENTRYP_VOI ) NULL, /* OrderListFocus */
( DBENTRYP_V ) NULL, /* OrderListRebuild */
( DBENTRYP_VOO ) NULL, /* OrderCondition */
( DBENTRYP_VOC ) NULL, /* OrderCreate */
( DBENTRYP_VOI ) NULL, /* OrderDestroy */
( DBENTRYP_SVOI ) NULL, /* OrderInfo */
/* Filters and Scope Settings */
( DBENTRYP_V ) hb_cdxClearFilter,
( DBENTRYP_V ) NULL, /* hb_cdxClearLocate */
( DBENTRYP_V ) NULL, /* hb_cdxClearScope */
( DBENTRYP_VPLP ) hb_cdxCountScope,
( DBENTRYP_I ) NULL, /* hb_cdxFilterText */
( DBENTRYP_SI ) NULL, /* hb_cdxScopeInfo */
( DBENTRYP_VFI ) hb_cdxSetFilter,
( DBENTRYP_VLO ) NULL, /* hb_cdxSetLocate */
( DBENTRYP_VOS ) NULL, /* hb_cdxSetScope */
( DBENTRYP_VPL ) NULL, /* hb_cdxSkipScope */
( DBENTRYP_B ) NULL, /* hb_cdxLocate */
( DBENTRYP_V ) hb_bmClearFilter,
( DBENTRYP_V ) NULL, /* ClearLocate */
( DBENTRYP_V ) NULL, /* ClearScope */
( DBENTRYP_VPLP ) hb_bmCountScope,
( DBENTRYP_I ) NULL, /* FilterText */
( DBENTRYP_SI ) NULL, /* ScopeInfo */
( DBENTRYP_VFI ) hb_bmSetFilter,
( DBENTRYP_VLO ) NULL, /* SetLocate */
( DBENTRYP_VOS ) NULL, /* SetScope */
( DBENTRYP_VPL ) NULL, /* SkipScope */
( DBENTRYP_B ) NULL, /* Locate */
/* Miscellaneous */
( DBENTRYP_CC ) NULL, /* hb_cdxCompile */
( DBENTRYP_I ) NULL, /* hb_cdxError */
( DBENTRYP_I ) NULL, /* hb_cdxEvalBlock */
( DBENTRYP_CC ) NULL, /* Compile */
( DBENTRYP_I ) NULL, /* Error */
( DBENTRYP_I ) NULL, /* EvalBlock */
/* Network operations */
( DBENTRYP_VSP ) NULL, /* hb_cdxRawLock */
( DBENTRYP_VL ) NULL, /* hb_cdxLock */
( DBENTRYP_I ) NULL, /* hb_cdxUnLock */
( DBENTRYP_VSP ) NULL, /* RawLock */
( DBENTRYP_VL ) NULL, /* Lock */
( DBENTRYP_I ) NULL, /* UnLock */
/* Memofile functions */
( DBENTRYP_V ) NULL, /* hb_cdxCloseMemFile */
( DBENTRYP_VO ) NULL, /* hb_cdxCreateMemFile */
( DBENTRYP_SCCS ) NULL, /* hb_cdxGetValueFile */
( DBENTRYP_VO ) NULL, /* hb_cdxOpenMemFile */
( DBENTRYP_SCCS ) NULL, /* hb_cdxPutValueFile */
( DBENTRYP_V ) NULL, /* CloseMemFile */
( DBENTRYP_VO ) NULL, /* CreateMemFile */
( DBENTRYP_SCCS ) NULL, /* GetValueFile */
( DBENTRYP_VO ) NULL, /* OpenMemFile */
( DBENTRYP_SCCS ) NULL, /* PutValueFile */
/* Database file header handling */
( DBENTRYP_V ) NULL, /* hb_cdxReadDBHeader */
( DBENTRYP_V ) NULL, /* hb_cdxWriteDBHeader */
( DBENTRYP_V ) NULL, /* ReadDBHeader */
( DBENTRYP_V ) NULL, /* WriteDBHeader */
/* non WorkArea functions */
( DBENTRYP_R ) NULL, /* hb_cdxInit */
( DBENTRYP_R ) NULL, /* hb_cdxExit */
( DBENTRYP_RVVL ) NULL, /* hb_cdxDrop */
( DBENTRYP_RVVL ) NULL, /* hb_cdxExists */
( DBENTRYP_RVVVL ) NULL, /* hb_cdxRename */
( DBENTRYP_RSLV ) NULL, /* hb_cdxRddInfo */
( DBENTRYP_R ) NULL, /* Init */
( DBENTRYP_R ) NULL, /* Exit */
( DBENTRYP_RVVL ) NULL, /* Drop */
( DBENTRYP_RVVL ) NULL, /* Exists */
( DBENTRYP_RVVVL ) NULL, /* Rename */
( DBENTRYP_RSLV ) NULL, /* RddInfo */
/* Special and reserved methods */
( DBENTRYP_SVP ) NULL /* hb_cdxWhoCares */
( DBENTRYP_SVP ) NULL /* WhoCares */
};
#if defined( HB_SIXCDX )

View File

@@ -3,7 +3,8 @@
*/
/*
* DBFCDX RDD (ver.2) + BMDBFCDX patch
* Harbour Project source code:
* BM (bitmap filter) RDD header
*
* Copyright 1999 Bruno Cantero <bruno@issnet.net>
* Copyright 2003 Przemyslaw Czerpak <druzus@acn.waw.pl>