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

# SqlIterator

<div className="kinetica-typedoc">
  <div className="section tsd-panel tsd-member">
    <h3 className="tsd-anchor-link" id="sqliterator"><span>SqlIterator</span></h3>

    <ul className="tsd-signatures">
      <li className="">
        <div className="tsd-signature tsd-anchor-link" id="sqliterator-1"><span className="tsd-kind-call-signature">SqlIterator</span><span className="tsd-signature-symbol">(</span><br /> <span className="tsd-kind-parameter">sql</span><span className="tsd-signature-symbol">:</span> <span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">,</span><br /> <span className="tsd-kind-parameter">batchSize</span><span className="tsd-signature-symbol">?:</span> <span className="tsd-signature-type">number</span><span className="tsd-signature-symbol">,</span><br /> <span className="tsd-kind-parameter">sqlOptions</span><span className="tsd-signature-symbol">?:</span> <span className="tsd-signature-type">Record</span><span className="tsd-signature-symbol">\<</span><span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">></span><span className="tsd-signature-symbol">,</span><br /><span className="tsd-signature-symbol">)</span><span className="tsd-signature-symbol">:</span> <span className="tsd-signature-type">AsyncGenerator</span><span className="tsd-signature-symbol">\<</span><span className="tsd-signature-type">Record</span><span className="tsd-signature-symbol">\<</span><span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">any</span><span className="tsd-signature-symbol">></span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">void</span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">undefined</span><span className="tsd-signature-symbol">></span></div>

        <div className="tsd-description">
          <div className="tsd-comment tsd-typography">
            <p>Iterates the results of an SQL statement, fetching in batches.</p>
            <p>Pages through the result set so arbitrarily large queries can be consumed without holding everything in memory at once, cleaning up any server-side paging tables when iteration finishes -- including when the caller breaks out of the loop early.</p>
            <p>Records are yielded as objects keyed by column name. This differs from the JavaScript API, which yields positional arrays; use <code>Object.values(record)</code> if you need those.</p>
          </div>

          <div className="tsd-parameters">
            <h4 className="tsd-parameters-title">Parameters</h4>

            <ul className="tsd-parameter-list">
              <li>
                <span><span className="tsd-kind-parameter">sql</span>: <span className="tsd-signature-type">string</span></span>

                <div className="tsd-comment tsd-typography">
                  <p>The SQL statement to execute</p>
                </div>
              </li>

              <li>
                <span><span className="tsd-kind-parameter">batchSize</span>: <span className="tsd-signature-type">number</span><span className="tsd-signature-symbol"> = 10000</span></span>

                <div className="tsd-comment tsd-typography">
                  <p>Records to fetch per batch; defaults to 10000</p>
                </div>
              </li>

              <li>
                <span><span className="tsd-kind-parameter">sqlOptions</span>: <span className="tsd-signature-type">Record</span><span className="tsd-signature-symbol">\<</span><span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">></span><span className="tsd-signature-symbol"> = {"{"}{"}"}</span></span>

                <div className="tsd-comment tsd-typography">
                  <p>Options passed through to <code>/execute/sql</code></p>
                </div>
              </li>
            </ul>
          </div>

          <h4 className="tsd-returns-title">Returns <span className="tsd-signature-type">AsyncGenerator</span><span className="tsd-signature-symbol">\<</span><span className="tsd-signature-type">Record</span><span className="tsd-signature-symbol">\<</span><span className="tsd-signature-type">string</span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">any</span><span className="tsd-signature-symbol">></span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">void</span><span className="tsd-signature-symbol">,</span> <span className="tsd-signature-type">undefined</span><span className="tsd-signature-symbol">></span></h4>

          <div className="tsd-comment tsd-typography">
            <div className="tsd-tag-example">
              <h4 className="tsd-anchor-link" id="example-4">Example</h4>

              <div>
                ```
                for await (const row of gpudb.SqlIterator('SELECT * FROM big_table')) {
                    console.log(row.id, row.name);
                }
                ```
              </div>
            </div>
          </div>

          <div className="aside tsd-sources">
            <ul>
              <li>Defined in <a href="https://github.com/kineticadb/kinetica-api-typescript/blob/master/src/GPUdb.ts#L16103">src/GPUdb.ts:16103</a></li>
            </ul>
          </div>
        </div>
      </li>
    </ul>
  </div>
</div>


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