> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Class: QueryExecution<Row>

> A reference to one execution, never authority to read it.

[browser](/api/modules/browser).QueryExecution

A reference to one execution, never authority to read it.

## Type parameters

| Name | Type |
| :- | :- |
| `Row` | `Record`\<`string`, [`Value`](/api/modules/values#value)> |

## Hierarchy

* **`QueryExecution`**

  ↳ [`QueryReservation`](/api/classes/browser.QueryReservation)

## Constructors

### constructor

• **new QueryExecution**\<`Row`>(`transport`, `executionId`, `initial?`, `recovery?`)

#### Type parameters

| Name | Type |
| :- | :- |
| `Row` | `Record`\<`string`, [`Value`](/api/modules/values#value)> |

#### Parameters

| Name | Type |
| :- | :- |
| `transport` | [`QueryTransport`](/api/interfaces/browser.QueryTransport) |
| `executionId` | [`QueryExecutionId`](/api/modules/server#queryexecutionid)\<`Row`> |
| `initial?` | [`QueryExecutionState`](/api/modules/server#queryexecutionstate)\<`Row`> |
| `recovery?` | [`QueryRecovery`](/api/interfaces/browser.QueryRecovery) \| () => `Promise`\<[`QueryRecovery`](/api/interfaces/browser.QueryRecovery)> |

## Properties

### transport

• `Protected` `Readonly` **transport**: [`QueryTransport`](/api/interfaces/browser.QueryTransport)

***

### executionId

• `Readonly` **executionId**: [`QueryExecutionId`](/api/modules/server#queryexecutionid)\<`Row`>

## Methods

### snapshot

▸ `Readonly` **snapshot**(): [`QuerySnapshot`](/api/modules/browser#querysnapshot)\<`Row`>

#### Returns

[`QuerySnapshot`](/api/modules/browser#querysnapshot)\<`Row`>

***

### subscribe

▸ `Readonly` **subscribe**(`listener`): () => `void`

#### Parameters

| Name | Type |
| :- | :- |
| `listener` | () => `void` |

#### Returns

`fn`

▸ (): `void`

##### Returns

`void`

***

### update

▸ `Protected` **update**(`change`): `void`

#### Parameters

| Name | Type |
| :- | :- |
| `change` | `Partial`\<[`QuerySnapshot`](/api/modules/browser#querysnapshot)\<`Row`>> |

#### Returns

`void`

***

### get

▸ **get**(): `Promise`\<[`QueryExecutionState`](/api/modules/server#queryexecutionstate)\<`Row`>>

#### Returns

`Promise`\<[`QueryExecutionState`](/api/modules/server#queryexecutionstate)\<`Row`>>

***

### wait

▸ **wait**(`options?`): `Promise`\<\{ `executionId`: [`QueryExecutionId`](/api/modules/server#queryexecutionid)\<`Row`> ; `deadline`: `string` ; `expiresAt`: `string`  } & \{ `state`: `"ready"` ; `plan`: [`QueryPlan`](/api/interfaces/server.QueryPlan) ; `basis`: \{ `kind`: `"statement"` ; `provider`: `"snowflake"` | `"databricks"`  } | \{ `kind`: `"federated"` ; `localRevision?`: `string` ; `remote`: \{ `kind`: `"statement"` ; `provider`: `"snowflake"` | `"databricks"` ; `tables`: `string`\[]  }\[]  } ; `rowCount`: `number`  }>

#### Parameters

| Name | Type |
| :- | :- |
| `options` | `Object` |
| `options.signal?` | `AbortSignal` |

#### Returns

`Promise`\<\{ `executionId`: [`QueryExecutionId`](/api/modules/server#queryexecutionid)\<`Row`> ; `deadline`: `string` ; `expiresAt`: `string`  } & \{ `state`: `"ready"` ; `plan`: [`QueryPlan`](/api/interfaces/server.QueryPlan) ; `basis`: \{ `kind`: `"statement"` ; `provider`: `"snowflake"` | `"databricks"`  } | \{ `kind`: `"federated"` ; `localRevision?`: `string` ; `remote`: \{ `kind`: `"statement"` ; `provider`: `"snowflake"` | `"databricks"` ; `tables`: `string`\[]  }\[]  } ; `rowCount`: `number`  }>

***

### pages

▸ **pages**(`options?`): `AsyncGenerator`\<[`QueryPage`](/api/modules/server#querypage)\<`Row`>, `any`, `unknown`>

#### Parameters

| Name | Type |
| :- | :- |
| `options` | `Object` |
| `options.cursor?` | `string` |
| `options.limit?` | `number` |
| `options.signal?` | `AbortSignal` |

#### Returns

`AsyncGenerator`\<[`QueryPage`](/api/modules/server#querypage)\<`Row`>, `any`, `unknown`>

***

### result

▸ **result**(`options?`): `Promise`\<[`QueryResult`](/api/interfaces/server.QueryResult)\<`Row`>>

Collect the same complete result, within the native row and byte bounds.

#### Parameters

| Name | Type |
| :- | :- |
| `options` | `Object` |
| `options.signal?` | `AbortSignal` |

#### Returns

`Promise`\<[`QueryResult`](/api/interfaces/server.QueryResult)\<`Row`>>

***

### cancel

▸ **cancel**(): `Promise`\<[`QueryControl`](/api/interfaces/server.QueryControl)\<`Row`>>

#### Returns

`Promise`\<[`QueryControl`](/api/interfaces/server.QueryControl)\<`Row`>>

***

### release

▸ **release**(): `Promise`\<[`QueryControl`](/api/interfaces/server.QueryControl)\<`Row`>>

#### Returns

`Promise`\<[`QueryControl`](/api/interfaces/server.QueryControl)\<`Row`>>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.