:py:mod:`dissect.esedb.table` ============================= .. py:module:: dissect.esedb.table Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: dissect.esedb.table.Table dissect.esedb.table.Column dissect.esedb.table.Catalog .. py:class:: 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. :param esedb: An instance of :class:`~dissect.esedb.esedb.EseDB`. :param name: The table name. :param root_page: The root page of the table. :param columns: A list of :class:`Column` for this table. :param indexes: A list of :class:`~dissect.esedb.index.Index` for this table. :param record: The :class:`~dissect.esedb.record.Record` of this table from the catalog table. .. py:property:: column_names :type: list[str] Return a list of all the column names. .. py:method:: __repr__() -> str Return repr(self). .. py:method:: root() -> dissect.esedb.page.Page Return the root page of the table. .. py:method:: lv_page() -> dissect.esedb.page.Page Return the long value page of the table. :raises TypeError: If the table has no long values. .. py:method:: column(name: str) -> Column Return the column with the given name. :param name: The name of the column to return. :raises KeyError: If no column with the given name exists. .. py:method:: index(name: str) -> dissect.esedb.index.Index Return the index with the given name. :param name: The name of the index to return. :raises KeyError: If no index with the given name exists. .. py:method:: records() -> Iterator[dissect.esedb.record.Record] Return an iterator of all the records of the table. .. py:method:: get_long_value(key: bytes) -> bytes Retrieve a value from the long value page of the table. :param key: The lookup key for the long value. .. py:class:: Column(identifier: int, name: str, type_: dissect.esedb.c_esedb.JET_coltyp, record: dissect.esedb.record.Record = None) .. py:property:: offset :type: int .. py:method:: is_fixed() -> bool .. py:method:: is_variable() -> bool .. py:method:: is_tagged() -> bool .. py:method:: is_text() -> bool .. py:method:: is_binary() -> bool .. py:method:: size() -> int .. py:method:: default() -> Optional[Any] .. py:method:: encoding() -> Optional[dissect.esedb.c_esedb.CODEPAGE] .. py:method:: ctype() -> dissect.esedb.c_esedb.ColumnType .. py:method:: __repr__() -> str Return repr(self). .. py:class:: 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. :param esedb: An instance of :class:`~dissect.esedb.esedb.EseDB`. :param root_page: The root page of the catalog table. .. py:attribute:: CATALOG_COLUMNS .. py:method:: table(name: str) -> Table Retrieve the table with the given name. :param name: The table to retrieve. :raises KeyError: If no table with that name exists.