dissect.esedb.table

Module Contents

Classes

Table

Represents a table in an ESE database.

Column

Catalog

Parse and interact with the catalog table.

class dissect.esedb.table.Table(esedb: dissect.esedb.esedb.EseDB, name: str, root_page: int, columns: list[Column] = None, indexes: list[dissect.esedb.index.Index] = None, record: dissect.esedb.record.Record = None)

Represents a table in an ESE database.

Contains all the relevant metadata of the table, as well as all columns and indices that have been added by the catalog.

Parameters:
  • esedb – An instance of EseDB.

  • name – The table name.

  • root_page – The root page of the table.

  • columns – A list of Column for this table.

  • indexes – A list of Index for this table.

  • record – The Record of this table from the catalog table.

property column_names: list[str]

Return a list of all the column names.

__repr__() str

Return repr(self).

root() dissect.esedb.page.Page

Return the root page of the table.

lv_page() dissect.esedb.page.Page

Return the long value page of the table.

Raises:

TypeError – If the table has no long values.

column(name: str) Column

Return the column with the given name.

Parameters:

name – The name of the column to return.

Raises:

KeyError – If no column with the given name exists.

index(name: str) dissect.esedb.index.Index

Return the index with the given name.

Parameters:

name – The name of the index to return.

Raises:

KeyError – If no index with the given name exists.

records() Iterator[dissect.esedb.record.Record]

Return an iterator of all the records of the table.

get_long_value(key: bytes) bytes

Retrieve a value from the long value page of the table.

Parameters:

key – The lookup key for the long value.

class dissect.esedb.table.Column(identifier: int, name: str, type_: dissect.esedb.c_esedb.JET_coltyp, record: dissect.esedb.record.Record = None)
property offset: int
is_fixed() bool
is_variable() bool
is_tagged() bool
is_text() bool
is_binary() bool
size() int
default() Any | None
encoding() dissect.esedb.c_esedb.CODEPAGE | None
ctype() dissect.esedb.c_esedb.ColumnType
__repr__() str

Return repr(self).

class dissect.esedb.table.Catalog(esedb: dissect.esedb.esedb.EseDB, root_page: dissect.esedb.page.Page)

Parse and interact with the catalog table.

The catalog is a special table that contains the metadata for all the other tables in the database.

Parameters:
  • esedb – An instance of EseDB.

  • root_page – The root page of the catalog table.

CATALOG_COLUMNS
table(name: str) Table

Retrieve the table with the given name.

Parameters:

name – The table to retrieve.

Raises:

KeyError – If no table with that name exists.