# RestExecutor (/docs/rest/api/interfaces/RestExecutor)



[@kysoql/rest](/docs/rest/api) / RestExecutor

Query executor backed by the Salesforce REST API.

## Extends [#extends]

* `QueryExecutor`

## Methods [#methods]

<a id="api-executequery" />

### executeQuery() [#executequery]

```ts
executeQuery<O>(query, options?): Promise<readonly O[]>;
```

Executes the query through `/query` and follows all result pages.

#### Type Parameters [#type-parameters]

| Type Parameter |
| -------------- |
| `O`            |

#### Parameters [#parameters]

| Parameter  | Type                                                                 |
| ---------- | -------------------------------------------------------------------- |
| `query`    | `CompiledQuery`\<`O`>                                                |
| `options?` | [`RestRequestOptions`](/docs/rest/api/interfaces/RestRequestOptions) |

#### Returns [#returns]

`Promise`\<readonly `O`\[]>

#### Overrides [#overrides]

```ts
QueryExecutor.executeQuery
```

***

<a id="api-executeallquery" />

### executeAllQuery() [#executeallquery]

```ts
executeAllQuery<O>(query, options?): Promise<readonly O[]>;
```

Executes the query through `/queryAll` and follows all result pages.

#### Type Parameters [#type-parameters-1]

| Type Parameter |
| -------------- |
| `O`            |

#### Parameters [#parameters-1]

| Parameter  | Type                                                                 |
| ---------- | -------------------------------------------------------------------- |
| `query`    | `CompiledQuery`\<`O`>                                                |
| `options?` | [`RestRequestOptions`](/docs/rest/api/interfaces/RestRequestOptions) |

#### Returns [#returns-1]

`Promise`\<readonly `O`\[]>

#### Overrides [#overrides-1]

```ts
QueryExecutor.executeAllQuery
```

***

<a id="api-executecountquery" />

### executeCountQuery() [#executecountquery]

```ts
executeCountQuery(query, options?): Promise<number>;
```

Executes `COUNT()` through `/query` and returns the count.

#### Parameters [#parameters-2]

| Parameter  | Type                                                                 |
| ---------- | -------------------------------------------------------------------- |
| `query`    | `CompiledQuery`\<`number`>                                           |
| `options?` | [`RestRequestOptions`](/docs/rest/api/interfaces/RestRequestOptions) |

#### Returns [#returns-2]

`Promise`\<`number`>

#### Overrides [#overrides-2]

```ts
QueryExecutor.executeCountQuery
```

***

<a id="api-executeallcountquery" />

### executeAllCountQuery() [#executeallcountquery]

```ts
executeAllCountQuery(query, options?): Promise<number>;
```

Executes `COUNT()` through `/queryAll` and returns the count.

#### Parameters [#parameters-3]

| Parameter  | Type                                                                 |
| ---------- | -------------------------------------------------------------------- |
| `query`    | `CompiledQuery`\<`number`>                                           |
| `options?` | [`RestRequestOptions`](/docs/rest/api/interfaces/RestRequestOptions) |

#### Returns [#returns-3]

`Promise`\<`number`>

#### Overrides [#overrides-3]

```ts
QueryExecutor.executeAllCountQuery
```

***

<a id="api-querypages" />

### queryPages() [#querypages]

```ts
queryPages<O>(query, options?): AsyncIterableIterator<RestQueryPage<O>>;
```

Streams validated root query pages while hydrating relationship subquery continuations.

#### Type Parameters [#type-parameters-2]

| Type Parameter |
| -------------- |
| `O`            |

#### Parameters [#parameters-4]

| Parameter  | Type                                                             |
| ---------- | ---------------------------------------------------------------- |
| `query`    | `CompiledQuery`\<`O`>                                            |
| `options?` | [`RestQueryOptions`](/docs/rest/api/interfaces/RestQueryOptions) |

#### Returns [#returns-4]

`AsyncIterableIterator`\<[`RestQueryPage`](/docs/rest/api/interfaces/RestQueryPage)\<`O`>>

***

<a id="api-iteratequery" />

### iterateQuery() [#iteratequery]

```ts
iterateQuery<O>(query, options?): AsyncIterableIterator<O>;
```

Streams individual records from `queryPages()` without collecting the full result set.

#### Type Parameters [#type-parameters-3]

| Type Parameter |
| -------------- |
| `O`            |

#### Parameters [#parameters-5]

| Parameter  | Type                                                             |
| ---------- | ---------------------------------------------------------------- |
| `query`    | `CompiledQuery`\<`O`>                                            |
| `options?` | [`RestQueryOptions`](/docs/rest/api/interfaces/RestQueryOptions) |

#### Returns [#returns-5]

`AsyncIterableIterator`\<`O`>
