dissect.database.ese.index¶
Module Contents¶
Classes¶
Represents an index on a table. |
Functions¶
Encode various values into their normalized index key form. |
Attributes¶
- dissect.database.ese.index.JET_cbKeyMost_OLD = 255¶
- class dissect.database.ese.index.Index(table: dissect.database.ese.table.Table, record: dissect.database.ese.record.Record | None = None)¶
Represents an index on a table.
This is still very much WIP but works for basic indexes. For example, none of the special flags are currently implemented.
- Parameters:
table – The table this index is from.
record – The record in the catalog for this index.
- table¶
- record = None¶
- db¶
- name¶
- idb_flags¶
- idx_flags¶
- __repr__() str¶
- property is_primary: bool¶
- property root: dissect.database.ese.page.Page¶
Return the root page of this index.
- property column_ids: list[int]¶
Return a list of column IDs that are used in this index.
- property columns: list[dissect.database.ese.table.Column]¶
Return a list of all columns that are used in this index.
- cursor() dissect.database.ese.cursor.Cursor¶
Create a new cursor for this index.
- search(**kwargs) dissect.database.ese.record.Record¶
Search the index for the requested values.
- Parameters:
**kwargs – The columns and values to search for.
- Returns:
A
Recordobject of the found record.
- search_key(key: bytes) dissect.database.ese.page.Node¶
Search the index for a specific
key.- Parameters:
key – The key to search for.
- Returns:
A
Nodeobject of the found node.
- key_from_record(record: dissect.database.ese.record.Record) bytes¶
Generate a key for this index from a record.
- Parameters:
record – The record to generate a key for.
- dissect.database.ese.index.bPrefixNull = 0¶
- dissect.database.ese.index.bPrefixZeroLength = 64¶
- dissect.database.ese.index.bPrefixNullHigh = 192¶
- dissect.database.ese.index.bPrefixData = 127¶
- dissect.database.ese.index.bSentinel = 255¶
- dissect.database.ese.index.encode_key(index: Index, column: dissect.database.ese.table.Column, value: dissect.database.ese.util.RecordValue, max_size: int) bytes¶
Encode various values into their normalized index key form.
- Parameters:
column – The column of the value to encode.
value – The value that needs encoding.
max_size – The maximum key segment size.