2001-10-08 23:12 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>

This commit is contained in:
Alexander S.Kresin
2001-10-08 19:12:44 +00:00
parent 5c09111ff0
commit 8c4c9409d8
3 changed files with 28 additions and 7 deletions

View File

@@ -1,3 +1,8 @@
2001-10-08 23:12 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
! source/rdd/dbf1.c
! source/rdd/workarea.c
* relations implemented for RDD's, inherited from DBF ( DBFNTX AND DBFCDX )
2001-10-06 15:28 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
! source/rdd/dbfntx/dbfntx1.c
! Few fixes

View File

@@ -2229,6 +2229,7 @@ ERRCODE hb_dbfForceRel( DBFAREAP pArea )
lpdbPendingRel = pArea->lpdbPendingRel;
pArea->lpdbPendingRel = NULL;
uiError = SELF_RELEVAL( ( AREAP ) pArea, lpdbPendingRel );
/*
if( uiError == SUCCESS && !lpdbPendingRel->lpaParent->fEof &&
HB_IS_NUMERIC( pArea->valResult ) )
ulRecNo = hb_itemGetNL( pArea->valResult );
@@ -2237,6 +2238,7 @@ ERRCODE hb_dbfForceRel( DBFAREAP pArea )
uiError = SELF_GOTO( ( AREAP ) pArea, ulRecNo );
pArea->fFound = pArea->fPositioned;
pArea->fBof = FALSE;
*/
return uiError;
}
return SUCCESS;

View File

@@ -696,10 +696,17 @@ ERRCODE hb_waChildStart( AREAP pArea, LPDBRELINFO pRelInfo )
*/
ERRCODE hb_waSyncChildren( AREAP pArea )
{
HB_TRACE(HB_TR_DEBUG, ("hb_waSyncChildren(%p)", pArea));
HB_SYMBOL_UNUSED( pArea );
printf( "\nTODO: hb_waSyncChildren()\n" );
LPDBRELINFO lpdbRelation;
HB_TRACE(HB_TR_DEBUG, ("hb_waSyncChildren(%p)", pArea));
lpdbRelation = pArea->lpdbRelations;
while( lpdbRelation )
{
SELF_CHILDSYNC( lpdbRelation->lpaChild, lpdbRelation );
lpdbRelation = lpdbRelation->lpdbriNext;
}
return SUCCESS;
}
@@ -765,12 +772,18 @@ ERRCODE hb_waRelArea( AREAP pArea, USHORT uiRelNo, void * pRelArea )
*/
ERRCODE hb_waRelEval( AREAP pArea, LPDBRELINFO pRelInfo )
{
int iChildArea, iCurrArea;
PHB_ITEM pResult;
HB_TRACE(HB_TR_DEBUG, ("hb_waRelEval(%p, %p)", pArea, pRelInfo));
HB_SYMBOL_UNUSED( pArea );
HB_SYMBOL_UNUSED( pRelInfo );
printf( "\nTODO: hb_waRelEval()\n" );
return SUCCESS;
iCurrArea = hb_rddGetCurrentWorkAreaNumber();
hb_rddSelectWorkAreaNumber( pRelInfo->lpaParent->uiArea );
pResult = hb_vmEvalBlock( pRelInfo->itmCobExpr );
hb_rddSelectWorkAreaNumber( iCurrArea );
if( SELF_SEEK( pArea, 0, pResult, 0 ) == SUCCESS )
return SUCCESS;
else
return FAILURE;
}
/*
@@ -822,6 +835,7 @@ ERRCODE hb_waSetRel( AREAP pArea, LPDBRELINFO lpdbRelInf )
lpdbRelations->lpdbriNext = ( LPDBRELINFO ) hb_xgrab( sizeof( DBRELINFO ) );
lpdbRelations = lpdbRelations->lpdbriNext;
}
lpdbRelations->lpaParent = pArea;
lpdbRelations->lpaChild = lpdbRelInf->lpaChild;
lpdbRelations->itmCobExpr = lpdbRelInf->itmCobExpr;
lpdbRelations->abKey = lpdbRelInf->abKey;