| import{_ as n,c as l,b as a,o as e}from"./app-pmkzp6TS.js";const t={};function o(i,s){return e(),l("div",null,[...s[0]||(s[0]=[a(`<h1 id="java-native-api" tabindex="-1"><a class="header-anchor" href="#java-native-api"><span>Java Native API</span></a></h1><h2 id="_1-function-introduction" tabindex="-1"><a class="header-anchor" href="#_1-function-introduction"><span>1. Function Introduction</span></a></h2><p>IoTDB provides a Java native client driver and a session pool management mechanism. These tools enable developers to interact with IoTDB using object-oriented APIs, allowing time-series objects to be directly assembled and inserted into the database without constructing SQL statements. It is recommended to use the <code>ITableSessionPool</code> for multi-threaded database operations to maximize efficiency.</p><h2 id="_2-usage-instructions" tabindex="-1"><a class="header-anchor" href="#_2-usage-instructions"><span>2. Usage Instructions</span></a></h2><p><strong>Environment Requirements</strong></p><ul><li><strong>JDK</strong>: Version 1.8 or higher</li><li><strong>Maven</strong>: Version 3.6 or higher</li></ul><p><strong>Adding Maven Dependencies</strong></p><div class="language-xml line-numbers-mode" data-highlighter="shiki" data-ext="xml" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-xml"><span class="line"><span style="color:#ABB2BF;"><</span><span style="color:#E06C75;">dependencies</span><span style="color:#ABB2BF;">></span></span> |
| <span class="line"><span style="color:#ABB2BF;"> <</span><span style="color:#E06C75;">dependency</span><span style="color:#ABB2BF;">></span></span> |
| <span class="line"><span style="color:#ABB2BF;"> <</span><span style="color:#E06C75;">groupId</span><span style="color:#ABB2BF;">>org.apache.iotdb</</span><span style="color:#E06C75;">groupId</span><span style="color:#ABB2BF;">></span></span> |
| <span class="line"><span style="color:#ABB2BF;"> <</span><span style="color:#E06C75;">artifactId</span><span style="color:#ABB2BF;">>iotdb-session</</span><span style="color:#E06C75;">artifactId</span><span style="color:#ABB2BF;">></span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> <!-- The version number is the same as the database version number --></span></span> |
| <span class="line"><span style="color:#ABB2BF;"> <</span><span style="color:#E06C75;">version</span><span style="color:#ABB2BF;">>\${project.version}</</span><span style="color:#E06C75;">version</span><span style="color:#ABB2BF;">></span></span> |
| <span class="line"><span style="color:#ABB2BF;"> </</span><span style="color:#E06C75;">dependency</span><span style="color:#ABB2BF;">></span></span> |
| <span class="line"><span style="color:#ABB2BF;"></</span><span style="color:#E06C75;">dependencies</span><span style="color:#ABB2BF;">></span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>The latest version of <code>iotdb-session</code> can be viewed <a href="https://repo1.maven.org/maven2/org/apache/iotdb/iotdb-session/" target="_blank" rel="noopener noreferrer">here</a></li><li>Note: Do not use a newer client to connect to an older server, as this may cause connection failures or unexpected errors.</li></ul><h2 id="_3-read-and-write-operations" tabindex="-1"><a class="header-anchor" href="#_3-read-and-write-operations"><span>3. Read and Write Operations</span></a></h2><h3 id="_3-1-itablesession-interface" tabindex="-1"><a class="header-anchor" href="#_3-1-itablesession-interface"><span>3.1 ITableSession Interface</span></a></h3><h4 id="_3-1-1-feature-description" tabindex="-1"><a class="header-anchor" href="#_3-1-1-feature-description"><span>3.1.1 Feature Description</span></a></h4><p>The <code>ITableSession</code> interface defines basic operations for interacting with IoTDB, including data insertion, query execution, and session closure. Note that this interface is <strong>not thread-safe</strong>.</p><h4 id="_3-1-2-method-overview" tabindex="-1"><a class="header-anchor" href="#_3-1-2-method-overview"><span>3.1.2 Method Overview</span></a></h4><table><thead><tr><th><strong>Method Name</strong></th><th><strong>Description</strong></th><th><strong>Parameters</strong></th><th><strong>Return Value</strong></th><th><strong>Exceptions</strong></th></tr></thead><tbody><tr><td>insert(Tablet tablet)</td><td>Inserts a <code>Tablet</code> containing time-series data into the database.</td><td><code>tablet</code>: The <code>Tablet</code> object to be inserted.</td><td>None</td><td><code>StatementExecutionException</code>, <code>IoTDBConnectionException</code></td></tr><tr><td>executeNonQueryStatement(String sql)</td><td>Executes non-query SQL statements such as DDL or DML commands.</td><td><code>sql</code>: The SQL statement to execute.</td><td>None</td><td><code>StatementExecutionException</code>, <code>IoTDBConnectionException</code></td></tr><tr><td>executeQueryStatement(String sql)</td><td>Executes a query SQL statement and returns a <code>SessionDataSet</code> containing the query results.</td><td><code>sql</code>: The SQL query statement to execute.</td><td><code>SessionDataSet</code></td><td><code>StatementExecutionException</code>, <code>IoTDBConnectionException</code></td></tr><tr><td>executeQueryStatement(String sql, long timeoutInMs)</td><td>Executes a query SQL statement with a specified timeout in milliseconds.</td><td><code>sql</code>: The SQL query statement. <code>timeoutInMs</code>: Query timeout in milliseconds.</td><td><code>SessionDataSet</code></td><td><code>StatementExecutionException</code></td></tr><tr><td>close()</td><td>Closes the session and releases resources.</td><td>None</td><td>None</td><td>IoTDBConnectionException</td></tr></tbody></table><h4 id="_3-1-3-sample-code" tabindex="-1"><a class="header-anchor" href="#_3-1-3-sample-code"><span>3.1.3 Sample Code</span></a></h4><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#7F848E;font-style:italic;">/**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * This interface defines a session for interacting with IoTDB tables.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * It supports operations such as data insertion, executing queries, and closing the session.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Implementations of this interface are expected to manage connections and ensure</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * proper resource cleanup.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>Each method may throw exceptions to indicate issues such as connection errors or</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * execution failures.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>Since this interface extends {@link AutoCloseable}, it is recommended to use</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * try-with-resources to ensure the session is properly closed.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;">public</span><span style="color:#C678DD;"> interface</span><span style="color:#E5C07B;"> ITableSession</span><span style="color:#C678DD;"> extends</span><span style="color:#E5C07B;"> AutoCloseable</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Inserts a {@link Tablet} into the database.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> tablet</span><span style="color:#7F848E;font-style:italic;"> the tablet containing time-series data to be inserted.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> StatementExecutionException</span><span style="color:#7F848E;font-style:italic;"> if an error occurs while executing the statement.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if there is an issue with the IoTDB connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> insert</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">Tablet</span><span style="color:#E06C75;font-style:italic;"> tablet</span><span style="color:#ABB2BF;">)</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> StatementExecutionException</span><span style="color:#ABB2BF;">,</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Executes a non-query SQL statement, such as a DDL or DML command.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> sql</span><span style="color:#7F848E;font-style:italic;"> the SQL statement to execute.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if there is an issue with the IoTDB connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> StatementExecutionException</span><span style="color:#7F848E;font-style:italic;"> if an error occurs while executing the statement.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> sql</span><span style="color:#ABB2BF;">)</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">,</span><span style="color:#E5C07B;"> StatementExecutionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Executes a query SQL statement and returns the result set.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> sql</span><span style="color:#7F848E;font-style:italic;"> the SQL query statement to execute.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> a {@link SessionDataSet} containing the query results.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> StatementExecutionException</span><span style="color:#7F848E;font-style:italic;"> if an error occurs while executing the statement.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if there is an issue with the IoTDB connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#E5C07B;"> SessionDataSet</span><span style="color:#61AFEF;"> executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> sql</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> StatementExecutionException</span><span style="color:#ABB2BF;">,</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Executes a query SQL statement with a specified timeout and returns the result set.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> sql</span><span style="color:#7F848E;font-style:italic;"> the SQL query statement to execute.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> timeoutInMs</span><span style="color:#7F848E;font-style:italic;"> the timeout duration in milliseconds for the query execution.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> a {@link SessionDataSet} containing the query results.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> StatementExecutionException</span><span style="color:#7F848E;font-style:italic;"> if an error occurs while executing the statement.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if there is an issue with the IoTDB connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#E5C07B;"> SessionDataSet</span><span style="color:#61AFEF;"> executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> sql</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">long</span><span style="color:#E06C75;font-style:italic;"> timeoutInMs</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> StatementExecutionException</span><span style="color:#ABB2BF;">,</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Closes the session, releasing any held resources.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if there is an issue with closing the IoTDB connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> @</span><span style="color:#E5C07B;">Override</span></span> |
| <span class="line"><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> close</span><span style="color:#ABB2BF;">()</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_3-2-tablesessionbuilder-class" tabindex="-1"><a class="header-anchor" href="#_3-2-tablesessionbuilder-class"><span>3.2 TableSessionBuilder Class</span></a></h3><h4 id="_3-2-1-feature-description" tabindex="-1"><a class="header-anchor" href="#_3-2-1-feature-description"><span>3.2.1 Feature Description</span></a></h4><p>The <code>TableSessionBuilder</code> class is a builder for configuring and creating instances of the <code>ITableSession</code> interface. It allows developers to set connection parameters, query parameters, and security features.</p><h4 id="_3-2-2-parameter-configuration" tabindex="-1"><a class="header-anchor" href="#_3-2-2-parameter-configuration"><span>3.2.2 Parameter Configuration</span></a></h4><table><thead><tr><th><strong>Parameter</strong></th><th><strong>Description</strong></th><th><strong>Default Value</strong></th></tr></thead><tbody><tr><td>nodeUrls(List<String> nodeUrls)</td><td>Sets the list of IoTDB cluster node URLs.</td><td><code>Collections.singletonList("\`\`localhost:6667\`\`")</code></td></tr><tr><td>username(String username)</td><td>Sets the username for the connection.</td><td><code>"root"</code></td></tr><tr><td>password(String password)</td><td>Sets the password for the connection.</td><td><code>"root"</code></td></tr><tr><td>database(String database)</td><td>Sets the target database name.</td><td><code>null</code></td></tr><tr><td>queryTimeoutInMs(long queryTimeoutInMs)</td><td>Sets the query timeout in milliseconds.</td><td><code>60000</code> (1 minute)</td></tr><tr><td>fetchSize(int fetchSize)</td><td>Sets the fetch size for query results.</td><td><code>5000</code></td></tr><tr><td>zoneId(ZoneId zoneId)</td><td>Sets the timezone-related <code>ZoneId</code>.</td><td><code>ZoneId.systemDefault()</code></td></tr><tr><td>thriftDefaultBufferSize(int thriftDefaultBufferSize)</td><td>Sets the default buffer size for the Thrift client (in bytes).</td><td><code>1024</code>(1KB)</td></tr><tr><td>thriftMaxFrameSize(int thriftMaxFrameSize)</td><td>Sets the maximum frame size for the Thrift client (in bytes).</td><td><code>64 * 1024 * 1024</code>(64MB)</td></tr><tr><td>enableRedirection(boolean enableRedirection)</td><td>Enables or disables redirection for cluster nodes.</td><td><code>true</code></td></tr><tr><td>enableAutoFetch(boolean enableAutoFetch)</td><td>Enables or disables automatic fetching of available DataNodes.</td><td><code>true</code></td></tr><tr><td>maxRetryCount(int maxRetryCount)</td><td>Sets the maximum number of connection retry attempts.</td><td><code>60</code></td></tr><tr><td>retryIntervalInMs(long retryIntervalInMs)</td><td>Sets the interval between retry attempts (in milliseconds).</td><td><code>500</code>(500 millisesonds)</td></tr><tr><td>useSSL(boolean useSSL)</td><td>Enables or disables SSL for secure connections.</td><td><code>false</code></td></tr><tr><td>trustStore(String keyStore)</td><td>Sets the path to the trust store for SSL connections.</td><td><code>null</code></td></tr><tr><td>trustStorePwd(String keyStorePwd)</td><td>Sets the password for the SSL trust store.</td><td><code>null</code></td></tr><tr><td>enableCompression(boolean enableCompression)</td><td>Enables or disables RPC compression for the connection.</td><td><code>false</code></td></tr><tr><td>connectionTimeoutInMs(int connectionTimeoutInMs)</td><td>Sets the connection timeout in milliseconds.</td><td><code>0</code> (no timeout)</td></tr></tbody></table><h4 id="_3-2-3-sample-code" tabindex="-1"><a class="header-anchor" href="#_3-2-3-sample-code"><span>3.2.3 Sample Code</span></a></h4><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#7F848E;font-style:italic;">/**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * A builder class for constructing instances of {@link ITableSession}.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>This builder provides a fluent API for configuring various options such as connection </span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * settings, query parameters, and security features.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>All configurations have reasonable default values, which can be overridden as needed.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;">public</span><span style="color:#C678DD;"> class</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Builds and returns a configured {@link ITableSession} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> a fully configured {@link ITableSession}.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if an error occurs while establishing the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> ITableSession</span><span style="color:#61AFEF;"> build</span><span style="color:#ABB2BF;">()</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the list of node URLs for the IoTDB cluster.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> nodeUrls</span><span style="color:#7F848E;font-style:italic;"> a list of node URLs.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue Collection.singletonList("localhost:6667")</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> nodeUrls</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;"><</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">> </span><span style="color:#E06C75;font-style:italic;">nodeUrls</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the username for the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> username</span><span style="color:#7F848E;font-style:italic;"> the username.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue "root"</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> username</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> username</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the password for the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> password</span><span style="color:#7F848E;font-style:italic;"> the password.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue "root"</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> password</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> password</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the target database name.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> database</span><span style="color:#7F848E;font-style:italic;"> the database name.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue null</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> database</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> database</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the query timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> queryTimeoutInMs</span><span style="color:#7F848E;font-style:italic;"> the query timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 60000 (1 minute)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> queryTimeoutInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;font-style:italic;"> queryTimeoutInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the fetch size for query results.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> fetchSize</span><span style="color:#7F848E;font-style:italic;"> the fetch size.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 5000</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> fetchSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> fetchSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the {@link ZoneId} for timezone-related operations.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> zoneId</span><span style="color:#7F848E;font-style:italic;"> the {@link ZoneId}.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue ZoneId.systemDefault()</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> zoneId</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">ZoneId</span><span style="color:#E06C75;font-style:italic;"> zoneId</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the default init buffer size for the Thrift client.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> thriftDefaultBufferSize</span><span style="color:#7F848E;font-style:italic;"> the buffer size in bytes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 1024 (1 KB)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> thriftDefaultBufferSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> thriftDefaultBufferSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the maximum frame size for the Thrift client.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> thriftMaxFrameSize</span><span style="color:#7F848E;font-style:italic;"> the maximum frame size in bytes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 64 * 1024 * 1024 (64 MB)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> thriftMaxFrameSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> thriftMaxFrameSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables redirection for cluster nodes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> enableRedirection</span><span style="color:#7F848E;font-style:italic;"> whether to enable redirection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue true</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> enableRedirection</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> enableRedirection</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables automatic fetching of available DataNodes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> enableAutoFetch</span><span style="color:#7F848E;font-style:italic;"> whether to enable automatic fetching.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue true</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> enableAutoFetch</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> enableAutoFetch</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the maximum number of retries for connection attempts.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> maxRetryCount</span><span style="color:#7F848E;font-style:italic;"> the maximum retry count.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 60</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> maxRetryCount</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> maxRetryCount</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the interval between retries in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> retryIntervalInMs</span><span style="color:#7F848E;font-style:italic;"> the interval in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 500 milliseconds</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> retryIntervalInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;font-style:italic;"> retryIntervalInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables SSL for secure connections.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> useSSL</span><span style="color:#7F848E;font-style:italic;"> whether to enable SSL.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue false</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> useSSL</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> useSSL</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the trust store path for SSL connections.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> keyStore</span><span style="color:#7F848E;font-style:italic;"> the trust store path.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue null</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> trustStore</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> keyStore</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the trust store password for SSL connections.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> keyStorePwd</span><span style="color:#7F848E;font-style:italic;"> the trust store password.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue null</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> trustStorePwd</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> keyStorePwd</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables rpc compression for the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> enableCompression</span><span style="color:#7F848E;font-style:italic;"> whether to enable compression.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue false</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> enableCompression</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> enableCompression</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the connection timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> connectionTimeoutInMs</span><span style="color:#7F848E;font-style:italic;"> the connection timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 0 (no timeout)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionBuilder</span><span style="color:#61AFEF;"> connectionTimeoutInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> connectionTimeoutInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><blockquote><p>Note: When creating tables using the native API, if table or column names contain special characters or Chinese characters, do not add extra double quotes around them. Otherwise, the quotation marks will become part of the name itself.</p></blockquote><h2 id="_4-session-pool" tabindex="-1"><a class="header-anchor" href="#_4-session-pool"><span>4. Session Pool</span></a></h2><h3 id="_4-1-itablesessionpool-interface" tabindex="-1"><a class="header-anchor" href="#_4-1-itablesessionpool-interface"><span>4.1 ITableSessionPool Interface</span></a></h3><h4 id="_4-1-1-feature-description" tabindex="-1"><a class="header-anchor" href="#_4-1-1-feature-description"><span>4.1.1 Feature Description</span></a></h4><p>The <code>ITableSessionPool</code> interface manages a pool of <code>ITableSession</code> instances, enabling efficient reuse of connections and proper cleanup of resources.</p><h4 id="_4-1-2-method-overview" tabindex="-1"><a class="header-anchor" href="#_4-1-2-method-overview"><span>4.1.2 Method Overview</span></a></h4><table><thead><tr><th><strong>Method Name</strong></th><th><strong>Description</strong></th><th><strong>Return Value</strong></th><th><strong>Exceptions</strong></th></tr></thead><tbody><tr><td>getSession()</td><td>Acquires a session from the pool for database interaction.</td><td><code>ITableSession</code></td><td><code>IoTDBConnectionException</code></td></tr><tr><td>close()</td><td>Closes the session pool and releases resources.。</td><td>None</td><td>None</td></tr></tbody></table><h4 id="_4-1-3-sample-code" tabindex="-1"><a class="header-anchor" href="#_4-1-3-sample-code"><span>4.1.3 Sample Code</span></a></h4><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#7F848E;font-style:italic;">/**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * This interface defines a pool for managing {@link ITableSession} instances.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * It provides methods to acquire a session from the pool and to close the pool.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>The implementation should handle the lifecycle of sessions, ensuring efficient</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * reuse and proper cleanup of resources.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;">public</span><span style="color:#C678DD;"> interface</span><span style="color:#E5C07B;"> ITableSessionPool</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Acquires an {@link ITableSession} instance from the pool.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> an {@link ITableSession} instance for interacting with the IoTDB.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@throws</span><span style="color:#E5C07B;font-style:italic;"> IoTDBConnectionException</span><span style="color:#7F848E;font-style:italic;"> if there is an issue obtaining a session from the pool.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ITableSession</span><span style="color:#61AFEF;"> getSession</span><span style="color:#ABB2BF;">()</span><span style="color:#C678DD;"> throws</span><span style="color:#E5C07B;"> IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Closes the session pool, releasing any held resources.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>Once the pool is closed, no further sessions can be acquired.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> close</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-2-tablesessionpoolbuilder-class" tabindex="-1"><a class="header-anchor" href="#_4-2-tablesessionpoolbuilder-class"><span>4.2 TableSessionPoolBuilder Class</span></a></h3><h4 id="_4-2-1-feature-description" tabindex="-1"><a class="header-anchor" href="#_4-2-1-feature-description"><span>4.2.1 Feature Description</span></a></h4><p>The <code>TableSessionPoolBuilder</code> class is a builder for configuring and creating <code>ITableSessionPool</code> instances, supporting options like connection settings and pooling behavior.</p><h4 id="_4-2-2-parameter-configuration" tabindex="-1"><a class="header-anchor" href="#_4-2-2-parameter-configuration"><span>4.2.2 Parameter Configuration</span></a></h4><table><thead><tr><th><strong>Parameter</strong></th><th><strong>Description</strong></th><th><strong>Default Value</strong></th></tr></thead><tbody><tr><td>nodeUrls(List<String> nodeUrls)</td><td>Sets the list of IoTDB cluster node URLs.</td><td><code>Collections.singletonList("localhost:6667")</code></td></tr><tr><td>maxSize(int maxSize)</td><td>Sets the maximum size of the session pool, i.e., the maximum number of sessions allowed in the pool.</td><td><code>5</code></td></tr><tr><td>user(String user)</td><td>Sets the username for the connection.</td><td><code>"root"</code></td></tr><tr><td>password(String password)</td><td>Sets the password for the connection.</td><td><code>"root"</code></td></tr><tr><td>database(String database)</td><td>Sets the target database name.</td><td><code>"root"</code></td></tr><tr><td>queryTimeoutInMs(long queryTimeoutInMs)</td><td>Sets the query timeout in milliseconds.</td><td><code>60000</code>(1 minute)</td></tr><tr><td>fetchSize(int fetchSize)</td><td>Sets the fetch size for query results.</td><td><code>5000</code></td></tr><tr><td>zoneId(ZoneId zoneId)</td><td>Sets the timezone-related <code>ZoneId</code>.</td><td><code>ZoneId.systemDefault()</code></td></tr><tr><td>waitToGetSessionTimeoutInMs(long waitToGetSessionTimeoutInMs)</td><td>Sets the timeout duration (in milliseconds) for acquiring a session from the pool.</td><td><code>30000</code>(30 seconds)</td></tr><tr><td>thriftDefaultBufferSize(int thriftDefaultBufferSize)</td><td>Sets the default buffer size for the Thrift client (in bytes).</td><td><code>1024</code>(1KB)</td></tr><tr><td>thriftMaxFrameSize(int thriftMaxFrameSize)</td><td>Sets the maximum frame size for the Thrift client (in bytes).</td><td><code>64 * 1024 * 1024</code>(64MB)</td></tr><tr><td>enableCompression(boolean enableCompression)</td><td>Enables or disables compression for the connection.</td><td><code>false</code></td></tr><tr><td>enableRedirection(boolean enableRedirection)</td><td>Enables or disables redirection for cluster nodes.</td><td><code>true</code></td></tr><tr><td>connectionTimeoutInMs(int connectionTimeoutInMs)</td><td>Sets the connection timeout in milliseconds.</td><td><code>10000</code> (10 seconds)</td></tr><tr><td>enableAutoFetch(boolean enableAutoFetch)</td><td>Enables or disables automatic fetching of available DataNodes.</td><td><code>true</code></td></tr><tr><td>maxRetryCount(int maxRetryCount)</td><td>Sets the maximum number of connection retry attempts.</td><td><code>60</code></td></tr><tr><td>retryIntervalInMs(long retryIntervalInMs)</td><td>Sets the interval between retry attempts (in milliseconds).</td><td><code>500</code> (500 milliseconds)</td></tr><tr><td>useSSL(boolean useSSL)</td><td>Enables or disables SSL for secure connections.</td><td><code>false</code></td></tr><tr><td>trustStore(String keyStore)</td><td>Sets the path to the trust store for SSL connections.</td><td><code>null</code></td></tr><tr><td>trustStorePwd(String keyStorePwd)</td><td>Sets the password for the SSL trust store.</td><td><code>null</code></td></tr></tbody></table><h4 id="_4-2-3-sample-code" tabindex="-1"><a class="header-anchor" href="#_4-2-3-sample-code"><span>4.2.3 Sample Code</span></a></h4><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#7F848E;font-style:italic;">/**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * A builder class for constructing instances of {@link ITableSessionPool}.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>This builder provides a fluent API for configuring a session pool, including</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * connection settings, session parameters, and pool behavior.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * <p>All configurations have reasonable default values, which can be overridden as needed.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;">public</span><span style="color:#C678DD;"> class</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Builds and returns a configured {@link ITableSessionPool} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> a fully configured {@link ITableSessionPool}.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> ITableSessionPool</span><span style="color:#61AFEF;"> build</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the list of node URLs for the IoTDB cluster.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> nodeUrls</span><span style="color:#7F848E;font-style:italic;"> a list of node URLs.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue Collection.singletonList("localhost:6667")</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> nodeUrls</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">List</span><span style="color:#ABB2BF;"><</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">> </span><span style="color:#E06C75;font-style:italic;">nodeUrls</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the maximum size of the session pool.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> maxSize</span><span style="color:#7F848E;font-style:italic;"> the maximum number of sessions allowed in the pool.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 5</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> maxSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> maxSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the username for the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> user</span><span style="color:#7F848E;font-style:italic;"> the username.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue "root"</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> user</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> user</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the password for the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> password</span><span style="color:#7F848E;font-style:italic;"> the password.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue "root"</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> password</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> password</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the target database name.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> database</span><span style="color:#7F848E;font-style:italic;"> the database name.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue "root"</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> database</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> database</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the query timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> queryTimeoutInMs</span><span style="color:#7F848E;font-style:italic;"> the query timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 60000 (1 minute)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> queryTimeoutInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;font-style:italic;"> queryTimeoutInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the fetch size for query results.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> fetchSize</span><span style="color:#7F848E;font-style:italic;"> the fetch size.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 5000</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> fetchSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> fetchSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the {@link ZoneId} for timezone-related operations.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> zoneId</span><span style="color:#7F848E;font-style:italic;"> the {@link ZoneId}.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue ZoneId.systemDefault()</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> zoneId</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">ZoneId</span><span style="color:#E06C75;font-style:italic;"> zoneId</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the timeout for waiting to acquire a session from the pool.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> waitToGetSessionTimeoutInMs</span><span style="color:#7F848E;font-style:italic;"> the timeout duration in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 30000 (30 seconds)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> waitToGetSessionTimeoutInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;font-style:italic;"> waitToGetSessionTimeoutInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the default buffer size for the Thrift client.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> thriftDefaultBufferSize</span><span style="color:#7F848E;font-style:italic;"> the buffer size in bytes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 1024 (1 KB)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> thriftDefaultBufferSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> thriftDefaultBufferSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the maximum frame size for the Thrift client.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> thriftMaxFrameSize</span><span style="color:#7F848E;font-style:italic;"> the maximum frame size in bytes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 64 * 1024 * 1024 (64 MB)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> thriftMaxFrameSize</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> thriftMaxFrameSize</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables compression for the connection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> enableCompression</span><span style="color:#7F848E;font-style:italic;"> whether to enable compression.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue false</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> enableCompression</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> enableCompression</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables redirection for cluster nodes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> enableRedirection</span><span style="color:#7F848E;font-style:italic;"> whether to enable redirection.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue true</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> enableRedirection</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> enableRedirection</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the connection timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> connectionTimeoutInMs</span><span style="color:#7F848E;font-style:italic;"> the connection timeout in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 10000 (10 seconds)</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> connectionTimeoutInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> connectionTimeoutInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables automatic fetching of available DataNodes.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> enableAutoFetch</span><span style="color:#7F848E;font-style:italic;"> whether to enable automatic fetching.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue true</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> enableAutoFetch</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> enableAutoFetch</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the maximum number of retries for connection attempts.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> maxRetryCount</span><span style="color:#7F848E;font-style:italic;"> the maximum retry count.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 60</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> maxRetryCount</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">int</span><span style="color:#E06C75;font-style:italic;"> maxRetryCount</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the interval between retries in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> retryIntervalInMs</span><span style="color:#7F848E;font-style:italic;"> the interval in milliseconds.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue 500 milliseconds</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> retryIntervalInMs</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;font-style:italic;"> retryIntervalInMs</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Enables or disables SSL for secure connections.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> useSSL</span><span style="color:#7F848E;font-style:italic;"> whether to enable SSL.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue false</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> useSSL</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">boolean</span><span style="color:#E06C75;font-style:italic;"> useSSL</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the trust store path for SSL connections.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> keyStore</span><span style="color:#7F848E;font-style:italic;"> the trust store path.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue null</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> trustStore</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> keyStore</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> /**</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Sets the trust store password for SSL connections.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@param</span><span style="color:#E06C75;font-style:italic;"> keyStorePwd</span><span style="color:#7F848E;font-style:italic;"> the trust store password.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * </span><span style="color:#C678DD;font-style:italic;">@return</span><span style="color:#7F848E;font-style:italic;"> the current {@link TableSessionPoolBuilder} instance.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * @defaultValue null</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#E5C07B;"> TableSessionPoolBuilder</span><span style="color:#61AFEF;"> trustStorePwd</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#E06C75;font-style:italic;"> keyStorePwd</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_5-example-code" tabindex="-1"><a class="header-anchor" href="#_5-example-code"><span>5. Example Code</span></a></h2><p>Session: <a href="https://github.com/apache/iotdb/blob/master/example/session/src/main/java/org/apache/iotdb/TableModelSessionExample.java" target="_blank" rel="noopener noreferrer">src/main/java/org/apache/iotdb/TableModelSessionExample.java</a></p><p>SessionPool: <a href="https://github.com/apache/iotdb/blob/master/example/session/src/main/java/org/apache/iotdb/TableModelSessionPoolExample.java" target="_blank" rel="noopener noreferrer">src/main/java/org/apache/iotdb/TableModelSessionPoolExample.java</a></p><div class="language-java line-numbers-mode" data-highlighter="shiki" data-ext="java" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-java"><span class="line"><span style="color:#7F848E;font-style:italic;">/*</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Licensed to the Apache Software Foundation (ASF) under one</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * or more contributor license agreements. See the NOTICE file</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * distributed with this work for additional information</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * regarding copyright ownership. The ASF licenses this file</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * to you under the Apache License, Version 2.0 (the</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * "License"); you may not use this file except in compliance</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * with the License. You may obtain a copy of the License at</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * http://www.apache.org/licenses/LICENSE-2.0</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> *</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * Unless required by applicable law or agreed to in writing,</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * software distributed under the License is distributed on an</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * KIND, either express or implied. See the License for the</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * specific language governing permissions and limitations</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> * under the License.</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> */</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;">package</span><span style="color:#C678DD;"> org.apache.iotdb</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.isession.ITableSession</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.isession.SessionDataSet</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.isession.pool.ITableSessionPool</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.rpc.IoTDBConnectionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.rpc.StatementExecutionException</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.iotdb.session.pool.TableSessionPoolBuilder</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.tsfile.enums.ColumnCategory</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.tsfile.enums.TSDataType</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> org.apache.tsfile.write.record.Tablet</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> java.util.ArrayList</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> java.util.Arrays</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> java.util.Collections</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#E5C07B;"> java.util.List</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;">import</span><span style="color:#C678DD;"> static</span><span style="color:#E5C07B;"> org.apache.iotdb.SessionExample.printDataSet</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;">public</span><span style="color:#C678DD;"> class</span><span style="color:#E5C07B;"> TableModelSessionPoolExample</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;"> private</span><span style="color:#C678DD;"> static</span><span style="color:#C678DD;"> final</span><span style="color:#E5C07B;"> String</span><span style="color:#E06C75;"> LOCAL_URL </span><span style="color:#56B6C2;">=</span><span style="color:#98C379;"> "127.0.0.1:6667"</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;"> public</span><span style="color:#C678DD;"> static</span><span style="color:#C678DD;"> void</span><span style="color:#61AFEF;"> main</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">[] </span><span style="color:#E06C75;font-style:italic;">args</span><span style="color:#ABB2BF;">)</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // don't specify database in constructor</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ITableSessionPool</span><span style="color:#E06C75;"> tableSessionPool</span><span style="color:#56B6C2;"> =</span></span> |
| <span class="line"><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> TableSessionPoolBuilder</span><span style="color:#ABB2BF;">()</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">nodeUrls</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">Collections</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">singletonList</span><span style="color:#ABB2BF;">(LOCAL_URL))</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">user</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root"</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">password</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root"</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">maxSize</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">build</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">ITableSession</span><span style="color:#E06C75;"> session</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> tableSessionPool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getSession</span><span style="color:#ABB2BF;">()) {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"CREATE DATABASE test1"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"CREATE DATABASE test2"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"use test2"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // or use full qualified table name</span></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span></span> |
| <span class="line"><span style="color:#98C379;"> "create table test1.table1("</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "region_id STRING TAG, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "plant_id STRING TAG, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "device_id STRING TAG, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "model STRING ATTRIBUTE, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "temperature FLOAT FIELD, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "humidity DOUBLE FIELD) with (TTL=3600000)"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span></span> |
| <span class="line"><span style="color:#98C379;"> "create table table2("</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "region_id STRING TAG, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "plant_id STRING TAG, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "color STRING ATTRIBUTE, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "temperature FLOAT FIELD, "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "speed DOUBLE FIELD) with (TTL=6600000)"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // show tables from current database</span></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SessionDataSet</span><span style="color:#E06C75;"> dataSet</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"SHOW TABLES"</span><span style="color:#ABB2BF;">)) {</span></span> |
| <span class="line"><span style="color:#61AFEF;"> printDataSet</span><span style="color:#ABB2BF;">(dataSet);</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // show tables by specifying another database</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // using SHOW tables FROM</span></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SessionDataSet</span><span style="color:#E06C75;"> dataSet</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"SHOW TABLES FROM test1"</span><span style="color:#ABB2BF;">)) {</span></span> |
| <span class="line"><span style="color:#61AFEF;"> printDataSet</span><span style="color:#ABB2BF;">(dataSet);</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // insert table data by tablet</span></span> |
| <span class="line"><span style="color:#E5C07B;"> List</span><span style="color:#ABB2BF;"><</span><span style="color:#E5C07B;">String</span><span style="color:#ABB2BF;">> </span><span style="color:#E06C75;">columnNameList</span><span style="color:#56B6C2;"> =</span></span> |
| <span class="line"><span style="color:#E5C07B;"> Arrays</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">asList</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"region_id"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"plant_id"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"device_id"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"model"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"temperature"</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">"humidity"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> List</span><span style="color:#ABB2BF;"><</span><span style="color:#E5C07B;">TSDataType</span><span style="color:#ABB2BF;">> </span><span style="color:#E06C75;">dataTypeList</span><span style="color:#56B6C2;"> =</span></span> |
| <span class="line"><span style="color:#E5C07B;"> Arrays</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">asList</span><span style="color:#ABB2BF;">(</span></span> |
| <span class="line"><span style="color:#E5C07B;"> TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">STRING</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">STRING</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">STRING</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">STRING</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">FLOAT</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> TSDataType</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">DOUBLE</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> List</span><span style="color:#ABB2BF;"><</span><span style="color:#E5C07B;">ColumnCategory</span><span style="color:#ABB2BF;">> </span><span style="color:#E06C75;">columnTypeList</span><span style="color:#56B6C2;"> =</span></span> |
| <span class="line"><span style="color:#C678DD;"> new</span><span style="color:#E5C07B;"> ArrayList</span><span style="color:#ABB2BF;"><>(</span></span> |
| <span class="line"><span style="color:#E5C07B;"> Arrays</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">asList</span><span style="color:#ABB2BF;">(</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ColumnCategory</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TAG</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ColumnCategory</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TAG</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ColumnCategory</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">TAG</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ColumnCategory</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">ATTRIBUTE</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ColumnCategory</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">FIELD</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#E5C07B;"> ColumnCategory</span><span style="color:#ABB2BF;">.</span><span style="color:#E5C07B;">FIELD</span><span style="color:#ABB2BF;">));</span></span> |
| <span class="line"><span style="color:#E5C07B;"> Tablet</span><span style="color:#E06C75;"> tablet</span><span style="color:#56B6C2;"> =</span><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> Tablet</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"test1"</span><span style="color:#ABB2BF;">, columnNameList, dataTypeList, columnTypeList, </span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#C678DD;"> for</span><span style="color:#ABB2BF;"> (</span><span style="color:#C678DD;">long</span><span style="color:#E06C75;"> timestamp</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 0</span><span style="color:#ABB2BF;">; timestamp </span><span style="color:#56B6C2;"><</span><span style="color:#D19A66;"> 100</span><span style="color:#ABB2BF;">; timestamp++) {</span></span> |
| <span class="line"><span style="color:#C678DD;"> int</span><span style="color:#E06C75;"> rowIndex</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getRowSize</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addTimestamp</span><span style="color:#ABB2BF;">(rowIndex, timestamp);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addValue</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"region_id"</span><span style="color:#ABB2BF;">, rowIndex, </span><span style="color:#98C379;">"1"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addValue</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"plant_id"</span><span style="color:#ABB2BF;">, rowIndex, </span><span style="color:#98C379;">"5"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addValue</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"device_id"</span><span style="color:#ABB2BF;">, rowIndex, </span><span style="color:#98C379;">"3"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addValue</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"model"</span><span style="color:#ABB2BF;">, rowIndex, </span><span style="color:#98C379;">"A"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addValue</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"temperature"</span><span style="color:#ABB2BF;">, rowIndex, </span><span style="color:#D19A66;">37.6F</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">addValue</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"humidity"</span><span style="color:#ABB2BF;">, rowIndex, </span><span style="color:#D19A66;">111.1</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#C678DD;"> if</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getRowSize</span><span style="color:#ABB2BF;">() </span><span style="color:#56B6C2;">==</span><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getMaxRowNumber</span><span style="color:#ABB2BF;">()) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">insert</span><span style="color:#ABB2BF;">(tablet);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">reset</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"><span style="color:#C678DD;"> if</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getRowSize</span><span style="color:#ABB2BF;">() </span><span style="color:#56B6C2;">!=</span><span style="color:#D19A66;"> 0</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">insert</span><span style="color:#ABB2BF;">(tablet);</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tablet</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">reset</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // query table data</span></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SessionDataSet</span><span style="color:#E06C75;"> dataSet</span><span style="color:#56B6C2;"> =</span></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQueryStatement</span><span style="color:#ABB2BF;">(</span></span> |
| <span class="line"><span style="color:#98C379;"> "select * from test1 "</span></span> |
| <span class="line"><span style="color:#56B6C2;"> +</span><span style="color:#98C379;"> "where region_id = '1' and plant_id in ('3', '5') and device_id = '3'"</span><span style="color:#ABB2BF;">)) {</span></span> |
| <span class="line"><span style="color:#61AFEF;"> printDataSet</span><span style="color:#ABB2BF;">(dataSet);</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">IoTDBConnectionException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">StatementExecutionException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">finally</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tableSessionPool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">close</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // specify database in constructor</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> tableSessionPool </span><span style="color:#56B6C2;">=</span></span> |
| <span class="line"><span style="color:#C678DD;"> new</span><span style="color:#61AFEF;"> TableSessionPoolBuilder</span><span style="color:#ABB2BF;">()</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">nodeUrls</span><span style="color:#ABB2BF;">(</span><span style="color:#E5C07B;">Collections</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">singletonList</span><span style="color:#ABB2BF;">(LOCAL_URL))</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">user</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root"</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">password</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"root"</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">maxSize</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">database</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"test1"</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> .</span><span style="color:#61AFEF;">build</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">ITableSession</span><span style="color:#E06C75;"> session</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> tableSessionPool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getSession</span><span style="color:#ABB2BF;">()) {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // show tables from current database</span></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SessionDataSet</span><span style="color:#E06C75;"> dataSet</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"SHOW TABLES"</span><span style="color:#ABB2BF;">)) {</span></span> |
| <span class="line"><span style="color:#61AFEF;"> printDataSet</span><span style="color:#ABB2BF;">(dataSet);</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // change database to test2</span></span> |
| <span class="line"><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeNonQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"use test2"</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // show tables by specifying another database</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // using SHOW tables FROM</span></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SessionDataSet</span><span style="color:#E06C75;"> dataSet</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"SHOW TABLES"</span><span style="color:#ABB2BF;">)) {</span></span> |
| <span class="line"><span style="color:#61AFEF;"> printDataSet</span><span style="color:#ABB2BF;">(dataSet);</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">IoTDBConnectionException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">StatementExecutionException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">ITableSession</span><span style="color:#E06C75;"> session</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> tableSessionPool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">getSession</span><span style="color:#ABB2BF;">()) {</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;"> // show tables from default database test1</span></span> |
| <span class="line"><span style="color:#C678DD;"> try</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">SessionDataSet</span><span style="color:#E06C75;"> dataSet</span><span style="color:#56B6C2;"> =</span><span style="color:#E5C07B;"> session</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">executeQueryStatement</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">"SHOW TABLES"</span><span style="color:#ABB2BF;">)) {</span></span> |
| <span class="line"><span style="color:#61AFEF;"> printDataSet</span><span style="color:#ABB2BF;">(dataSet);</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">IoTDBConnectionException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">catch</span><span style="color:#ABB2BF;"> (</span><span style="color:#E5C07B;">StatementExecutionException</span><span style="color:#E06C75;font-style:italic;"> e</span><span style="color:#ABB2BF;">) {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> e</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">printStackTrace</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> } </span><span style="color:#C678DD;">finally</span><span style="color:#ABB2BF;"> {</span></span> |
| <span class="line"><span style="color:#E5C07B;"> tableSessionPool</span><span style="color:#ABB2BF;">.</span><span style="color:#61AFEF;">close</span><span style="color:#ABB2BF;">();</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> }</span></span> |
| <span class="line"><span style="color:#ABB2BF;">}</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,44)])])}const c=n(t,[["render",o]]),r=JSON.parse('{"path":"/UserGuide/latest-Table/API/Programming-Java-Native-API_apache.html","title":"Java Native API","lang":"en-US","frontmatter":{"description":"Java Native API 1. Function Introduction IoTDB provides a Java native client driver and a session pool management mechanism. These tools enable developers to interact with IoTDB...","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Java Native API\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-04-15T10:39:00.000Z\\",\\"author\\":[]}"],["meta",{"property":"og:url","content":"https://iotdb.apache.org/UserGuide/latest-Table/API/Programming-Java-Native-API_apache.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"Java Native API"}],["meta",{"property":"og:description","content":"Java Native API 1. Function Introduction IoTDB provides a Java native client driver and a session pool management mechanism. These tools enable developers to interact with IoTDB..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:locale:alternate","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2026-04-15T10:39:00.000Z"}],["meta",{"property":"article:modified_time","content":"2026-04-15T10:39:00.000Z"}],["link",{"rel":"alternate","hreflang":"zh-cn","href":"https://iotdb.apache.org/zh/UserGuide/latest-Table/API/Programming-Java-Native-API_apache.html"}]]},"git":{"createdTime":1740039395000,"updatedTime":1776249540000,"contributors":[{"name":"leto-b","username":"leto-b","email":"bingqian.bai@timecho.com","commits":9,"url":"https://github.com/leto-b"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":1,"url":"https://github.com/W1y1r"}]},"readingTime":{"minutes":11.12,"words":3337},"filePathRelative":"UserGuide/latest-Table/API/Programming-Java-Native-API_apache.md","autoDesc":true}');export{c as comp,r as data}; |