Example #1
0
HRESULT Table::RemoveCurrentIndexRange()
{
    const JET_ERR jetErr = JetSetIndexRange(sesId_, tableId_, JET_bitRangeRemove);
    if (jetErr != JET_errSuccess)
    {
        SetLastErrorDesc(Error("JetSetIndexRange(JET_bitRangeRemove)", jetErr, __FUNCTION__));
        return E_FAIL;
    }
    return S_OK;
}
Example #2
0
HRESULT Table::SetIndexRange(RangeType rangeType, RangeUpperLimit rangeUpperLimit)
{
    JET_GRBIT grBit = 0;
    if (rangeType == RangeType::Inclusive)
    {
        grBit |= JET_bitRangeInclusive;
    }
    if (rangeUpperLimit == RangeUpperLimit::Set)
    {
        grBit |= JET_bitRangeUpperLimit;
    }
    const JET_ERR jetErr = JetSetIndexRange(sesId_, tableId_, grBit);
    if (jetErr != JET_errSuccess)
    {
        SetLastErrorDesc(Error("JetSetIndexRange(JET_bitRangeRemove)", jetErr, __FUNCTION__));
        return E_FAIL;
    }
    return S_OK;    
}
Example #3
0
VOID ResumePrune(
    IN      PRPL_SESSION    pSession,
    IN      DWORD           ServerHandle
    )
/*++
    This function returns no errors, since failure to delete old resume handles
    is not considered fatal (and there is very little we can do about this).
--*/
{
    JET_ERR     JetError;

#ifdef RPL_DEBUG
    if ( RG_DebugLevel == (DWORD)(-1)) {
        ResumeList( pSession, "++ResumePrune");
    }
#endif // RPL_DEBUG
    CallR( JetSetCurrentIndex( pSession->SesId, pSession->ResumeTableId, RESUME_INDEX_ServerHandle));
    CallR( JetMakeKey( pSession->SesId, pSession->ResumeTableId, &ServerHandle,
            sizeof( ServerHandle), JET_bitNewKey));
#ifdef NOT_YET
    JetError = JetSeek( pSession->SesId, pSession->ResumeTableId, JET_bitSeekEQ);
#else
    JetError = JetSeek( pSession->SesId, pSession->ResumeTableId, JET_bitSeekEQ | JET_bitSetIndexRange);
#endif
    if ( JetError == JET_errSuccess) {
#ifdef NOT_YET
        CallR( JetMakeKey( pSession->SesId, pSession->ResumeTableId, &ServerHandle,
                sizeof( ServerHandle), JET_bitNewKey));
        CallR( JetSetIndexRange( pSession->SesId, pSession->ResumeTableId,
            JET_bitRangeInclusive | JET_bitRangeUpperLimit));
#endif
        do {
            Call( JetDelete( pSession->SesId, pSession->ResumeTableId));
            JetError = JetMove( pSession->SesId, pSession->ResumeTableId, JET_MoveNext, 0);
        } while ( JetError == JET_errSuccess);
    }
#ifdef RPL_DEBUG
    if ( RG_DebugLevel == (DWORD)(-1)) {
        ResumeList( pSession, "--ResumePrune");
    }
#endif // RPL_DEBUG
}