QuestDB JavaScript Client - v5.0.0
    Preparing search index...

    Stateful decoder for connection-scoped QWP result batches.

    Index

    Constructors

    Properties

    maxBatchRows?: number

    Upper bound on a batch's declared row count, taken from the client's own maxBatchRows request.

    That request only ever reached the wire -- an upgrade header on Node, a query parameter in the browser -- and nothing checked the answer against it. Scratch arrays are sized from the declared row count and deliberately retained per pool slot for reuse, so a peer that ignores the request, or a hostile one, sets this session's memory floor for its lifetime: bounded only by QWP_MAX_CELLS_PER_BATCH times the pool size, which the cap's own comment puts at roughly half a gigabyte per slot.

    Left undefined the batch is bounded by the cell cap alone, as before.

    Methods

    • Applies the delta symbol dictionary carried by a batch whose rows are being discarded, without touching any per-query state.

      The dictionary is connection-scoped and cumulative: the server numbers entries from where the previous batch left off, on the connection rather than on the query. A batch dropped because its query was retired -- by a break out of the async iterator, a query deadline, or a throwing queryViews callback -- still carries the entries the server has since assigned, so skipping it entirely left this dictionary behind the server's. resetQuerySchema() deliberately does not clear the dictionary, so the gap survived into the next query and surfaced there as "delta symbol dictionary is out of sync", naming data the caller never asked for.

      The dictionary sits at the front of the body, so this reads only as far as it needs to and never decodes the rows it is throwing away.

      Parameters

      Returns void