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; }
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; }
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 }