2014-10-24 15:15 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* include/hbrddntx.h
  * src/rdd/workarea.c
  * src/rdd/dbf1.c
  * src/rdd/delim1.c
  * src/rdd/sdf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbffpt/dbffpt1.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/rddads/adsx.c
  * contrib/rddsql/sqlbase.c
  * contrib/rddsql/sqlmix.c
  * contrib/sddfb/core.c
  * contrib/sddmy/core.c
  * contrib/sddoci/core.c
  * contrib/sddodbc/core.c
  * contrib/sddpg/core.c
  * contrib/sddsqlt3/core.c
    * cleaned AREAP casting
    * unified some variable names
    * cleaned some DBOI_* actions
    * allow to call ORDERINFO() method without itmResult item.
    * few other cleanups
This commit is contained in:
Przemysław Czerpak
2014-10-24 15:15:39 +02:00
parent 309dc0a307
commit ef962484be
21 changed files with 1453 additions and 1360 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -120,7 +120,7 @@ static HB_ERRCODE hb_memoErrorRT( FPTAREAP pArea, HB_ERRCODE uiGenCode, HB_ERRCO
hb_errPutFileName( pError, szFileName );
if( uiFlags )
hb_errPutFlags( pError, uiFlags );
errCode = SELF_ERROR( ( AREAP ) pArea, pError );
errCode = SELF_ERROR( &pArea->area, pError );
hb_errRelease( pError );
}
return errCode;
@@ -3320,7 +3320,7 @@ static HB_ERRCODE hb_fptLockForRead( FPTAREAP pArea, HB_USHORT uiIndex, HB_BOOL
#ifdef HB_MEMO_SAFELOCK
if( pArea->lpdbPendingRel )
{
errCode = SELF_FORCEREL( ( AREAP ) pArea );
errCode = SELF_FORCEREL( &pArea->area );
if( errCode != HB_SUCCESS )
return errCode;
}
@@ -3336,7 +3336,7 @@ static HB_ERRCODE hb_fptLockForRead( FPTAREAP pArea, HB_USHORT uiIndex, HB_BOOL
{
PHB_ITEM pRecNo = hb_itemNew( NULL ), pResult = hb_itemNew( NULL );
errCode = SELF_RECINFO( ( AREAP ) pArea, pRecNo, DBRI_LOCKED, pResult );
errCode = SELF_RECINFO( &pArea->area, pRecNo, DBRI_LOCKED, pResult );
fLocked = hb_itemGetL( pResult );
hb_itemRelease( pRecNo );
hb_itemRelease( pResult );
@@ -3360,7 +3360,7 @@ static HB_ERRCODE hb_fptLockForRead( FPTAREAP pArea, HB_USHORT uiIndex, HB_BOOL
HB_SYMBOL_UNUSED( uiIndex );
#endif
/* update any pending relations and reread record if necessary */
errCode = SELF_DELETED( ( AREAP ) pArea, &fLocked );
errCode = SELF_DELETED( &pArea->area, &fLocked );
return errCode;
}
@@ -3544,7 +3544,7 @@ static HB_ERRCODE hb_fptGetVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM
}
else if( pFile == NULL )
{
return SUPER_GETVALUE( ( AREAP ) pArea, uiIndex, pItem );
return SUPER_GETVALUE( &pArea->area, uiIndex, pItem );
}
else
{
@@ -3662,7 +3662,7 @@ static HB_ERRCODE hb_fptPutVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM
HB_BOOL bDeleted;
/* update any pending relations and reread record if necessary */
errCode = SELF_DELETED( ( AREAP ) pArea, &bDeleted );
errCode = SELF_DELETED( &pArea->area, &bDeleted );
if( errCode != HB_SUCCESS )
return errCode;
@@ -3672,7 +3672,7 @@ static HB_ERRCODE hb_fptPutVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM
/* Buffer is hot? */
if( ! pArea->fRecordChanged )
{
errCode = SELF_GOHOT( ( AREAP ) pArea );
errCode = SELF_GOHOT( &pArea->area );
if( errCode != HB_SUCCESS )
return errCode;
}
@@ -3689,7 +3689,7 @@ static HB_ERRCODE hb_fptPutVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM
if( errCode == HB_SUCCESS )
{
/* Force writer record to eliminate race condition */
SELF_GOCOLD( ( AREAP ) pArea );
SELF_GOCOLD( &pArea->area );
}
#endif
hb_fptFileUnLockEx( pArea );
@@ -3876,7 +3876,7 @@ static HB_ERRCODE hb_fptPutVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM
HB_PUT_LE_UINT32( pFieldBuf + pField->uiLen - 6, ulOldBlock );
#if defined( HB_MEMO_SAFELOCK )
/* Force writer record to eliminate race condition */
SELF_GOCOLD( ( AREAP ) pArea );
SELF_GOCOLD( &pArea->area );
#endif
}
hb_fptFileUnLockEx( pArea );
@@ -3888,7 +3888,7 @@ static HB_ERRCODE hb_fptPutVarField( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM
return errCode;
}
return SUPER_PUTVALUE( ( AREAP ) pArea, uiIndex, pItem );
return SUPER_PUTVALUE( &pArea->area, uiIndex, pItem );
}
@@ -3942,7 +3942,7 @@ static HB_ERRCODE hb_fptGetVarLen( FPTAREAP pArea, HB_USHORT uiIndex, HB_ULONG *
return errCode;
}
return SUPER_GETVARLEN( ( AREAP ) pArea, uiIndex, pLength );
return SUPER_GETVARLEN( &pArea->area, uiIndex, pLength );
}
/*
@@ -4015,7 +4015,7 @@ static HB_ERRCODE hb_fptCreateMemFile( FPTAREAP pArea, LPDBOPENINFO pCreateInfo
if( ! pArea->bMemoType )
{
pItem = hb_itemPutNI( pItem, 0 );
if( SELF_INFO( ( AREAP ) pArea, DBI_MEMOTYPE, pItem ) != HB_SUCCESS )
if( SELF_INFO( &pArea->area, DBI_MEMOTYPE, pItem ) != HB_SUCCESS )
{
hb_itemRelease( pItem );
return HB_FAILURE;
@@ -4045,7 +4045,7 @@ static HB_ERRCODE hb_fptCreateMemFile( FPTAREAP pArea, LPDBOPENINFO pCreateInfo
else if( pArea->bMemoType == DB_MEMO_FPT )
{
pItem = hb_itemPutNI( pItem, 0 );
if( SELF_INFO( ( AREAP ) pArea, DBI_MEMOVERSION, pItem ) != HB_SUCCESS )
if( SELF_INFO( &pArea->area, DBI_MEMOVERSION, pItem ) != HB_SUCCESS )
{
hb_itemRelease( pItem );
return HB_FAILURE;
@@ -4058,7 +4058,7 @@ static HB_ERRCODE hb_fptCreateMemFile( FPTAREAP pArea, LPDBOPENINFO pCreateInfo
if( ! pArea->ulMemoBlockSize )
{
pItem = hb_itemPutNI( pItem, 0 );
if( SELF_INFO( ( AREAP ) pArea, DBI_MEMOBLOCKSIZE, pItem ) != HB_SUCCESS )
if( SELF_INFO( &pArea->area, DBI_MEMOBLOCKSIZE, pItem ) != HB_SUCCESS )
{
hb_itemRelease( pItem );
return HB_FAILURE;
@@ -4073,7 +4073,7 @@ static HB_ERRCODE hb_fptCreateMemFile( FPTAREAP pArea, LPDBOPENINFO pCreateInfo
if( ! pFileName->szExtension )
{
pItem = hb_itemPutC( pItem, NULL );
SELF_INFO( ( AREAP ) pArea, DBI_MEMOEXT, pItem );
SELF_INFO( &pArea->area, DBI_MEMOEXT, pItem );
pFileName->szExtension = hb_itemGetCPtr( pItem );
hb_fsFNameMerge( szFileName, pFileName );
}
@@ -4112,7 +4112,7 @@ static HB_ERRCODE hb_fptCreateMemFile( FPTAREAP pArea, LPDBOPENINFO pCreateInfo
hb_errPutFlags( pError, EF_CANRETRY );
}
hb_errPutOsCode( pError, hb_fsError() );
bRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );
bRetry = ( SELF_ERROR( &pArea->area, pError ) == E_RETRY );
}
else
bRetry = HB_FALSE;
@@ -4236,7 +4236,7 @@ static HB_ERRCODE hb_fptGetValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c
}
return HB_SUCCESS;
}
return SUPER_GETVALUEFILE( ( AREAP ) pArea, uiIndex, szFile, uiMode );
return SUPER_GETVALUEFILE( &pArea->area, uiIndex, szFile, uiMode );
}
/*
@@ -4272,7 +4272,7 @@ static HB_ERRCODE hb_fptOpenMemFile( FPTAREAP pArea, LPDBOPENINFO pOpenInfo )
if( ! pFileName->szExtension )
{
PHB_ITEM pItem = hb_itemPutC( NULL, NULL );
SELF_INFO( ( AREAP ) pArea, DBI_MEMOEXT, pItem );
SELF_INFO( &pArea->area, DBI_MEMOEXT, pItem );
pFileName->szExtension = hb_itemGetCPtr( pItem );
hb_fsFNameMerge( szFileName, pFileName );
hb_itemRelease( pItem );
@@ -4305,7 +4305,7 @@ static HB_ERRCODE hb_fptOpenMemFile( FPTAREAP pArea, LPDBOPENINFO pOpenInfo )
hb_errPutFileName( pError, ( char * ) szFileName );
hb_errPutFlags( pError, EF_CANRETRY | EF_CANDEFAULT );
}
bRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );
bRetry = ( SELF_ERROR( &pArea->area, pError ) == E_RETRY );
}
else
bRetry = HB_FALSE;
@@ -4408,7 +4408,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c
PHB_FILE pFile;
/* update any pending relations and reread record if necessary */
errCode = SELF_DELETED( ( AREAP ) pArea, &bDeleted );
errCode = SELF_DELETED( &pArea->area, &bDeleted );
if( errCode != HB_SUCCESS )
return errCode;
@@ -4416,7 +4416,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c
return HB_FAILURE;
/* Buffer is hot? */
if( ! pArea->fRecordChanged && SELF_GOHOT( ( AREAP ) pArea ) == HB_FAILURE )
if( ! pArea->fRecordChanged && SELF_GOHOT( &pArea->area ) == HB_FAILURE )
return HB_FAILURE;
pFile = hb_fileExtOpen( szFile, NULL, FO_READ | FO_DENYNONE |
@@ -4487,7 +4487,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c
if( errCode == HB_SUCCESS )
{
/* Force writer record to eliminate race condition */
SELF_GOCOLD( ( AREAP ) pArea );
SELF_GOCOLD( &pArea->area );
}
#endif
hb_fptFileUnLockEx( pArea );
@@ -4504,7 +4504,7 @@ static HB_ERRCODE hb_fptPutValueFile( FPTAREAP pArea, HB_USHORT uiIndex, const c
return HB_SUCCESS;
}
return SUPER_PUTVALUEFILE( ( AREAP ) pArea, uiIndex, szFile, uiMode );
return SUPER_PUTVALUEFILE( &pArea->area, uiIndex, szFile, uiMode );
}
static HB_ERRCODE hb_fptDoPackRec( FPTAREAP pArea )
@@ -4532,7 +4532,7 @@ static HB_ERRCODE hb_fptDoPackRec( FPTAREAP pArea )
{
/* Buffer is hot? */
if( ! pArea->fRecordChanged )
errCode = SELF_GOHOT( ( AREAP ) pArea );
errCode = SELF_GOHOT( &pArea->area );
if( ulSize == 0 && errCode == HB_SUCCESS )
{
if( pArea->bMemoType == DB_MEMO_DBT )
@@ -4607,7 +4607,7 @@ static HB_ERRCODE hb_fptDoPackRec( FPTAREAP pArea )
{
/* Buffer is hot? */
if( ! pArea->fRecordChanged )
errCode = SELF_GOHOT( ( AREAP ) pArea );
errCode = SELF_GOHOT( &pArea->area );
if( errCode == HB_SUCCESS )
{
from = FPT_BLOCK_OFFSET( ulBlock );
@@ -4639,7 +4639,7 @@ static HB_ERRCODE hb_fptDoPack( FPTAREAP pArea, HB_ULONG ulBlockSize,
errCode = EDBF_READONLY;
else if( pArea->fShared )
errCode = EDBF_SHARED;
else if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
else if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
else if( pArea->fHasMemo && pArea->pMemoFile && pArea->pDataFile )
{
@@ -4650,7 +4650,7 @@ static HB_ERRCODE hb_fptDoPack( FPTAREAP pArea, HB_ULONG ulBlockSize,
if( pEvalBlock && ! HB_IS_BLOCK( pEvalBlock ) )
pEvalBlock = NULL;
errCode = SELF_RECCOUNT( ( AREAP ) pArea, &ulRecords );
errCode = SELF_RECCOUNT( &pArea->area, &ulRecords );
if( errCode == HB_SUCCESS && ulRecords )
{
pArea->ulNewBlockSize = ulBlockSize && pArea->bMemoType != DB_MEMO_DBT
@@ -4663,14 +4663,14 @@ static HB_ERRCODE hb_fptDoPack( FPTAREAP pArea, HB_ULONG ulBlockSize,
pArea->ulMemoBlockSize = pArea->ulNewBlockSize;
pArea->pMemoFile = pArea->pMemoTmpFile;
errCode = SELF_CREATEMEMFILE( ( AREAP ) pArea, NULL );
errCode = SELF_CREATEMEMFILE( &pArea->area, NULL );
pArea->pMemoFile = pFile;
pArea->ulMemoBlockSize = ulMemoBlockSize;
if( errCode == HB_SUCCESS )
{
if( pEvalBlock )
{
SELF_GOTO( ( AREAP ) pArea, 0 );
SELF_GOTO( &pArea->area, 0 );
pArea->area.fEof = HB_FALSE;
hb_vmEvalBlock( pEvalBlock );
}
@@ -4679,7 +4679,7 @@ static HB_ERRCODE hb_fptDoPack( FPTAREAP pArea, HB_ULONG ulBlockSize,
{
HB_BOOL fDeleted;
errCode = SELF_GOTO( ( AREAP ) pArea, ulRecNo );
errCode = SELF_GOTO( &pArea->area, ulRecNo );
if( errCode != HB_SUCCESS )
break;
if( pEvalBlock )
@@ -4692,20 +4692,20 @@ static HB_ERRCODE hb_fptDoPack( FPTAREAP pArea, HB_ULONG ulBlockSize,
}
/* read record into bugger */
errCode = SELF_DELETED( ( AREAP ) pArea, &fDeleted );
errCode = SELF_DELETED( &pArea->area, &fDeleted );
if( errCode != HB_SUCCESS )
break;
errCode = hb_fptDoPackRec( pArea );
if( errCode != HB_SUCCESS )
break;
errCode = SELF_GOCOLD( ( AREAP ) pArea );
errCode = SELF_GOCOLD( &pArea->area );
if( errCode != HB_SUCCESS )
break;
}
if( errCode == HB_SUCCESS && pEvalBlock )
{
SELF_GOTO( ( AREAP ) pArea, 0 );
SELF_GOTO( &pArea->area, 0 );
pArea->area.fBof = HB_FALSE;
hb_vmEvalBlock( pEvalBlock );
}
@@ -4760,7 +4760,7 @@ static HB_ERRCODE hb_fptPackRec( FPTAREAP pArea, HB_ULONG ulRecNo, HB_BOOL * pfW
if( pArea->fPackMemo )
{
HB_ERRCODE errCode = SUPER_PACKREC( ( AREAP ) pArea, ulRecNo, pfWritten );
HB_ERRCODE errCode = SUPER_PACKREC( &pArea->area, ulRecNo, pfWritten );
if( errCode == HB_SUCCESS && *pfWritten )
{
errCode = hb_fptDoPackRec( pArea );
@@ -4773,7 +4773,7 @@ static HB_ERRCODE hb_fptPackRec( FPTAREAP pArea, HB_ULONG ulRecNo, HB_BOOL * pfW
return errCode;
}
return SUPER_PACKREC( ( AREAP ) pArea, ulRecNo, pfWritten );
return SUPER_PACKREC( &pArea->area, ulRecNo, pfWritten );
}
/*
@@ -4789,7 +4789,7 @@ static HB_ERRCODE hb_fptPack( FPTAREAP pArea )
{
char szFile[ HB_PATH_MAX ];
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
pArea->pMemoTmpFile = hb_fileCreateTemp( NULL, NULL, FC_NORMAL, szFile );
@@ -4801,13 +4801,13 @@ static HB_ERRCODE hb_fptPack( FPTAREAP pArea )
pArea->ulNewBlockSize = pArea->ulMemoBlockSize;
pArea->pMemoFile = pArea->pMemoTmpFile;
errCode = SELF_CREATEMEMFILE( ( AREAP ) pArea, NULL );
errCode = SELF_CREATEMEMFILE( &pArea->area, NULL );
pArea->pMemoFile = pFile;
if( errCode == HB_SUCCESS )
{
pArea->fPackMemo = HB_TRUE;
errCode = SUPER_PACK( ( AREAP ) pArea );
errCode = SUPER_PACK( &pArea->area );
pArea->fPackMemo = HB_FALSE;
if( errCode == HB_SUCCESS )
{
@@ -4843,7 +4843,7 @@ static HB_ERRCODE hb_fptPack( FPTAREAP pArea )
}
}
return SUPER_PACK( ( AREAP ) pArea );
return SUPER_PACK( &pArea->area );
}
/*
@@ -5078,7 +5078,7 @@ static HB_ERRCODE hb_fptInfo( FPTAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem
break;
default:
return SUPER_INFO( ( AREAP ) pArea, uiIndex, pItem );
return SUPER_INFO( &pArea->area, uiIndex, pItem );
}
return HB_SUCCESS;
@@ -5108,7 +5108,7 @@ static HB_ERRCODE hb_fptFieldInfo( FPTAREAP pArea, HB_USHORT uiIndex, HB_USHORT
HB_ULONG ulBlock, ulSize, ulType;
HB_BOOL bDeleted;
SELF_DELETED( ( AREAP ) pArea, &bDeleted );
SELF_DELETED( &pArea->area, &bDeleted );
switch( uiType )
{
case DBS_BLOB_GET: /* BLOBGet() { <nStart>, <nCount> } */
@@ -5172,7 +5172,7 @@ static HB_ERRCODE hb_fptFieldInfo( FPTAREAP pArea, HB_USHORT uiIndex, HB_USHORT
return HB_SUCCESS;
}
}
return SUPER_FIELDINFO( ( AREAP ) pArea, uiIndex, uiType, pItem );
return SUPER_FIELDINFO( &pArea->area, uiIndex, uiType, pItem );
}
/*

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -410,7 +410,7 @@ static HB_ERRCODE hb_delimGoTop( DELIMAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_delimGoTop(%p)", pArea ) );
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
pArea->area.fTop = HB_TRUE;
@@ -421,7 +421,7 @@ static HB_ERRCODE hb_delimGoTop( DELIMAREAP pArea )
if( hb_delimReadRecord( pArea ) != HB_SUCCESS )
return HB_FAILURE;
return SELF_SKIPFILTER( ( AREAP ) pArea, 1 );
return SELF_SKIPFILTER( &pArea->area, 1 );
}
/*
@@ -431,7 +431,7 @@ static HB_ERRCODE hb_delimSkipRaw( DELIMAREAP pArea, HB_LONG lToSkip )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_delimSkipRaw(%p,%ld)", pArea, lToSkip ) );
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
if( lToSkip != 1 )
@@ -488,7 +488,7 @@ static HB_ERRCODE hb_delimRecId( DELIMAREAP pArea, PHB_ITEM pRecNo )
HB_TRACE( HB_TR_DEBUG, ( "hb_delimRecId(%p,%p)", pArea, pRecNo ) );
errCode = SELF_RECNO( ( AREAP ) pArea, &ulRecNo );
errCode = SELF_RECNO( &pArea->area, &ulRecNo );
#ifdef HB_CLP_STRICT
/* this is for strict Clipper compatibility but IMHO Clipper should not
@@ -516,10 +516,10 @@ static HB_ERRCODE hb_delimAppend( DELIMAREAP pArea, HB_BOOL fUnLockAll )
HB_SYMBOL_UNUSED( fUnLockAll );
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
if( SELF_GOHOT( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOHOT( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
pArea->nRecordOffset = pArea->nFileSize;
@@ -647,7 +647,7 @@ static HB_ERRCODE hb_delimGetValue( DELIMAREAP pArea, HB_USHORT uiIndex, PHB_ITE
hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_DATATYPE ) );
hb_errPutOperation( pError, hb_dynsymName( ( PHB_DYNS ) pField->sym ) );
hb_errPutSubCode( pError, EDBF_DATATYPE );
SELF_ERROR( ( AREAP ) pArea, pError );
SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return HB_FAILURE;
}
@@ -768,7 +768,7 @@ static HB_ERRCODE hb_delimPutValue( DELIMAREAP pArea, HB_USHORT uiIndex, PHB_ITE
hb_errPutOperation( pError, hb_dynsymName( ( PHB_DYNS ) pField->sym ) );
hb_errPutSubCode( pError, errCode );
hb_errPutFlags( pError, EF_CANDEFAULT );
errCode = SELF_ERROR( ( AREAP ) pArea, pError );
errCode = SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return errCode == E_DEFAULT ? HB_SUCCESS : HB_FAILURE;
}
@@ -823,7 +823,7 @@ static HB_ERRCODE hb_delimTrans( DELIMAREAP pArea, LPDBTRANSINFO pTransInfo )
else
{
PHB_ITEM pPutRec = hb_itemPutL( NULL, HB_FALSE );
if( SELF_INFO( ( AREAP ) pTransInfo->lpaDest, DBI_CANPUTREC, pPutRec ) != HB_SUCCESS )
if( SELF_INFO( pTransInfo->lpaDest, DBI_CANPUTREC, pPutRec ) != HB_SUCCESS )
{
hb_itemRelease( pPutRec );
return HB_FAILURE;
@@ -835,7 +835,7 @@ static HB_ERRCODE hb_delimTrans( DELIMAREAP pArea, LPDBTRANSINFO pTransInfo )
hb_itemRelease( pPutRec );
}
}
return SUPER_TRANS( ( AREAP ) pArea, pTransInfo );
return SUPER_TRANS( &pArea->area, pTransInfo );
}
/*
@@ -859,7 +859,7 @@ static HB_ERRCODE hb_delimGoCold( DELIMAREAP pArea )
hb_errPutSubCode( pError, EDBF_WRITE );
hb_errPutOsCode( pError, hb_fsError() );
hb_errPutFileName( pError, pArea->szFileName );
SELF_ERROR( ( AREAP ) pArea, pError );
SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return HB_FAILURE;
}
@@ -886,7 +886,7 @@ static HB_ERRCODE hb_delimGoHot( DELIMAREAP pArea )
hb_errPutGenCode( pError, EG_READONLY );
hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_READONLY ) );
hb_errPutSubCode( pError, EDBF_READONLY );
SELF_ERROR( ( AREAP ) pArea, pError );
SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return HB_FAILURE;
}
@@ -903,7 +903,7 @@ static HB_ERRCODE hb_delimFlush( DELIMAREAP pArea )
HB_TRACE( HB_TR_DEBUG, ( "hb_delimFlush(%p)", pArea ) );
errCode = SELF_GOCOLD( ( AREAP ) pArea );
errCode = SELF_GOCOLD( &pArea->area );
if( pArea->fFlush )
{
@@ -1042,7 +1042,7 @@ static HB_ERRCODE hb_delimInfo( DELIMAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pI
}
default:
return SUPER_INFO( ( AREAP ) pArea, uiIndex, pItem );
return SUPER_INFO( &pArea->area, uiIndex, pItem );
}
return HB_SUCCESS;
@@ -1165,7 +1165,7 @@ static HB_ERRCODE hb_delimAddField( DELIMAREAP pArea, LPDBFIELDINFO pFieldInfo )
pArea->uiRecordLen += pFieldInfo->uiLen;
pArea->nBufferSize += pFieldInfo->uiLen + uiDelim + 1;
return SUPER_ADDFIELD( ( AREAP ) pArea, pFieldInfo );
return SUPER_ADDFIELD( &pArea->area, pFieldInfo );
}
/*
@@ -1175,7 +1175,7 @@ static HB_ERRCODE hb_delimSetFieldExtent( DELIMAREAP pArea, HB_USHORT uiFieldExt
{
HB_TRACE( HB_TR_DEBUG, ( "hb_delimSetFieldExtent(%p,%hu)", pArea, uiFieldExtent ) );
if( SUPER_SETFIELDEXTENT( ( AREAP ) pArea, uiFieldExtent ) == HB_FAILURE )
if( SUPER_SETFIELDEXTENT( &pArea->area, uiFieldExtent ) == HB_FAILURE )
return HB_FAILURE;
/* Alloc field offsets array */
@@ -1195,7 +1195,7 @@ static HB_ERRCODE hb_delimNewArea( DELIMAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_delimNewArea(%p)", pArea ) );
if( SUPER_NEW( ( AREAP ) pArea ) == HB_FAILURE )
if( SUPER_NEW( &pArea->area ) == HB_FAILURE )
return HB_FAILURE;
pArea->pFile = NULL;
@@ -1231,12 +1231,12 @@ static HB_ERRCODE hb_delimClose( DELIMAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_delimClose(%p)", pArea ) );
SUPER_CLOSE( ( AREAP ) pArea );
SUPER_CLOSE( &pArea->area );
/* Update record and unlock records */
if( pArea->pFile )
{
SELF_FLUSH( ( AREAP ) pArea );
SELF_FLUSH( &pArea->area );
hb_fileClose( pArea->pFile );
pArea->pFile = NULL;
}
@@ -1299,7 +1299,7 @@ static HB_ERRCODE hb_delimCreate( DELIMAREAP pArea, LPDBOPENINFO pCreateInfo )
if( hb_setGetDefExtension() && ! pFileName->szExtension )
{
PHB_ITEM pItem = hb_itemPutC( NULL, NULL );
SELF_INFO( ( AREAP ) pArea, DBI_TABLEEXT, pItem );
SELF_INFO( &pArea->area, DBI_TABLEEXT, pItem );
pFileName->szExtension = hb_itemGetCPtr( pItem );
hb_fsFNameMerge( szFileName, pFileName );
hb_itemRelease( pItem );
@@ -1330,7 +1330,7 @@ static HB_ERRCODE hb_delimCreate( DELIMAREAP pArea, LPDBOPENINFO pCreateInfo )
hb_errPutFileName( pError, szFileName );
hb_errPutFlags( pError, EF_CANRETRY | EF_CANDEFAULT );
}
fRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );
fRetry = ( SELF_ERROR( &pArea->area, pError ) == E_RETRY );
}
else
fRetry = HB_FALSE;
@@ -1343,17 +1343,17 @@ static HB_ERRCODE hb_delimCreate( DELIMAREAP pArea, LPDBOPENINFO pCreateInfo )
if( ! pArea->pFile )
return HB_FAILURE;
errCode = SUPER_CREATE( ( AREAP ) pArea, pCreateInfo );
errCode = SUPER_CREATE( &pArea->area, pCreateInfo );
if( errCode != HB_SUCCESS )
{
SELF_CLOSE( ( AREAP ) pArea );
SELF_CLOSE( &pArea->area );
return errCode;
}
hb_delimInitArea( pArea, szFileName );
/* Position cursor at the first record */
return SELF_GOTOP( ( AREAP ) pArea );
return SELF_GOTOP( &pArea->area );
}
/*
@@ -1391,7 +1391,7 @@ static HB_ERRCODE hb_delimOpen( DELIMAREAP pArea, LPDBOPENINFO pOpenInfo )
if( hb_setGetDefExtension() && ! pFileName->szExtension )
{
PHB_ITEM pFileExt = hb_itemPutC( NULL, NULL );
SELF_INFO( ( AREAP ) pArea, DBI_TABLEEXT, pFileExt );
SELF_INFO( &pArea->area, DBI_TABLEEXT, pFileExt );
pFileName->szExtension = hb_itemGetCPtr( pFileExt );
hb_fsFNameMerge( szFileName, pFileName );
hb_itemRelease( pFileExt );
@@ -1433,7 +1433,7 @@ static HB_ERRCODE hb_delimOpen( DELIMAREAP pArea, LPDBOPENINFO pOpenInfo )
hb_errPutFileName( pError, szFileName );
hb_errPutFlags( pError, EF_CANRETRY | EF_CANDEFAULT );
}
fRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );
fRetry = ( SELF_ERROR( &pArea->area, pError ) == E_RETRY );
}
else
fRetry = HB_FALSE;
@@ -1446,17 +1446,17 @@ static HB_ERRCODE hb_delimOpen( DELIMAREAP pArea, LPDBOPENINFO pOpenInfo )
if( ! pArea->pFile )
return HB_FAILURE;
errCode = SUPER_OPEN( ( AREAP ) pArea, pOpenInfo );
errCode = SUPER_OPEN( &pArea->area, pOpenInfo );
if( errCode != HB_SUCCESS )
{
SELF_CLOSE( ( AREAP ) pArea );
SELF_CLOSE( &pArea->area );
return HB_FAILURE;
}
hb_delimInitArea( pArea, szFileName );
/* Position cursor at the first record */
return SELF_GOTOP( ( AREAP ) pArea );
return SELF_GOTOP( &pArea->area );
}
/*

View File

@@ -225,7 +225,7 @@ static HB_ERRCODE hb_sdfGoTop( SDFAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfGoTop(%p)", pArea ) );
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
pArea->area.fTop = HB_TRUE;
@@ -236,7 +236,7 @@ static HB_ERRCODE hb_sdfGoTop( SDFAREAP pArea )
if( hb_sdfReadRecord( pArea ) != HB_SUCCESS )
return HB_FAILURE;
return SELF_SKIPFILTER( ( AREAP ) pArea, 1 );
return SELF_SKIPFILTER( &pArea->area, 1 );
}
/*
@@ -246,7 +246,7 @@ static HB_ERRCODE hb_sdfSkipRaw( SDFAREAP pArea, HB_LONG lToSkip )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfSkipRaw(%p,%ld)", pArea, lToSkip ) );
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
if( lToSkip != 1 )
@@ -301,7 +301,7 @@ static HB_ERRCODE hb_sdfRecId( SDFAREAP pArea, PHB_ITEM pRecNo )
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfRecId(%p,%p)", pArea, pRecNo ) );
errCode = SELF_RECNO( ( AREAP ) pArea, &ulRecNo );
errCode = SELF_RECNO( &pArea->area, &ulRecNo );
#ifdef HB_CLP_STRICT
/* this is for strict Clipper compatibility but IMHO Clipper should not
@@ -329,10 +329,10 @@ static HB_ERRCODE hb_sdfAppend( SDFAREAP pArea, HB_BOOL fUnLockAll )
HB_SYMBOL_UNUSED( fUnLockAll );
if( SELF_GOCOLD( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOCOLD( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
if( SELF_GOHOT( ( AREAP ) pArea ) != HB_SUCCESS )
if( SELF_GOHOT( &pArea->area ) != HB_SUCCESS )
return HB_FAILURE;
pArea->nRecordOffset = pArea->nFileSize;
@@ -466,7 +466,7 @@ static HB_ERRCODE hb_sdfGetValue( SDFAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pI
hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_DATATYPE ) );
hb_errPutOperation( pError, hb_dynsymName( ( PHB_DYNS ) pField->sym ) );
hb_errPutSubCode( pError, EDBF_DATATYPE );
SELF_ERROR( ( AREAP ) pArea, pError );
SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return HB_FAILURE;
}
@@ -587,7 +587,7 @@ static HB_ERRCODE hb_sdfPutValue( SDFAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pI
hb_errPutOperation( pError, hb_dynsymName( ( PHB_DYNS ) pField->sym ) );
hb_errPutSubCode( pError, errCode );
hb_errPutFlags( pError, EF_CANDEFAULT );
errCode = SELF_ERROR( ( AREAP ) pArea, pError );
errCode = SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return errCode == E_DEFAULT ? HB_SUCCESS : HB_FAILURE;
}
@@ -642,7 +642,7 @@ static HB_ERRCODE hb_sdfTrans( SDFAREAP pArea, LPDBTRANSINFO pTransInfo )
else
{
PHB_ITEM pPutRec = hb_itemPutL( NULL, HB_FALSE );
if( SELF_INFO( ( AREAP ) pTransInfo->lpaDest, DBI_CANPUTREC, pPutRec ) != HB_SUCCESS )
if( SELF_INFO( pTransInfo->lpaDest, DBI_CANPUTREC, pPutRec ) != HB_SUCCESS )
{
hb_itemRelease( pPutRec );
return HB_FAILURE;
@@ -654,7 +654,7 @@ static HB_ERRCODE hb_sdfTrans( SDFAREAP pArea, LPDBTRANSINFO pTransInfo )
hb_itemRelease( pPutRec );
}
}
return SUPER_TRANS( ( AREAP ) pArea, pTransInfo );
return SUPER_TRANS( &pArea->area, pTransInfo );
}
/*
@@ -678,7 +678,7 @@ static HB_ERRCODE hb_sdfGoCold( SDFAREAP pArea )
hb_errPutSubCode( pError, EDBF_WRITE );
hb_errPutOsCode( pError, hb_fsError() );
hb_errPutFileName( pError, pArea->szFileName );
SELF_ERROR( ( AREAP ) pArea, pError );
SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return HB_FAILURE;
}
@@ -705,7 +705,7 @@ static HB_ERRCODE hb_sdfGoHot( SDFAREAP pArea )
hb_errPutGenCode( pError, EG_READONLY );
hb_errPutDescription( pError, hb_langDGetErrorDesc( EG_READONLY ) );
hb_errPutSubCode( pError, EDBF_READONLY );
SELF_ERROR( ( AREAP ) pArea, pError );
SELF_ERROR( &pArea->area, pError );
hb_itemRelease( pError );
return HB_FAILURE;
}
@@ -722,7 +722,7 @@ static HB_ERRCODE hb_sdfFlush( SDFAREAP pArea )
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfFlush(%p)", pArea ) );
errCode = SELF_GOCOLD( ( AREAP ) pArea );
errCode = SELF_GOCOLD( &pArea->area );
if( pArea->fFlush )
{
@@ -792,7 +792,7 @@ static HB_ERRCODE hb_sdfInfo( SDFAREAP pArea, HB_USHORT uiIndex, PHB_ITEM pItem
}
default:
return SUPER_INFO( ( AREAP ) pArea, uiIndex, pItem );
return SUPER_INFO( &pArea->area, uiIndex, pItem );
}
return HB_SUCCESS;
@@ -906,7 +906,7 @@ static HB_ERRCODE hb_sdfAddField( SDFAREAP pArea, LPDBFIELDINFO pFieldInfo )
pArea->pFieldOffset[ pArea->area.uiFieldCount ] = pArea->uiRecordLen;
pArea->uiRecordLen += pFieldInfo->uiLen;
return SUPER_ADDFIELD( ( AREAP ) pArea, pFieldInfo );
return SUPER_ADDFIELD( &pArea->area, pFieldInfo );
}
/*
@@ -916,7 +916,7 @@ static HB_ERRCODE hb_sdfSetFieldExtent( SDFAREAP pArea, HB_USHORT uiFieldExtent
{
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfSetFieldExtent(%p,%hu)", pArea, uiFieldExtent ) );
if( SUPER_SETFIELDEXTENT( ( AREAP ) pArea, uiFieldExtent ) == HB_FAILURE )
if( SUPER_SETFIELDEXTENT( &pArea->area, uiFieldExtent ) == HB_FAILURE )
return HB_FAILURE;
/* Alloc field offsets array */
@@ -936,7 +936,7 @@ static HB_ERRCODE hb_sdfNewArea( SDFAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfNewArea(%p)", pArea ) );
if( SUPER_NEW( ( AREAP ) pArea ) == HB_FAILURE )
if( SUPER_NEW( &pArea->area ) == HB_FAILURE )
return HB_FAILURE;
pArea->pFile = NULL;
@@ -965,12 +965,12 @@ static HB_ERRCODE hb_sdfClose( SDFAREAP pArea )
{
HB_TRACE( HB_TR_DEBUG, ( "hb_sdfClose(%p)", pArea ) );
SUPER_CLOSE( ( AREAP ) pArea );
SUPER_CLOSE( &pArea->area );
/* Update record and unlock records */
if( pArea->pFile )
{
SELF_FLUSH( ( AREAP ) pArea );
SELF_FLUSH( &pArea->area );
hb_fileClose( pArea->pFile );
pArea->pFile = NULL;
}
@@ -1028,7 +1028,7 @@ static HB_ERRCODE hb_sdfCreate( SDFAREAP pArea, LPDBOPENINFO pCreateInfo )
if( hb_setGetDefExtension() && ! pFileName->szExtension )
{
PHB_ITEM pItem = hb_itemPutC( NULL, NULL );
SELF_INFO( ( AREAP ) pArea, DBI_TABLEEXT, pItem );
SELF_INFO( &pArea->area, DBI_TABLEEXT, pItem );
pFileName->szExtension = hb_itemGetCPtr( pItem );
hb_fsFNameMerge( szFileName, pFileName );
hb_itemRelease( pItem );
@@ -1059,7 +1059,7 @@ static HB_ERRCODE hb_sdfCreate( SDFAREAP pArea, LPDBOPENINFO pCreateInfo )
hb_errPutFileName( pError, szFileName );
hb_errPutFlags( pError, EF_CANRETRY | EF_CANDEFAULT );
}
fRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );
fRetry = ( SELF_ERROR( &pArea->area, pError ) == E_RETRY );
}
else
fRetry = HB_FALSE;
@@ -1072,17 +1072,17 @@ static HB_ERRCODE hb_sdfCreate( SDFAREAP pArea, LPDBOPENINFO pCreateInfo )
if( ! pArea->pFile )
return HB_FAILURE;
errCode = SUPER_CREATE( ( AREAP ) pArea, pCreateInfo );
errCode = SUPER_CREATE( &pArea->area, pCreateInfo );
if( errCode != HB_SUCCESS )
{
SELF_CLOSE( ( AREAP ) pArea );
SELF_CLOSE( &pArea->area );
return errCode;
}
hb_sdfInitArea( pArea, szFileName );
/* Position cursor at the first record */
return SELF_GOTOP( ( AREAP ) pArea );
return SELF_GOTOP( &pArea->area );
}
/*
@@ -1120,7 +1120,7 @@ static HB_ERRCODE hb_sdfOpen( SDFAREAP pArea, LPDBOPENINFO pOpenInfo )
if( hb_setGetDefExtension() && ! pFileName->szExtension )
{
PHB_ITEM pFileExt = hb_itemPutC( NULL, NULL );
SELF_INFO( ( AREAP ) pArea, DBI_TABLEEXT, pFileExt );
SELF_INFO( &pArea->area, DBI_TABLEEXT, pFileExt );
pFileName->szExtension = hb_itemGetCPtr( pFileExt );
hb_fsFNameMerge( szFileName, pFileName );
hb_itemRelease( pFileExt );
@@ -1162,7 +1162,7 @@ static HB_ERRCODE hb_sdfOpen( SDFAREAP pArea, LPDBOPENINFO pOpenInfo )
hb_errPutFileName( pError, szFileName );
hb_errPutFlags( pError, EF_CANRETRY | EF_CANDEFAULT );
}
fRetry = ( SELF_ERROR( ( AREAP ) pArea, pError ) == E_RETRY );
fRetry = ( SELF_ERROR( &pArea->area, pError ) == E_RETRY );
}
else
fRetry = HB_FALSE;
@@ -1175,17 +1175,17 @@ static HB_ERRCODE hb_sdfOpen( SDFAREAP pArea, LPDBOPENINFO pOpenInfo )
if( ! pArea->pFile )
return HB_FAILURE;
errCode = SUPER_OPEN( ( AREAP ) pArea, pOpenInfo );
errCode = SUPER_OPEN( &pArea->area, pOpenInfo );
if( errCode != HB_SUCCESS )
{
SELF_CLOSE( ( AREAP ) pArea );
SELF_CLOSE( &pArea->area );
return HB_FAILURE;
}
hb_sdfInitArea( pArea, szFileName );
/* Position cursor at the first record */
return SELF_GOTOP( ( AREAP ) pArea );
return SELF_GOTOP( &pArea->area );
}
/*

View File

@@ -867,7 +867,7 @@ static HB_ERRCODE hb_waOpen( AREAP pArea, LPDBOPENINFO pInfo )
( int ) pInfo->uiArea );
if( ! pArea->atomAlias )
{
SELF_CLOSE( ( AREAP ) pArea );
SELF_CLOSE( pArea );
return HB_FAILURE;
}
}
@@ -1194,23 +1194,23 @@ static HB_ERRCODE hb_waTransRec( AREAP pArea, LPDBTRANSINFO pTransInfo )
HB_TRACE( HB_TR_DEBUG, ( "hb_waTransRec(%p, %p)", pArea, pTransInfo ) );
/* Record deleted? */
errCode = SELF_DELETED( ( AREAP ) pArea, &bDeleted );
errCode = SELF_DELETED( pArea, &bDeleted );
if( errCode != HB_SUCCESS )
return errCode;
if( pTransInfo->uiFlags & DBTF_MATCH && pTransInfo->uiFlags & DBTF_PUTREC )
{
errCode = SELF_GETREC( ( AREAP ) pArea, &pRecord );
errCode = SELF_GETREC( pArea, &pRecord );
if( errCode != HB_SUCCESS )
return errCode;
/* Append a new record */
errCode = SELF_APPEND( ( AREAP ) pTransInfo->lpaDest, HB_TRUE );
errCode = SELF_APPEND( pTransInfo->lpaDest, HB_TRUE );
if( errCode != HB_SUCCESS )
return errCode;
/* Copy record */
errCode = SELF_PUTREC( ( AREAP ) pTransInfo->lpaDest, pRecord );
errCode = SELF_PUTREC( pTransInfo->lpaDest, pRecord );
}
else
{
@@ -1219,7 +1219,7 @@ static HB_ERRCODE hb_waTransRec( AREAP pArea, LPDBTRANSINFO pTransInfo )
HB_USHORT uiCount;
/* Append a new record */
errCode = SELF_APPEND( ( AREAP ) pTransInfo->lpaDest, HB_TRUE );
errCode = SELF_APPEND( pTransInfo->lpaDest, HB_TRUE );
if( errCode != HB_SUCCESS )
return errCode;
@@ -1227,11 +1227,10 @@ static HB_ERRCODE hb_waTransRec( AREAP pArea, LPDBTRANSINFO pTransInfo )
pTransItem = pTransInfo->lpTransItems;
for( uiCount = pTransInfo->uiItemCount; uiCount; --uiCount )
{
errCode = SELF_GETVALUE( ( AREAP ) pArea,
pTransItem->uiSource, pItem );
errCode = SELF_GETVALUE( pArea, pTransItem->uiSource, pItem );
if( errCode != HB_SUCCESS )
break;
errCode = SELF_PUTVALUE( ( AREAP ) pTransInfo->lpaDest,
errCode = SELF_PUTVALUE( pTransInfo->lpaDest,
pTransItem->uiDest, pItem );
if( errCode != HB_SUCCESS )
break;
@@ -1243,13 +1242,13 @@ static HB_ERRCODE hb_waTransRec( AREAP pArea, LPDBTRANSINFO pTransInfo )
/* Delete the new record if copy fail */
if( errCode != HB_SUCCESS )
{
SELF_DELETE( ( AREAP ) pTransInfo->lpaDest );
SELF_DELETE( pTransInfo->lpaDest );
return errCode;
}
/* Delete the new record */
if( bDeleted )
return SELF_DELETE( ( AREAP ) pTransInfo->lpaDest );
return SELF_DELETE( pTransInfo->lpaDest );
return HB_SUCCESS;
}
@@ -1504,7 +1503,7 @@ static HB_ERRCODE hb_waSetRel( AREAP pArea, LPDBRELINFO lpdbRelInf )
lpdbRelations->abKey = lpdbRelInf->abKey;
lpdbRelations->lpdbriNext = lpdbRelInf->lpdbriNext;
return SELF_CHILDSTART( ( AREAP ) lpdbRelInf->lpaChild, lpdbRelations );
return SELF_CHILDSTART( lpdbRelInf->lpaChild, lpdbRelations );
}
/*