You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2022/12/24 03:15:22 UTC

[iotdb] branch rel/0.13 updated: [To rel/0.13][IOTDB-5127] update Session and SessionPool return (#8594)

This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch rel/0.13
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.13 by this push:
     new 2c4e464761 [To rel/0.13][IOTDB-5127] update Session and SessionPool return (#8594)
2c4e464761 is described below

commit 2c4e464761c4829e30b4e2bea61f008187a314ab
Author: Zhijia Cao <ca...@126.com>
AuthorDate: Sat Dec 24 11:15:17 2022 +0800

    [To rel/0.13][IOTDB-5127] update Session and SessionPool return (#8594)
---
 .../iotdb/AlignedTimeseriesSessionExample.java     |  2 +-
 .../org/apache/iotdb/DataMigrationExample.java     |  6 ++--
 .../org/apache/iotdb/SessionConcurrentExample.java |  2 +-
 .../main/java/org/apache/iotdb/SessionExample.java |  8 +++---
 .../java/org/apache/iotdb/SessionPoolExample.java  |  4 +--
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  4 +--
 .../apache/iotdb/session/SessionCacheLeaderUT.java |  1 +
 .../java/org/apache/iotdb/session/SessionTest.java |  6 ++--
 .../apache/iotdb/session/pool/SessionPoolTest.java |  2 +-
 .../apache/iotdb/session/template/TemplateUT.java  |  2 ++
 .../apache/iotdb/{session => isession}/Config.java |  4 +--
 .../iotdb/{session => isession}/IDataIterator.java |  2 +-
 .../iotdb/{session => isession}/ISession.java      | 18 ++++++------
 .../{session => isession}/ISessionDataSet.java     |  2 +-
 .../pool/ISessionDataSetWrapper.java}              | 27 +++++++++++-------
 .../{session => isession}/pool/ISessionPool.java   | 14 +++++-----
 .../{session => isession}/template/Template.java   |  2 +-
 .../template/TemplateNode.java                     |  2 +-
 .../{session => isession}/util/SystemStatus.java   |  2 +-
 .../iotdb/{session => isession}/util/Version.java  |  2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  2 +-
 .../apache/iotdb/db/tools/mlog/ExportSchema.java   |  2 +-
 .../org/apache/iotdb/db/tools/mlog/MLogLoader.java |  2 +-
 .../java/org/apache/iotdb/session/Session.java     |  8 ++++--
 .../apache/iotdb/session/SessionConnection.java    |  3 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |  3 ++
 .../iotdb/session/pool/SessionDataSetWrapper.java  | 32 ++++++++++++++++------
 .../org/apache/iotdb/session/pool/SessionPool.java | 26 ++++++++++--------
 .../iotdb/session/template/InternalNode.java       |  1 +
 .../iotdb/session/template/MeasurementNode.java    |  1 +
 30 files changed, 114 insertions(+), 78 deletions(-)

diff --git a/example/session/src/main/java/org/apache/iotdb/AlignedTimeseriesSessionExample.java b/example/session/src/main/java/org/apache/iotdb/AlignedTimeseriesSessionExample.java
index 33aa9f3ca4..4b9db65eec 100644
--- a/example/session/src/main/java/org/apache/iotdb/AlignedTimeseriesSessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/AlignedTimeseriesSessionExample.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb;
 
+import org.apache.iotdb.isession.template.Template;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.session.Session;
 import org.apache.iotdb.session.SessionDataSet;
 import org.apache.iotdb.session.template.InternalNode;
 import org.apache.iotdb.session.template.MeasurementNode;
-import org.apache.iotdb.session.template.Template;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
diff --git a/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java b/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java
index e880ba93eb..070cc60c38 100644
--- a/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/DataMigrationExample.java
@@ -18,9 +18,9 @@
  */
 package org.apache.iotdb;
 
+import org.apache.iotdb.isession.IDataIterator;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
-import org.apache.iotdb.session.SessionDataSet.DataIterator;
 import org.apache.iotdb.session.pool.SessionDataSetWrapper;
 import org.apache.iotdb.session.pool.SessionPool;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -70,7 +70,7 @@ public class DataMigrationExample {
 
     SessionDataSetWrapper schemaDataSet =
         readerPool.executeQueryStatement("count timeseries " + path);
-    DataIterator schemaIter = schemaDataSet.iterator();
+    IDataIterator schemaIter = schemaDataSet.iterator();
     int total;
     if (schemaIter.next()) {
       total = schemaIter.getInt(1);
@@ -137,7 +137,7 @@ public class DataMigrationExample {
             readerPool.executeQueryStatement(
                 String.format("select %s from %s", measurement, device));
 
-        DataIterator dataIter = dataSet.iterator();
+        IDataIterator dataIter = dataSet.iterator();
         while (dataIter.next()) {
           int row = tablet.rowSize++;
           tablet.timestamps[row] = dataIter.getLong(1);
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionConcurrentExample.java b/example/session/src/main/java/org/apache/iotdb/SessionConcurrentExample.java
index 9de931bda2..5011272f65 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionConcurrentExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionConcurrentExample.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb;
 
+import org.apache.iotdb.isession.template.Template;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.session.Session;
 import org.apache.iotdb.session.template.MeasurementNode;
-import org.apache.iotdb.session.template.Template;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionExample.java b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
index 8c654c0d22..90fd12aa73 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
@@ -19,15 +19,15 @@
 
 package org.apache.iotdb;
 
+import org.apache.iotdb.isession.IDataIterator;
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.util.Version;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.session.Session;
 import org.apache.iotdb.session.SessionDataSet;
-import org.apache.iotdb.session.SessionDataSet.DataIterator;
 import org.apache.iotdb.session.template.MeasurementNode;
-import org.apache.iotdb.session.template.Template;
-import org.apache.iotdb.session.util.Version;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -783,7 +783,7 @@ public class SessionExample {
       throws IoTDBConnectionException, StatementExecutionException {
     try (SessionDataSet dataSet = session.executeQueryStatement("select * from root.sg1.d1")) {
 
-      DataIterator iterator = dataSet.iterator();
+      IDataIterator iterator = dataSet.iterator();
       System.out.println(dataSet.getColumnNames());
       dataSet.setFetchSize(1024); // default is 10000
       while (iterator.next()) {
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionPoolExample.java b/example/session/src/main/java/org/apache/iotdb/SessionPoolExample.java
index 23a1895c22..d126bf1c34 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionPoolExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionPoolExample.java
@@ -18,9 +18,9 @@
  */
 package org.apache.iotdb;
 
+import org.apache.iotdb.isession.IDataIterator;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
-import org.apache.iotdb.session.SessionDataSet.DataIterator;
 import org.apache.iotdb.session.pool.SessionDataSetWrapper;
 import org.apache.iotdb.session.pool.SessionPool;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -126,7 +126,7 @@ public class SessionPoolExample {
             try {
               wrapper = sessionPool.executeQueryStatement("select * from root.sg1.d1");
               // get DataIterator like JDBC
-              DataIterator dataIterator = wrapper.iterator();
+              IDataIterator dataIterator = wrapper.iterator();
               System.out.println(wrapper.getColumnNames());
               System.out.println(wrapper.getColumnTypes());
               while (dataIterator.next()) {
diff --git a/integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java b/integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
index 451be54fd7..9ed442f17a 100644
--- a/integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
+++ b/integration/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java
@@ -26,6 +26,8 @@ import org.apache.iotdb.db.metadata.MManager;
 import org.apache.iotdb.db.metadata.mnode.IMeasurementMNode;
 import org.apache.iotdb.db.metadata.path.PartialPath;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.template.TemplateNode;
 import org.apache.iotdb.itbase.category.LocalStandaloneTest;
 import org.apache.iotdb.rpc.BatchExecutionException;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
@@ -33,8 +35,6 @@ import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.session.template.InternalNode;
 import org.apache.iotdb.session.template.MeasurementNode;
-import org.apache.iotdb.session.template.Template;
-import org.apache.iotdb.session.template.TemplateNode;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/integration/src/test/java/org/apache/iotdb/session/SessionCacheLeaderUT.java b/integration/src/test/java/org/apache/iotdb/session/SessionCacheLeaderUT.java
index 8cee7c9db1..0570b250f8 100644
--- a/integration/src/test/java/org/apache/iotdb/session/SessionCacheLeaderUT.java
+++ b/integration/src/test/java/org/apache/iotdb/session/SessionCacheLeaderUT.java
@@ -19,6 +19,7 @@
 
 package org.apache.iotdb.session;
 
+import org.apache.iotdb.isession.Config;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.RedirectException;
 import org.apache.iotdb.rpc.StatementExecutionException;
diff --git a/integration/src/test/java/org/apache/iotdb/session/SessionTest.java b/integration/src/test/java/org/apache/iotdb/session/SessionTest.java
index 17bc79625f..723b0d9e39 100644
--- a/integration/src/test/java/org/apache/iotdb/session/SessionTest.java
+++ b/integration/src/test/java/org/apache/iotdb/session/SessionTest.java
@@ -20,14 +20,14 @@ package org.apache.iotdb.session;
 
 import org.apache.iotdb.db.conf.IoTDBConstant;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.template.TemplateNode;
+import org.apache.iotdb.isession.util.Version;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.service.rpc.thrift.TSBackupConfigurationResp;
 import org.apache.iotdb.session.template.InternalNode;
 import org.apache.iotdb.session.template.MeasurementNode;
-import org.apache.iotdb.session.template.Template;
-import org.apache.iotdb.session.template.TemplateNode;
-import org.apache.iotdb.session.util.Version;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
diff --git a/integration/src/test/java/org/apache/iotdb/session/pool/SessionPoolTest.java b/integration/src/test/java/org/apache/iotdb/session/pool/SessionPoolTest.java
index 22f5bb23b0..3bc38e3baf 100644
--- a/integration/src/test/java/org/apache/iotdb/session/pool/SessionPoolTest.java
+++ b/integration/src/test/java/org/apache/iotdb/session/pool/SessionPoolTest.java
@@ -20,11 +20,11 @@ package org.apache.iotdb.session.pool;
 
 import org.apache.iotdb.db.conf.IoTDBConstant;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
+import org.apache.iotdb.isession.Config;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.service.rpc.thrift.TSConnectionInfoResp;
 import org.apache.iotdb.service.rpc.thrift.TSConnectionType;
-import org.apache.iotdb.session.Config;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.After;
diff --git a/integration/src/test/java/org/apache/iotdb/session/template/TemplateUT.java b/integration/src/test/java/org/apache/iotdb/session/template/TemplateUT.java
index 06b3593824..05b92a1c0a 100644
--- a/integration/src/test/java/org/apache/iotdb/session/template/TemplateUT.java
+++ b/integration/src/test/java/org/apache/iotdb/session/template/TemplateUT.java
@@ -25,6 +25,8 @@ import org.apache.iotdb.db.exception.metadata.MetadataException;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.physical.sys.CreateTemplatePlan;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.template.TemplateNode;
 import org.apache.iotdb.rpc.BatchExecutionException;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
diff --git a/isession/src/main/java/org/apache/iotdb/session/Config.java b/isession/src/main/java/org/apache/iotdb/isession/Config.java
similarity index 95%
rename from isession/src/main/java/org/apache/iotdb/session/Config.java
rename to isession/src/main/java/org/apache/iotdb/isession/Config.java
index 6304fb5a5a..7de9474910 100644
--- a/isession/src/main/java/org/apache/iotdb/session/Config.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/Config.java
@@ -16,9 +16,9 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session;
+package org.apache.iotdb.isession;
 
-import org.apache.iotdb.session.util.Version;
+import org.apache.iotdb.isession.util.Version;
 
 public class Config {
 
diff --git a/isession/src/main/java/org/apache/iotdb/session/IDataIterator.java b/isession/src/main/java/org/apache/iotdb/isession/IDataIterator.java
similarity index 98%
rename from isession/src/main/java/org/apache/iotdb/session/IDataIterator.java
rename to isession/src/main/java/org/apache/iotdb/isession/IDataIterator.java
index 7d17f390af..83396da8c1 100644
--- a/isession/src/main/java/org/apache/iotdb/session/IDataIterator.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/IDataIterator.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session;
+package org.apache.iotdb.isession;
 
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
diff --git a/isession/src/main/java/org/apache/iotdb/session/ISession.java b/isession/src/main/java/org/apache/iotdb/isession/ISession.java
similarity index 96%
rename from isession/src/main/java/org/apache/iotdb/session/ISession.java
rename to isession/src/main/java/org/apache/iotdb/isession/ISession.java
index 4638ce3918..2ced70fd41 100644
--- a/isession/src/main/java/org/apache/iotdb/session/ISession.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/ISession.java
@@ -16,15 +16,15 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session;
+package org.apache.iotdb.isession;
 
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.util.SystemStatus;
+import org.apache.iotdb.isession.util.Version;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.service.rpc.thrift.TSBackupConfigurationResp;
 import org.apache.iotdb.service.rpc.thrift.TSConnectionInfoResp;
-import org.apache.iotdb.session.template.Template;
-import org.apache.iotdb.session.util.SystemStatus;
-import org.apache.iotdb.session.util.Version;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -113,22 +113,22 @@ public interface ISession {
 
   long getQueryTimeout();
 
-  SessionDataSet executeQueryStatement(String sql)
+  ISessionDataSet executeQueryStatement(String sql)
       throws StatementExecutionException, IoTDBConnectionException;
 
-  SessionDataSet executeQueryStatement(String sql, long timeoutInMs)
+  ISessionDataSet executeQueryStatement(String sql, long timeoutInMs)
       throws StatementExecutionException, IoTDBConnectionException;
 
   void executeNonQueryStatement(String sql)
       throws IoTDBConnectionException, StatementExecutionException;
 
-  SessionDataSet executeRawDataQuery(List<String> paths, long startTime, long endTime)
+  ISessionDataSet executeRawDataQuery(List<String> paths, long startTime, long endTime)
       throws StatementExecutionException, IoTDBConnectionException;
 
-  SessionDataSet executeLastDataQuery(List<String> paths, long LastTime)
+  ISessionDataSet executeLastDataQuery(List<String> paths, long LastTime)
       throws StatementExecutionException, IoTDBConnectionException;
 
-  SessionDataSet executeLastDataQuery(List<String> paths)
+  ISessionDataSet executeLastDataQuery(List<String> paths)
       throws StatementExecutionException, IoTDBConnectionException;
 
   void insertRecord(
diff --git a/isession/src/main/java/org/apache/iotdb/session/ISessionDataSet.java b/isession/src/main/java/org/apache/iotdb/isession/ISessionDataSet.java
similarity index 97%
copy from isession/src/main/java/org/apache/iotdb/session/ISessionDataSet.java
copy to isession/src/main/java/org/apache/iotdb/isession/ISessionDataSet.java
index 75d232fa4d..87f3ecb95e 100644
--- a/isession/src/main/java/org/apache/iotdb/session/ISessionDataSet.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/ISessionDataSet.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session;
+package org.apache.iotdb.isession;
 
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
diff --git a/isession/src/main/java/org/apache/iotdb/session/ISessionDataSet.java b/isession/src/main/java/org/apache/iotdb/isession/pool/ISessionDataSetWrapper.java
similarity index 66%
rename from isession/src/main/java/org/apache/iotdb/session/ISessionDataSet.java
rename to isession/src/main/java/org/apache/iotdb/isession/pool/ISessionDataSetWrapper.java
index 75d232fa4d..76a8fe06cf 100644
--- a/isession/src/main/java/org/apache/iotdb/session/ISessionDataSet.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/pool/ISessionDataSetWrapper.java
@@ -16,29 +16,36 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session;
+package org.apache.iotdb.isession.pool;
 
+import org.apache.iotdb.isession.IDataIterator;
+import org.apache.iotdb.isession.ISession;
+import org.apache.iotdb.isession.ISessionDataSet;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.tsfile.read.common.RowRecord;
 
 import java.util.List;
 
-public interface ISessionDataSet extends AutoCloseable {
+public interface ISessionDataSetWrapper extends AutoCloseable {
 
-  int getFetchSize();
+  ISession getSession();
 
-  void setFetchSize(int fetchSize);
+  int getBatchSize();
 
-  List<String> getColumnNames();
+  void setBatchSize(int batchSize);
 
-  List<String> getColumnTypes();
+  boolean hasNext() throws IoTDBConnectionException, StatementExecutionException;
+
+  RowRecord next() throws IoTDBConnectionException, StatementExecutionException;
+
+  IDataIterator iterator();
 
-  boolean hasNext() throws StatementExecutionException, IoTDBConnectionException;
+  List<String> getColumnNames();
 
-  RowRecord next() throws StatementExecutionException, IoTDBConnectionException;
+  List<String> getColumnTypes();
 
-  void closeOperationHandle() throws StatementExecutionException, IoTDBConnectionException;
+  void close();
 
-  IDataIterator iterator();
+  ISessionDataSet getSessionDataSet();
 }
diff --git a/isession/src/main/java/org/apache/iotdb/session/pool/ISessionPool.java b/isession/src/main/java/org/apache/iotdb/isession/pool/ISessionPool.java
similarity index 97%
rename from isession/src/main/java/org/apache/iotdb/session/pool/ISessionPool.java
rename to isession/src/main/java/org/apache/iotdb/isession/pool/ISessionPool.java
index 912fdb621b..c3bf112060 100644
--- a/isession/src/main/java/org/apache/iotdb/session/pool/ISessionPool.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/pool/ISessionPool.java
@@ -16,14 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session.pool;
+package org.apache.iotdb.isession.pool;
 
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.util.SystemStatus;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.service.rpc.thrift.TSBackupConfigurationResp;
 import org.apache.iotdb.service.rpc.thrift.TSConnectionInfoResp;
-import org.apache.iotdb.session.template.Template;
-import org.apache.iotdb.session.util.SystemStatus;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -43,7 +43,7 @@ public interface ISessionPool {
 
   void close();
 
-  void closeResultSet(SessionDataSetWrapper wrapper);
+  void closeResultSet(ISessionDataSetWrapper wrapper);
 
   void insertTablet(Tablet tablet) throws IoTDBConnectionException, StatementExecutionException;
 
@@ -382,16 +382,16 @@ public interface ISessionPool {
   void dropSchemaTemplate(String templateName)
       throws StatementExecutionException, IoTDBConnectionException;
 
-  SessionDataSetWrapper executeQueryStatement(String sql)
+  ISessionDataSetWrapper executeQueryStatement(String sql)
       throws IoTDBConnectionException, StatementExecutionException;
 
-  SessionDataSetWrapper executeQueryStatement(String sql, long timeoutInMs)
+  ISessionDataSetWrapper executeQueryStatement(String sql, long timeoutInMs)
       throws IoTDBConnectionException, StatementExecutionException;
 
   void executeNonQueryStatement(String sql)
       throws StatementExecutionException, IoTDBConnectionException;
 
-  SessionDataSetWrapper executeRawDataQuery(List<String> paths, long startTime, long endTime)
+  ISessionDataSetWrapper executeRawDataQuery(List<String> paths, long startTime, long endTime)
       throws IoTDBConnectionException, StatementExecutionException;
 
   boolean operationSyncTransmit(ByteBuffer buffer)
diff --git a/isession/src/main/java/org/apache/iotdb/session/template/Template.java b/isession/src/main/java/org/apache/iotdb/isession/template/Template.java
similarity index 98%
rename from isession/src/main/java/org/apache/iotdb/session/template/Template.java
rename to isession/src/main/java/org/apache/iotdb/isession/template/Template.java
index ed12b27639..0582d8e0cd 100644
--- a/isession/src/main/java/org/apache/iotdb/session/template/Template.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/template/Template.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session.template;
+package org.apache.iotdb.isession.template;
 
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
diff --git a/isession/src/main/java/org/apache/iotdb/session/template/TemplateNode.java b/isession/src/main/java/org/apache/iotdb/isession/template/TemplateNode.java
similarity index 97%
rename from isession/src/main/java/org/apache/iotdb/session/template/TemplateNode.java
rename to isession/src/main/java/org/apache/iotdb/isession/template/TemplateNode.java
index e47ce56a41..c408b4ecdc 100644
--- a/isession/src/main/java/org/apache/iotdb/session/template/TemplateNode.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/template/TemplateNode.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session.template;
+package org.apache.iotdb.isession.template;
 
 import org.apache.iotdb.rpc.StatementExecutionException;
 
diff --git a/isession/src/main/java/org/apache/iotdb/session/util/SystemStatus.java b/isession/src/main/java/org/apache/iotdb/isession/util/SystemStatus.java
similarity index 96%
rename from isession/src/main/java/org/apache/iotdb/session/util/SystemStatus.java
rename to isession/src/main/java/org/apache/iotdb/isession/util/SystemStatus.java
index ad383dbfcb..318e493b6f 100644
--- a/isession/src/main/java/org/apache/iotdb/session/util/SystemStatus.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/util/SystemStatus.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.session.util;
+package org.apache.iotdb.isession.util;
 
 /** Status of current system */
 public enum SystemStatus {
diff --git a/isession/src/main/java/org/apache/iotdb/session/util/Version.java b/isession/src/main/java/org/apache/iotdb/isession/util/Version.java
similarity index 95%
rename from isession/src/main/java/org/apache/iotdb/session/util/Version.java
rename to isession/src/main/java/org/apache/iotdb/isession/util/Version.java
index 118c326949..31f3880439 100644
--- a/isession/src/main/java/org/apache/iotdb/session/util/Version.java
+++ b/isession/src/main/java/org/apache/iotdb/isession/util/Version.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.session.util;
+package org.apache.iotdb.isession.util;
 
 public enum Version {
   V_0_12,
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index 595a2b6935..dd600a4fe8 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -75,6 +75,7 @@ import org.apache.iotdb.db.service.metrics.enums.Tag;
 import org.apache.iotdb.db.utils.TestOnly;
 import org.apache.iotdb.db.utils.ThreadUtils;
 import org.apache.iotdb.db.utils.UpgradeUtils;
+import org.apache.iotdb.isession.util.SystemStatus;
 import org.apache.iotdb.metrics.config.MetricConfigDescriptor;
 import org.apache.iotdb.metrics.utils.MetricLevel;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
@@ -82,7 +83,6 @@ import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.service.rpc.thrift.TSStatus;
 import org.apache.iotdb.session.pool.SessionPool;
-import org.apache.iotdb.session.util.SystemStatus;
 import org.apache.iotdb.tsfile.utils.FilePathUtils;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/mlog/ExportSchema.java b/server/src/main/java/org/apache/iotdb/db/tools/mlog/ExportSchema.java
index 0dd972d23d..2a972092d5 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/mlog/ExportSchema.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/mlog/ExportSchema.java
@@ -18,10 +18,10 @@
  */
 package org.apache.iotdb.db.tools.mlog;
 
+import org.apache.iotdb.isession.util.Version;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.session.Session;
-import org.apache.iotdb.session.util.Version;
 
 import org.apache.commons.cli.CommandLine;
 import org.apache.commons.cli.CommandLineParser;
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/mlog/MLogLoader.java b/server/src/main/java/org/apache/iotdb/db/tools/mlog/MLogLoader.java
index 9c73c3eaed..f592dc1a8a 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/mlog/MLogLoader.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/mlog/MLogLoader.java
@@ -39,10 +39,10 @@ import org.apache.iotdb.db.qp.physical.sys.SetTTLPlan;
 import org.apache.iotdb.db.qp.physical.sys.SetTemplatePlan;
 import org.apache.iotdb.db.qp.physical.sys.UnsetTemplatePlan;
 import org.apache.iotdb.db.utils.CommandLineUtils;
+import org.apache.iotdb.isession.util.Version;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.session.Session;
-import org.apache.iotdb.session.util.Version;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
diff --git a/session/src/main/java/org/apache/iotdb/session/Session.java b/session/src/main/java/org/apache/iotdb/session/Session.java
index 1cfb17503f..b3725521ca 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -18,6 +18,11 @@
  */
 package org.apache.iotdb.session;
 
+import org.apache.iotdb.isession.Config;
+import org.apache.iotdb.isession.ISession;
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.util.SystemStatus;
+import org.apache.iotdb.isession.util.Version;
 import org.apache.iotdb.rpc.BatchExecutionException;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.NoValidValueException;
@@ -50,12 +55,9 @@ import org.apache.iotdb.service.rpc.thrift.TSSetSchemaTemplateReq;
 import org.apache.iotdb.service.rpc.thrift.TSSetUsingTemplateReq;
 import org.apache.iotdb.service.rpc.thrift.TSUnsetSchemaTemplateReq;
 import org.apache.iotdb.session.template.MeasurementNode;
-import org.apache.iotdb.session.template.Template;
 import org.apache.iotdb.session.template.TemplateQueryType;
 import org.apache.iotdb.session.util.SessionUtils;
-import org.apache.iotdb.session.util.SystemStatus;
 import org.apache.iotdb.session.util.ThreadUtils;
-import org.apache.iotdb.session.util.Version;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
index 5d8c6f7ebf..a256fe3c59 100644
--- a/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
+++ b/session/src/main/java/org/apache/iotdb/session/SessionConnection.java
@@ -19,6 +19,8 @@
 
 package org.apache.iotdb.session;
 
+import org.apache.iotdb.isession.Config;
+import org.apache.iotdb.isession.util.SystemStatus;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.RedirectException;
 import org.apache.iotdb.rpc.RpcTransportFactory;
@@ -62,7 +64,6 @@ import org.apache.iotdb.service.rpc.thrift.TSSetUsingTemplateReq;
 import org.apache.iotdb.service.rpc.thrift.TSStatus;
 import org.apache.iotdb.service.rpc.thrift.TSUnsetSchemaTemplateReq;
 import org.apache.iotdb.session.util.SessionUtils;
-import org.apache.iotdb.session.util.SystemStatus;
 
 import org.apache.thrift.TException;
 import org.apache.thrift.protocol.TBinaryProtocol;
diff --git a/isession/src/main/java/org/apache/iotdb/session/SessionDataSet.java b/session/src/main/java/org/apache/iotdb/session/SessionDataSet.java
similarity index 98%
rename from isession/src/main/java/org/apache/iotdb/session/SessionDataSet.java
rename to session/src/main/java/org/apache/iotdb/session/SessionDataSet.java
index abb933d9a4..3c24376da1 100644
--- a/isession/src/main/java/org/apache/iotdb/session/SessionDataSet.java
+++ b/session/src/main/java/org/apache/iotdb/session/SessionDataSet.java
@@ -18,6 +18,9 @@
  */
 package org.apache.iotdb.session;
 
+import org.apache.iotdb.isession.Config;
+import org.apache.iotdb.isession.IDataIterator;
+import org.apache.iotdb.isession.ISessionDataSet;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.IoTDBRpcDataSet;
 import org.apache.iotdb.rpc.StatementExecutionException;
diff --git a/isession/src/main/java/org/apache/iotdb/session/pool/SessionDataSetWrapper.java b/session/src/main/java/org/apache/iotdb/session/pool/SessionDataSetWrapper.java
similarity index 78%
rename from isession/src/main/java/org/apache/iotdb/session/pool/SessionDataSetWrapper.java
rename to session/src/main/java/org/apache/iotdb/session/pool/SessionDataSetWrapper.java
index 6674fc1cc6..6c45b15cee 100644
--- a/isession/src/main/java/org/apache/iotdb/session/pool/SessionDataSetWrapper.java
+++ b/session/src/main/java/org/apache/iotdb/session/pool/SessionDataSetWrapper.java
@@ -18,35 +18,41 @@
  */
 package org.apache.iotdb.session.pool;
 
+import org.apache.iotdb.isession.IDataIterator;
+import org.apache.iotdb.isession.ISession;
+import org.apache.iotdb.isession.ISessionDataSet;
+import org.apache.iotdb.isession.pool.ISessionDataSetWrapper;
+import org.apache.iotdb.isession.pool.ISessionPool;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
-import org.apache.iotdb.session.ISession;
-import org.apache.iotdb.session.SessionDataSet;
-import org.apache.iotdb.session.SessionDataSet.DataIterator;
 import org.apache.iotdb.tsfile.read.common.RowRecord;
 
 import java.util.List;
 
-public class SessionDataSetWrapper implements AutoCloseable {
+public class SessionDataSetWrapper implements ISessionDataSetWrapper {
 
-  SessionDataSet sessionDataSet;
+  ISessionDataSet sessionDataSet;
   ISession session;
   ISessionPool pool;
 
-  public SessionDataSetWrapper(SessionDataSet sessionDataSet, ISession session, ISessionPool pool) {
+  public SessionDataSetWrapper(
+      ISessionDataSet sessionDataSet, ISession session, ISessionPool pool) {
     this.sessionDataSet = sessionDataSet;
     this.session = session;
     this.pool = pool;
   }
 
-  protected ISession getSession() {
+  @Override
+  public ISession getSession() {
     return session;
   }
 
+  @Override
   public int getBatchSize() {
     return sessionDataSet.getFetchSize();
   }
 
+  @Override
   public void setBatchSize(int batchSize) {
     sessionDataSet.setFetchSize(batchSize);
   }
@@ -59,6 +65,7 @@ public class SessionDataSetWrapper implements AutoCloseable {
    * @throws IoTDBConnectionException
    * @throws StatementExecutionException
    */
+  @Override
   public boolean hasNext() throws IoTDBConnectionException, StatementExecutionException {
     boolean next = sessionDataSet.hasNext();
     if (!next) {
@@ -74,19 +81,23 @@ public class SessionDataSetWrapper implements AutoCloseable {
    * @throws IoTDBConnectionException
    * @throws StatementExecutionException
    */
+  @Override
   public RowRecord next() throws IoTDBConnectionException, StatementExecutionException {
     return sessionDataSet.next();
   }
 
   /** retrieve data set like jdbc */
-  public DataIterator iterator() {
+  @Override
+  public IDataIterator iterator() {
     return sessionDataSet.iterator();
   }
 
+  @Override
   public List<String> getColumnNames() {
     return sessionDataSet.getColumnNames();
   }
 
+  @Override
   public List<String> getColumnTypes() {
     return sessionDataSet.getColumnTypes();
   }
@@ -96,4 +107,9 @@ public class SessionDataSetWrapper implements AutoCloseable {
   public void close() {
     pool.closeResultSet(this);
   }
+
+  @Override
+  public ISessionDataSet getSessionDataSet() {
+    return sessionDataSet;
+  }
 }
diff --git a/session/src/main/java/org/apache/iotdb/session/pool/SessionPool.java b/session/src/main/java/org/apache/iotdb/session/pool/SessionPool.java
index 929e1d107c..24891a01e7 100644
--- a/session/src/main/java/org/apache/iotdb/session/pool/SessionPool.java
+++ b/session/src/main/java/org/apache/iotdb/session/pool/SessionPool.java
@@ -18,16 +18,18 @@
  */
 package org.apache.iotdb.session.pool;
 
+import org.apache.iotdb.isession.Config;
+import org.apache.iotdb.isession.ISession;
+import org.apache.iotdb.isession.ISessionDataSet;
+import org.apache.iotdb.isession.pool.ISessionDataSetWrapper;
+import org.apache.iotdb.isession.pool.ISessionPool;
+import org.apache.iotdb.isession.template.Template;
+import org.apache.iotdb.isession.util.SystemStatus;
 import org.apache.iotdb.rpc.IoTDBConnectionException;
 import org.apache.iotdb.rpc.StatementExecutionException;
 import org.apache.iotdb.service.rpc.thrift.TSBackupConfigurationResp;
 import org.apache.iotdb.service.rpc.thrift.TSConnectionInfoResp;
-import org.apache.iotdb.session.Config;
-import org.apache.iotdb.session.ISession;
 import org.apache.iotdb.session.Session;
-import org.apache.iotdb.session.SessionDataSet;
-import org.apache.iotdb.session.template.Template;
-import org.apache.iotdb.session.util.SystemStatus;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
@@ -472,17 +474,17 @@ public class SessionPool implements ISessionPool {
   }
 
   @Override
-  public void closeResultSet(SessionDataSetWrapper wrapper) {
+  public void closeResultSet(ISessionDataSetWrapper wrapper) {
     boolean putback = true;
     try {
-      wrapper.sessionDataSet.closeOperationHandle();
+      wrapper.getSessionDataSet().closeOperationHandle();
     } catch (IoTDBConnectionException | StatementExecutionException e) {
       tryConstructNewSession();
       putback = false;
     } finally {
-      ISession session = occupied.remove(wrapper.session);
+      ISession session = occupied.remove(wrapper.getSession());
       if (putback && session != null) {
-        putBack(wrapper.session);
+        putBack(wrapper.getSession());
       }
     }
   }
@@ -2272,7 +2274,7 @@ public class SessionPool implements ISessionPool {
     for (int i = 0; i < RETRY; i++) {
       ISession session = getSession();
       try {
-        SessionDataSet resp = session.executeQueryStatement(sql);
+        ISessionDataSet resp = session.executeQueryStatement(sql);
         SessionDataSetWrapper wrapper = new SessionDataSetWrapper(resp, session, this);
         occupy(session);
         return wrapper;
@@ -2306,7 +2308,7 @@ public class SessionPool implements ISessionPool {
     for (int i = 0; i < RETRY; i++) {
       ISession session = getSession();
       try {
-        SessionDataSet resp = session.executeQueryStatement(sql, timeoutInMs);
+        ISessionDataSet resp = session.executeQueryStatement(sql, timeoutInMs);
         SessionDataSetWrapper wrapper = new SessionDataSetWrapper(resp, session, this);
         occupy(session);
         return wrapper;
@@ -2355,7 +2357,7 @@ public class SessionPool implements ISessionPool {
     for (int i = 0; i < RETRY; i++) {
       ISession session = getSession();
       try {
-        SessionDataSet resp = session.executeRawDataQuery(paths, startTime, endTime);
+        ISessionDataSet resp = session.executeRawDataQuery(paths, startTime, endTime);
         SessionDataSetWrapper wrapper = new SessionDataSetWrapper(resp, session, this);
         occupy(session);
         return wrapper;
diff --git a/session/src/main/java/org/apache/iotdb/session/template/InternalNode.java b/session/src/main/java/org/apache/iotdb/session/template/InternalNode.java
index b5ac030f72..9361eab46f 100644
--- a/session/src/main/java/org/apache/iotdb/session/template/InternalNode.java
+++ b/session/src/main/java/org/apache/iotdb/session/template/InternalNode.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.session.template;
 
+import org.apache.iotdb.isession.template.TemplateNode;
 import org.apache.iotdb.rpc.StatementExecutionException;
 
 import java.util.HashMap;
diff --git a/session/src/main/java/org/apache/iotdb/session/template/MeasurementNode.java b/session/src/main/java/org/apache/iotdb/session/template/MeasurementNode.java
index a989dd6cb9..0a5f6997a3 100644
--- a/session/src/main/java/org/apache/iotdb/session/template/MeasurementNode.java
+++ b/session/src/main/java/org/apache/iotdb/session/template/MeasurementNode.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.session.template;
 
+import org.apache.iotdb.isession.template.TemplateNode;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;