2015-03-17 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* src/rdd/workarea.c
    % small simplification
This commit is contained in:
Przemysław Czerpak
2015-03-17 13:35:57 +01:00
parent 66bf4f5867
commit c98c7b1597
2 changed files with 96 additions and 95 deletions

View File

@@ -10,6 +10,10 @@
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
*/
2015-03-17 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/workarea.c
% small simplification
2015-03-17 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/dbcmd.c
! fixed __dbArrange() to allow record transfer with the same conditions

View File

@@ -1077,6 +1077,8 @@ static HB_ERRCODE hb_waEval( AREAP pArea, LPDBEVALINFO pEvalInfo )
else if( pEvalInfo->dbsci.lNext )
{
lNext = hb_itemGetNL( pEvalInfo->dbsci.lNext );
if( lNext <= 0 )
return HB_SUCCESS;
}
else if( ! pEvalInfo->dbsci.itmCobWhile &&
! hb_itemGetLX( pEvalInfo->dbsci.fRest ) )
@@ -1087,45 +1089,42 @@ static HB_ERRCODE hb_waEval( AREAP pArea, LPDBEVALINFO pEvalInfo )
/* TODO: use SKIPSCOPE() method and fRest parameter */
if( ! pEvalInfo->dbsci.lNext || lNext > 0 )
for( ;; )
{
for( ;; )
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
return HB_FAILURE;
if( fEof )
break;
if( pEvalInfo->dbsci.itmCobWhile )
{
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
return HB_FAILURE;
if( fEof )
if( ! hb_itemGetLX( pArea->valResult ) )
break;
}
if( pEvalInfo->dbsci.itmCobWhile )
{
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
return HB_FAILURE;
if( ! hb_itemGetLX( pArea->valResult ) )
break;
}
if( pEvalInfo->dbsci.itmCobFor )
{
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobFor ) != HB_SUCCESS )
return HB_FAILURE;
fFor = hb_itemGetLX( pArea->valResult );
}
else
fFor = HB_TRUE;
if( pEvalInfo->dbsci.itmCobFor )
{
if( SELF_EVALBLOCK( pArea, pEvalInfo->dbsci.itmCobFor ) != HB_SUCCESS )
return HB_FAILURE;
fFor = hb_itemGetLX( pArea->valResult );
}
else
fFor = HB_TRUE;
if( fFor )
{
if( SELF_EVALBLOCK( pArea, pEvalInfo->itmBlock ) != HB_SUCCESS )
return HB_FAILURE;
}
if( pEvalInfo->dbsci.itmRecID || ( pEvalInfo->dbsci.lNext && --lNext < 1 ) )
break;
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
if( fFor )
{
if( SELF_EVALBLOCK( pArea, pEvalInfo->itmBlock ) != HB_SUCCESS )
return HB_FAILURE;
}
if( pEvalInfo->dbsci.itmRecID || ( pEvalInfo->dbsci.lNext && --lNext < 1 ) )
break;
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
return HB_FAILURE;
}
return HB_SUCCESS;
@@ -1157,6 +1156,8 @@ static HB_ERRCODE hb_waLocate( AREAP pArea, HB_BOOL fContinue )
else if( pArea->dbsi.lNext )
{
lNext = hb_itemGetNL( pArea->dbsi.lNext );
if( lNext <= 0 )
return HB_SUCCESS;
}
else if( ! pArea->dbsi.itmCobWhile &&
! hb_itemGetLX( pArea->dbsi.fRest ) )
@@ -1169,48 +1170,45 @@ static HB_ERRCODE hb_waLocate( AREAP pArea, HB_BOOL fContinue )
/* TODO: use SKIPSCOPE() method and fRest parameter */
if( ! pArea->dbsi.lNext || lNext > 0 )
for( ;; )
{
for( ;; )
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
return HB_FAILURE;
if( fEof )
break;
if( ! fContinue && pArea->dbsi.itmCobWhile )
{
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobWhile ) != HB_SUCCESS )
return HB_FAILURE;
if( ! hb_itemGetLX( pArea->valResult ) )
break;
}
if( ! pArea->dbsi.itmCobFor )
{
pArea->fFound = HB_TRUE;
break;
}
else
{
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobFor ) != HB_SUCCESS )
return HB_FAILURE;
if( fEof )
break;
if( ! fContinue && pArea->dbsi.itmCobWhile )
{
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobWhile ) != HB_SUCCESS )
return HB_FAILURE;
if( ! hb_itemGetLX( pArea->valResult ) )
break;
}
if( ! pArea->dbsi.itmCobFor )
if( hb_itemGetLX( pArea->valResult ) )
{
pArea->fFound = HB_TRUE;
break;
}
else
{
if( SELF_EVALBLOCK( pArea, pArea->dbsi.itmCobFor ) != HB_SUCCESS )
return HB_FAILURE;
if( hb_itemGetLX( pArea->valResult ) )
{
pArea->fFound = HB_TRUE;
break;
}
}
if( ! fContinue &&
( pArea->dbsi.itmRecID || ( pArea->dbsi.lNext && --lNext < 1 ) ) )
break;
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
return HB_FAILURE;
}
if( ! fContinue &&
( pArea->dbsi.itmRecID || ( pArea->dbsi.lNext && --lNext < 1 ) ) )
break;
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
return HB_FAILURE;
}
return HB_SUCCESS;
@@ -1234,6 +1232,8 @@ static HB_ERRCODE hb_waTrans( AREAP pArea, LPDBTRANSINFO pTransInfo )
else if( pTransInfo->dbsci.lNext )
{
lNext = hb_itemGetNL( pTransInfo->dbsci.lNext );
if( lNext <= 0 )
return HB_SUCCESS;
}
else if( ! pTransInfo->dbsci.itmCobWhile &&
! hb_itemGetLX( pTransInfo->dbsci.fRest ) )
@@ -1244,45 +1244,42 @@ static HB_ERRCODE hb_waTrans( AREAP pArea, LPDBTRANSINFO pTransInfo )
/* TODO: use SKIPSCOPE() method and fRest parameter */
if( ! pTransInfo->dbsci.lNext || lNext > 0 )
for( ;; )
{
for( ;; )
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
return HB_FAILURE;
if( fEof )
break;
if( pTransInfo->dbsci.itmCobWhile )
{
if( SELF_EOF( pArea, &fEof ) != HB_SUCCESS )
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
return HB_FAILURE;
if( fEof )
if( ! hb_itemGetLX( pArea->valResult ) )
break;
}
if( pTransInfo->dbsci.itmCobWhile )
{
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobWhile ) != HB_SUCCESS )
return HB_FAILURE;
if( ! hb_itemGetLX( pArea->valResult ) )
break;
}
if( pTransInfo->dbsci.itmCobFor )
{
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobFor ) != HB_SUCCESS )
return HB_FAILURE;
fFor = hb_itemGetLX( pArea->valResult );
}
else
fFor = HB_TRUE;
if( pTransInfo->dbsci.itmCobFor )
{
if( SELF_EVALBLOCK( pArea, pTransInfo->dbsci.itmCobFor ) != HB_SUCCESS )
return HB_FAILURE;
fFor = hb_itemGetLX( pArea->valResult );
}
else
fFor = HB_TRUE;
if( fFor )
{
if( SELF_TRANSREC( pArea, pTransInfo ) != HB_SUCCESS )
return HB_FAILURE;
}
if( pTransInfo->dbsci.itmRecID || ( pTransInfo->dbsci.lNext && --lNext < 1 ) )
break;
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
if( fFor )
{
if( SELF_TRANSREC( pArea, pTransInfo ) != HB_SUCCESS )
return HB_FAILURE;
}
if( pTransInfo->dbsci.itmRecID || ( pTransInfo->dbsci.lNext && --lNext < 1 ) )
break;
if( SELF_SKIP( pArea, 1 ) != HB_SUCCESS )
return HB_FAILURE;
}
return HB_SUCCESS;