Skip to content

PgCustomScanContext

Namespace: Ankus

Assembly: Ankus.Runtime.dll

Describes a custom scan the executor is starting.

public readonly ref struct PgCustomScanContext

The context is valid only during Begin(PgCustomScanContext). Copy Data to keep it.

Gets the data the chosen path carried from Data.

public ReadOnlySpan<byte> Data { get; }

Value: ReadOnlySpan<byte>

Gets the table’s columns, including dropped columns, in the order rows hold them.

public PgTupleDescriptor Descriptor { get; }

Value: PgTupleDescriptor

Gets whether the executor only explains the plan and will not request rows.

public bool IsExplainOnly { get; }

Value: bool

Gets the scanned table’s OID.

public uint RelationOid { get; }

Value: uint

Gets whether PostgreSQL reads a column from the scan’s rows, for the query’s output or its conditions.

public bool IsColumnRead(int ordinal)

Parameters:

ordinal — int

The column’s zero-based position in Descriptor.

Returns: bool

Whether the column is read. A provider can leave a column that PostgreSQL does not read unset, even when the column is NOT NULL, and skip the work of producing it.

Exceptions: