> ## 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.

# executeSqlRaw

<div className="kinetica-javadoc">
  <ul className="member-list">
    <li>
      <div className="section detail" id="executeSqlRaw(com.gpudb.protocol.ExecuteSqlRequest)">
        <h3>executeSqlRaw</h3>
        <div className="member-signature"><span className="modifiers">public</span> <span className="return-type"><a href="/content/api/java/com/gpudb/protocol/RawExecuteSqlResponse" title="class in com.gpudb.protocol">RawExecuteSqlResponse</a></span> <span className="element-name">executeSqlRaw</span><wbr /><span className="parameters">(<a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest" title="class in com.gpudb.protocol">ExecuteSqlRequest</a> request)</span> throws <span className="exceptions"><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></span></div>

        <div className="block">
          Execute a SQL statement (query, DML, or DDL).
          <p> See <a href="/content/sql/" target="_top">SQL Support</a> for the complete set of supported SQL commands. </p>
          <p> When a caller wants all the results from a large query (e.g., more than <a href="/content/config/#config-main-general" target="_top">max\_get\_records\_size</a> records), they can make multiple calls to this endpoint using the <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest#getOffset()"><code>offset</code></a> and <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest#getLimit()"><code>limit</code></a> parameters to page through the results. Normally, this will execute the <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest#getStatement()"><code>statement</code></a> query each time. To avoid re-executing the query each time and to keep the results in the same order, the caller should specify a <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest.Options#PAGING_TABLE"><code>PAGING\_TABLE</code></a> name to hold the results of the query between calls and specify the <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest.Options#PAGING_TABLE"><code>PAGING\_TABLE</code></a> on subsequent calls. When this is done, the caller should clear the paging table and any other tables in the <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlResponse.Info#RESULT_TABLE_LIST"><code>RESULT\_TABLE\_LIST</code></a> (both returned in the response) when they are done paging through the results. <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlResponse#getPagingTable()"><code>pagingTable</code></a> (and <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlResponse.Info#RESULT_TABLE_LIST"><code>RESULT\_TABLE\_LIST</code></a>) will be empty if no paging table was created (e.g., when all the query results were returned in the first call).</p>
        </div>

        <div className="dl notes">
          <div className="dt">Parameters:</div>
          <div className="dd"><code>request</code> - <a href="/content/api/java/com/gpudb/protocol/ExecuteSqlRequest" title="class in com.gpudb.protocol"><code>Request</code></a> object containing the parameters for the operation.</div>
          <div className="dt">Returns:</div>
          <div className="dd"><a href="/content/api/java/com/gpudb/protocol/RawExecuteSqlResponse" title="class in com.gpudb.protocol"><code>Response</code></a> object containing the results of the operation.</div>
          <div className="dt">Throws:</div>
          <div className="dd"><code><a href="/content/api/java/com/gpudb/GPUdbException" title="class in com.gpudb">GPUdbException</a></code> - if an error occurs during the operation.</div>
        </div>
      </div>
    </li>
  </ul>
</div>
