Scan

source: bluebase/rm/scan.py


dataclassclass RmPredicate(name: str, comp: Comp, value: bool | int | float | str, domain: Domain, offset: int)[source]

Bases: Predicate

file scan을 위한 predicate를 나타내는 dataclass 클래스입니다.

Variables:
  • domain (Domain)

  • offset (int)

slice() → slice[source]
validate_offset(record_size: int) → None[source]
Raises:

RmRecordOutOfRangeError –

evaluate_record(record: RmRecord) → bool[source]
Raises:

RmRecordOutOfRangeError –

dataclassclass RmScanCursor(pid: RmPageId, sid: RmSlotId)[source]

Bases: object

Variables:
class RmFileScan(file: RmFile, predicate: RmPredicate | None = None)[source]

Bases: object

Variables:
Raises:

RmRecordOutOfRangeError –

__iter__() → Iterator[RmRecord][source]

file scan을 순회하는 iterator를 반환합니다.

assignment__next__() → RmRecord[source]
Raises:

StopIteration –

optional_init_cursor() → None[source]

Hint

이런 함수가 있으면 편하다!

optional_advance_cursor() → None[source]

Hint

이런 함수가 있으면 편하다!

optional_fetch_record() → RmRecord | None[source]

Hint

이런 함수가 있으면 편하다!

optional_match_record(record: RmRecord) → bool[source]

Hint

이런 함수가 있으면 편하다!