You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2023/04/12 07:53:29 UTC

[iotdb-client-go] branch beyyes/main created (now edd02e7)

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

caogaofei pushed a change to branch beyyes/main
in repository https://gitbox.apache.org/repos/asf/iotdb-client-go.git


      at edd02e7  iotdb-go-cliet fit 1.1

This branch includes the following new commits:

     new 1289b4c  fix 1.1 rpc interface
     new edd02e7  iotdb-go-cliet fit 1.1

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb-client-go] 01/02: fix 1.1 rpc interface

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch beyyes/main
in repository https://gitbox.apache.org/repos/asf/iotdb-client-go.git

commit 1289b4c8280ab2cfa0a153546c5d5983c7f3d750
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Tue Apr 11 10:41:19 2023 +0800

    fix 1.1 rpc interface
---
 client/errors.go                             |     9 +-
 client/rpcdataset.go                         |     7 +-
 client/rpcdataset_test.go                    |     2 +-
 client/session.go                            |    57 +-
 client/sessiondataset.go                     |     2 +-
 client/utils.go                              |     7 +-
 client/utils_test.go                         |    35 +-
 common/GoUnusedProtection__.go               |     6 +
 rpc/rpc-consts.go => common/common-consts.go |     2 +-
 common/common.go                             |  3181 ++++
 example/session_example.go                   |     4 +-
 example/session_pool/session_pool_example.go |     4 +-
 rpc/{rpc-consts.go => client-consts.go}      |     6 +-
 rpc/{rpc.go => client.go}                    | 21442 +++++++++++++++----------
 test/e2e/e2e_test.go                         |     4 +-
 15 files changed, 16414 insertions(+), 8354 deletions(-)

diff --git a/client/errors.go b/client/errors.go
index 17c6a60..2c54bde 100644
--- a/client/errors.go
+++ b/client/errors.go
@@ -21,12 +21,11 @@ package client
 
 import (
 	"bytes"
-
-	"github.com/apache/iotdb-client-go/rpc"
+	"github.com/apache/iotdb-client-go/common"
 )
 
 type BatchError struct {
-	statuses []*rpc.TSStatus
+	statuses []*common.TSStatus
 }
 
 func (e *BatchError) Error() string {
@@ -37,11 +36,11 @@ func (e *BatchError) Error() string {
 	return buff.String()
 }
 
-func (e *BatchError) GetStatuses() []*rpc.TSStatus {
+func (e *BatchError) GetStatuses() []*common.TSStatus {
 	return e.statuses
 }
 
-func NewBatchError(statuses []*rpc.TSStatus) *BatchError {
+func NewBatchError(statuses []*common.TSStatus) *BatchError {
 	return &BatchError{
 		statuses: statuses,
 	}
diff --git a/client/rpcdataset.go b/client/rpcdataset.go
index a9a4483..0dd77cd 100644
--- a/client/rpcdataset.go
+++ b/client/rpcdataset.go
@@ -24,6 +24,7 @@ import (
 	"encoding/binary"
 	"errors"
 	"fmt"
+	"github.com/apache/iotdb-client-go/common"
 	"math"
 	"time"
 
@@ -63,7 +64,7 @@ type IoTDBRpcDataSet struct {
 	currentBitmap              []byte
 	time                       []byte
 	values                     [][]byte
-	client                     *rpc.TSIServiceClient
+	client                     *rpc.IClientRPCServiceClient
 	emptyResultSet             bool
 	ignoreTimeStamp            bool
 	closed                     bool
@@ -480,7 +481,7 @@ func (s *IoTDBRpcDataSet) Close() (err error) {
 			QueryId:   &s.queryId,
 		}
 
-		var status *rpc.TSStatus
+		var status *common.TSStatus
 		status, err = s.client.CloseOperation(context.Background(), closeRequest)
 		if err == nil {
 			err = VerifySuccess(status)
@@ -509,7 +510,7 @@ func (s *IoTDBRpcDataSet) Close() (err error) {
 
 func NewIoTDBRpcDataSet(sql string, columnNameList []string, columnTypes []string,
 	columnNameIndex map[string]int32,
-	queryId int64, client *rpc.TSIServiceClient, sessionId int64, queryDataSet *rpc.TSQueryDataSet,
+	queryId int64, client *rpc.IClientRPCServiceClient, sessionId int64, queryDataSet *rpc.TSQueryDataSet,
 	ignoreTimeStamp bool, fetchSize int32, timeoutMs *int64) *IoTDBRpcDataSet {
 
 	ds := &IoTDBRpcDataSet{
diff --git a/client/rpcdataset_test.go b/client/rpcdataset_test.go
index 53070f4..4201401 100644
--- a/client/rpcdataset_test.go
+++ b/client/rpcdataset_test.go
@@ -40,7 +40,7 @@ func createIoTDBRpcDataSet() *IoTDBRpcDataSet {
 	}
 	var queyrId int64 = 1
 	var sessionId int64 = 1
-	var client *rpc.TSIServiceClient = nil
+	var client *rpc.IClientRPCServiceClient = nil
 	queryDataSet := rpc.TSQueryDataSet{
 		Time:       []byte{0, 0, 1, 118, 76, 52, 0, 236, 0, 0, 1, 118, 76, 52, 25, 228, 0, 0, 1, 118, 76, 52, 41, 42, 0, 0, 1, 118, 76, 52, 243, 148, 0, 0, 1, 118, 76, 95, 98, 255},
 		ValueList:  [][]byte{{0, 0, 0, 13, 84, 101, 115, 116, 32, 68, 101, 118, 105, 99, 101, 32, 49, 0, 0, 0, 13, 84, 101, 115, 116, 32, 68, 101, 118, 105, 99, 101, 32, 49, 0, 0, 0, 13, 84, 101, 115, 116, 32, 68, 101, 118, 105, 99, 101, 32, 49, 0, 0, 0, 13, 84, 101, 115, 116, 32, 68, 101, 118, 105, 99, 101, 32, 49, 0, 0, 0, 13, 84, 101, 115, 116, 32, 68, 101, 118, 105, 99, 101, 32, 49}, {64, 159, 16, 204, 204, 204, 204, 205, 64, 159, 16, 204, 204, 204, 204, 205, 64, 159, 16, 204, 204, 204, 20 [...]
diff --git a/client/session.go b/client/session.go
index 1851d91..18bbdef 100644
--- a/client/session.go
+++ b/client/session.go
@@ -26,6 +26,7 @@ import (
 	"encoding/binary"
 	"errors"
 	"fmt"
+	"github.com/apache/iotdb-client-go/common"
 	"log"
 	"net"
 	"reflect"
@@ -57,7 +58,7 @@ type Config struct {
 
 type Session struct {
 	config             *Config
-	client             *rpc.TSIServiceClient
+	client             *rpc.IClientRPCServiceClient
 	sessionId          int64
 	trans              thrift.TTransport
 	requestStatementId int64
@@ -108,7 +109,7 @@ func (s *Session) Open(enableRPCCompression bool, connectionTimeoutInMs int) err
 	}
 	iprot := protocolFactory.GetProtocol(s.trans)
 	oprot := protocolFactory.GetProtocol(s.trans)
-	s.client = rpc.NewTSIServiceClient(thrift.NewTStandardClient(iprot, oprot))
+	s.client = rpc.NewIClientRPCServiceClient(thrift.NewTStandardClient(iprot, oprot))
 	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: &s.config.UserName,
 		Password: &s.config.Password}
 	resp, err := s.client.OpenSession(context.Background(), &req)
@@ -131,7 +132,7 @@ type ClusterConfig struct {
 
 type ClusterSession struct {
 	config             *ClusterConfig
-	client             *rpc.TSIServiceClient
+	client             *rpc.IClientRPCServiceClient
 	sessionId          int64
 	trans              thrift.TTransport
 	requestStatementId int64
@@ -159,7 +160,7 @@ func (s *Session) OpenCluster(enableRPCCompression bool) error {
 	}
 	iprot := protocolFactory.GetProtocol(s.trans)
 	oprot := protocolFactory.GetProtocol(s.trans)
-	s.client = rpc.NewTSIServiceClient(thrift.NewTStandardClient(iprot, oprot))
+	s.client = rpc.NewIClientRPCServiceClient(thrift.NewTStandardClient(iprot, oprot))
 	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: &s.config.UserName,
 		Password: &s.config.Password}
 
@@ -172,7 +173,7 @@ func (s *Session) OpenCluster(enableRPCCompression bool) error {
 	return err
 }
 
-func (s *Session) Close() (r *rpc.TSStatus, err error) {
+func (s *Session) Close() (r *common.TSStatus, err error) {
 	req := rpc.NewTSCloseSessionReq()
 	req.SessionId = s.sessionId
 	_, err = s.client.CloseSession(context.Background(), req)
@@ -189,7 +190,7 @@ func (s *Session) Close() (r *rpc.TSStatus, err error) {
  *return
  *error: correctness of operation
  */
-func (s *Session) SetStorageGroup(storageGroupId string) (r *rpc.TSStatus, err error) {
+func (s *Session) SetStorageGroup(storageGroupId string) (r *common.TSStatus, err error) {
 	r, err = s.client.SetStorageGroup(context.Background(), s.sessionId, storageGroupId)
 	if err != nil && r == nil {
 		if s.reconnect() {
@@ -206,7 +207,7 @@ func (s *Session) SetStorageGroup(storageGroupId string) (r *rpc.TSStatus, err e
  *return
  *error: correctness of operation
  */
-func (s *Session) DeleteStorageGroup(storageGroupId string) (r *rpc.TSStatus, err error) {
+func (s *Session) DeleteStorageGroup(storageGroupId string) (r *common.TSStatus, err error) {
 	r, err = s.client.DeleteStorageGroups(context.Background(), s.sessionId, []string{storageGroupId})
 	if err != nil && r == nil {
 		if s.reconnect() {
@@ -223,7 +224,7 @@ func (s *Session) DeleteStorageGroup(storageGroupId string) (r *rpc.TSStatus, er
  *return
  *error: correctness of operation
  */
-func (s *Session) DeleteStorageGroups(storageGroupIds ...string) (r *rpc.TSStatus, err error) {
+func (s *Session) DeleteStorageGroups(storageGroupIds ...string) (r *common.TSStatus, err error) {
 	r, err = s.client.DeleteStorageGroups(context.Background(), s.sessionId, storageGroupIds)
 	if err != nil && r == nil {
 		if s.reconnect() {
@@ -243,7 +244,7 @@ func (s *Session) DeleteStorageGroups(storageGroupIds ...string) (r *rpc.TSStatu
  *return
  *error: correctness of operation
  */
-func (s *Session) CreateTimeseries(path string, dataType TSDataType, encoding TSEncoding, compressor TSCompressionType, attributes map[string]string, tags map[string]string) (r *rpc.TSStatus, err error) {
+func (s *Session) CreateTimeseries(path string, dataType TSDataType, encoding TSEncoding, compressor TSCompressionType, attributes map[string]string, tags map[string]string) (r *common.TSStatus, err error) {
 	request := rpc.TSCreateTimeseriesReq{SessionId: s.sessionId, Path: path, DataType: int32(dataType), Encoding: int32(encoding),
 		Compressor: int32(compressor), Attributes: attributes, Tags: tags}
 	status, err := s.client.CreateTimeseries(context.Background(), &request)
@@ -268,7 +269,7 @@ func (s *Session) CreateTimeseries(path string, dataType TSDataType, encoding TS
  *return
  *error: correctness of operation
  */
-func (s *Session) CreateAlignedTimeseries(prefixPath string, measurements []string, dataTypes []TSDataType, encodings []TSEncoding, compressors []TSCompressionType, measurementAlias []string) (r *rpc.TSStatus, err error) {
+func (s *Session) CreateAlignedTimeseries(prefixPath string, measurements []string, dataTypes []TSDataType, encodings []TSEncoding, compressors []TSCompressionType, measurementAlias []string) (r *common.TSStatus, err error) {
 	destTypes := make([]int32, len(dataTypes))
 	for i, t := range dataTypes {
 		destTypes[i] = int32(t)
@@ -313,7 +314,7 @@ func (s *Session) CreateAlignedTimeseries(prefixPath string, measurements []stri
  *return
  *error: correctness of operation
  */
-func (s *Session) CreateMultiTimeseries(paths []string, dataTypes []TSDataType, encodings []TSEncoding, compressors []TSCompressionType) (r *rpc.TSStatus, err error) {
+func (s *Session) CreateMultiTimeseries(paths []string, dataTypes []TSDataType, encodings []TSEncoding, compressors []TSCompressionType) (r *common.TSStatus, err error) {
 	destTypes := make([]int32, len(dataTypes))
 	for i, t := range dataTypes {
 		destTypes[i] = int32(t)
@@ -350,7 +351,7 @@ func (s *Session) CreateMultiTimeseries(paths []string, dataTypes []TSDataType,
  *return
  *error: correctness of operation
  */
-func (s *Session) DeleteTimeseries(paths []string) (r *rpc.TSStatus, err error) {
+func (s *Session) DeleteTimeseries(paths []string) (r *common.TSStatus, err error) {
 	r, err = s.client.DeleteTimeseries(context.Background(), s.sessionId, paths)
 	if err != nil && r == nil {
 		if s.reconnect() {
@@ -369,7 +370,7 @@ func (s *Session) DeleteTimeseries(paths []string) (r *rpc.TSStatus, err error)
  *return
  *error: correctness of operation
  */
-func (s *Session) DeleteData(paths []string, startTime int64, endTime int64) (r *rpc.TSStatus, err error) {
+func (s *Session) DeleteData(paths []string, startTime int64, endTime int64) (r *common.TSStatus, err error) {
 	request := rpc.TSDeleteDataReq{SessionId: s.sessionId, Paths: paths, StartTime: startTime, EndTime: endTime}
 	r, err = s.client.DeleteData(context.Background(), &request)
 	if err != nil && r == nil {
@@ -391,7 +392,7 @@ func (s *Session) DeleteData(paths []string, startTime int64, endTime int64) (r
  *return
  *error: correctness of operation
  */
-func (s *Session) InsertStringRecord(deviceId string, measurements []string, values []string, timestamp int64) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertStringRecord(deviceId string, measurements []string, values []string, timestamp int64) (r *common.TSStatus, err error) {
 	request := rpc.TSInsertStringRecordReq{SessionId: s.sessionId, PrefixPath: deviceId, Measurements: measurements,
 		Values: values, Timestamp: timestamp}
 	r, err = s.client.InsertStringRecord(context.Background(), &request)
@@ -412,7 +413,7 @@ func (s *Session) GetTimeZone() (string, error) {
 	return resp.TimeZone, nil
 }
 
-func (s *Session) SetTimeZone(timeZone string) (r *rpc.TSStatus, err error) {
+func (s *Session) SetTimeZone(timeZone string) (r *common.TSStatus, err error) {
 	request := rpc.TSSetTimeZoneReq{SessionId: s.sessionId, TimeZone: timeZone}
 	r, err = s.client.SetTimeZone(context.Background(), &request)
 	s.config.TimeZone = timeZone
@@ -438,7 +439,7 @@ func (s *Session) ExecuteStatement(sql string) (*SessionDataSet, error) {
 	return s.genDataSet(sql, resp), err
 }
 
-func (s *Session) ExecuteNonQueryStatement(sql string) (r *rpc.TSStatus, err error) {
+func (s *Session) ExecuteNonQueryStatement(sql string) (r *common.TSStatus, err error) {
 	request := rpc.TSExecuteStatementReq{
 		SessionId:   s.sessionId,
 		Statement:   sql,
@@ -499,7 +500,7 @@ func (s *Session) genTSInsertRecordReq(deviceId string, time int64,
 	return request, nil
 }
 
-func (s *Session) InsertRecord(deviceId string, measurements []string, dataTypes []TSDataType, values []interface{}, timestamp int64) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertRecord(deviceId string, measurements []string, dataTypes []TSDataType, values []interface{}, timestamp int64) (r *common.TSStatus, err error) {
 	request, err := s.genTSInsertRecordReq(deviceId, timestamp, measurements, dataTypes, values, false)
 	if err != nil {
 		return nil, err
@@ -516,7 +517,7 @@ func (s *Session) InsertRecord(deviceId string, measurements []string, dataTypes
 	return r, err
 }
 
-func (s *Session) InsertAlignedRecord(deviceId string, measurements []string, dataTypes []TSDataType, values []interface{}, timestamp int64) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertAlignedRecord(deviceId string, measurements []string, dataTypes []TSDataType, values []interface{}, timestamp int64) (r *common.TSStatus, err error) {
 	request, err := s.genTSInsertRecordReq(deviceId, timestamp, measurements, dataTypes, values, true)
 	if err != nil {
 		return nil, err
@@ -560,7 +561,7 @@ func (d *deviceData) Swap(i, j int) {
 // executeBatch, we pack some insert request in batch and send them to server. If you want improve
 // your performance, please see insertTablet method
 // Each row is independent, which could have different deviceId, time, number of measurements
-func (s *Session) InsertRecordsOfOneDevice(deviceId string, timestamps []int64, measurementsSlice [][]string, dataTypesSlice [][]TSDataType, valuesSlice [][]interface{}, sorted bool) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertRecordsOfOneDevice(deviceId string, timestamps []int64, measurementsSlice [][]string, dataTypesSlice [][]TSDataType, valuesSlice [][]interface{}, sorted bool) (r *common.TSStatus, err error) {
 	length := len(timestamps)
 	if len(measurementsSlice) != length || len(dataTypesSlice) != length || len(valuesSlice) != length {
 		return nil, errors.New("timestamps, measurementsSlice and valuesSlice's size should be equal")
@@ -602,7 +603,7 @@ func (s *Session) InsertRecordsOfOneDevice(deviceId string, timestamps []int64,
 	return r, err
 }
 
-func (s *Session) InsertAlignedRecordsOfOneDevice(deviceId string, timestamps []int64, measurementsSlice [][]string, dataTypesSlice [][]TSDataType, valuesSlice [][]interface{}, sorted bool) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertAlignedRecordsOfOneDevice(deviceId string, timestamps []int64, measurementsSlice [][]string, dataTypesSlice [][]TSDataType, valuesSlice [][]interface{}, sorted bool) (r *common.TSStatus, err error) {
 	length := len(timestamps)
 	if len(measurementsSlice) != length || len(dataTypesSlice) != length || len(valuesSlice) != length {
 		return nil, errors.New("timestamps, measurementsSlice and valuesSlice's size should be equal")
@@ -658,7 +659,7 @@ func (s *Session) InsertAlignedRecordsOfOneDevice(deviceId string, timestamps []
  *
  */
 func (s *Session) InsertRecords(deviceIds []string, measurements [][]string, dataTypes [][]TSDataType, values [][]interface{},
-	timestamps []int64) (r *rpc.TSStatus, err error) {
+	timestamps []int64) (r *common.TSStatus, err error) {
 	request, err := s.genInsertRecordsReq(deviceIds, measurements, dataTypes, values, timestamps, false)
 	if err != nil {
 		return nil, err
@@ -675,7 +676,7 @@ func (s *Session) InsertRecords(deviceIds []string, measurements [][]string, dat
 }
 
 func (s *Session) InsertAlignedRecords(deviceIds []string, measurements [][]string, dataTypes [][]TSDataType, values [][]interface{},
-	timestamps []int64) (r *rpc.TSStatus, err error) {
+	timestamps []int64) (r *common.TSStatus, err error) {
 	request, err := s.genInsertRecordsReq(deviceIds, measurements, dataTypes, values, timestamps, true)
 	if err != nil {
 		return nil, err
@@ -696,7 +697,7 @@ func (s *Session) InsertAlignedRecords(deviceIds []string, measurements [][]stri
  *params
  *tablets: []*client.Tablet, list of tablets
  */
-func (s *Session) InsertTablets(tablets []*Tablet, sorted bool) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertTablets(tablets []*Tablet, sorted bool) (r *common.TSStatus, err error) {
 	if !sorted {
 		for _, t := range tablets {
 			if err := t.Sort(); err != nil {
@@ -718,7 +719,7 @@ func (s *Session) InsertTablets(tablets []*Tablet, sorted bool) (r *rpc.TSStatus
 	return r, err
 }
 
-func (s *Session) InsertAlignedTablets(tablets []*Tablet, sorted bool) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertAlignedTablets(tablets []*Tablet, sorted bool) (r *common.TSStatus, err error) {
 	if !sorted {
 		for _, t := range tablets {
 			if err := t.Sort(); err != nil {
@@ -740,7 +741,7 @@ func (s *Session) InsertAlignedTablets(tablets []*Tablet, sorted bool) (r *rpc.T
 	return r, err
 }
 
-func (s *Session) ExecuteBatchStatement(inserts []string) (r *rpc.TSStatus, err error) {
+func (s *Session) ExecuteBatchStatement(inserts []string) (r *common.TSStatus, err error) {
 	request := rpc.TSExecuteBatchStatementReq{
 		SessionId:  s.sessionId,
 		Statements: inserts,
@@ -922,7 +923,7 @@ func valuesToBytes(dataTypes []TSDataType, values []interface{}) ([]byte, error)
 	return buff.Bytes(), nil
 }
 
-func (s *Session) InsertTablet(tablet *Tablet, sorted bool) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertTablet(tablet *Tablet, sorted bool) (r *common.TSStatus, err error) {
 	if !sorted {
 		if err := tablet.Sort(); err != nil {
 			return nil, err
@@ -945,7 +946,7 @@ func (s *Session) InsertTablet(tablet *Tablet, sorted bool) (r *rpc.TSStatus, er
 	return r, err
 }
 
-func (s *Session) InsertAlignedTablet(tablet *Tablet, sorted bool) (r *rpc.TSStatus, err error) {
+func (s *Session) InsertAlignedTablet(tablet *Tablet, sorted bool) (r *common.TSStatus, err error) {
 	if !sorted {
 		if err := tablet.Sort(); err != nil {
 			return nil, err
@@ -1067,7 +1068,7 @@ func (s *Session) initClusterConn(node endPoint) error {
 	protocolFactory = thrift.NewTBinaryProtocolFactoryDefault()
 	iprot := protocolFactory.GetProtocol(s.trans)
 	oprot := protocolFactory.GetProtocol(s.trans)
-	s.client = rpc.NewTSIServiceClient(thrift.NewTStandardClient(iprot, oprot))
+	s.client = rpc.NewIClientRPCServiceClient(thrift.NewTStandardClient(iprot, oprot))
 	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: &s.config.UserName,
 		Password: &s.config.Password}
 
diff --git a/client/sessiondataset.go b/client/sessiondataset.go
index dc4ed37..2bce854 100644
--- a/client/sessiondataset.go
+++ b/client/sessiondataset.go
@@ -112,7 +112,7 @@ func (s *SessionDataSet) Close() error {
 
 func NewSessionDataSet(sql string, columnNameList []string, columnTypeList []string,
 	columnNameIndex map[string]int32,
-	queryId int64, client *rpc.TSIServiceClient, sessionId int64, queryDataSet *rpc.TSQueryDataSet,
+	queryId int64, client *rpc.IClientRPCServiceClient, sessionId int64, queryDataSet *rpc.TSQueryDataSet,
 	ignoreTimeStamp bool, fetchSize int32, timeoutMs *int64) *SessionDataSet {
 
 	return &SessionDataSet{
diff --git a/client/utils.go b/client/utils.go
index 15354e1..f3c465b 100644
--- a/client/utils.go
+++ b/client/utils.go
@@ -23,9 +23,8 @@ import (
 	"bytes"
 	"encoding/binary"
 	"fmt"
+	"github.com/apache/iotdb-client-go/common"
 	"strconv"
-
-	"github.com/apache/iotdb-client-go/rpc"
 )
 
 func int32ToString(n int32) string {
@@ -70,7 +69,7 @@ func bytesToInt64(bys []byte) int64 {
 	return int64(data)
 }
 
-func verifySuccesses(statuses []*rpc.TSStatus) error {
+func verifySuccesses(statuses []*common.TSStatus) error {
 	buff := bytes.Buffer{}
 	for _, status := range statuses {
 		if status.Code != SuccessStatus && status.Code != RedirectionRecommend {
@@ -84,7 +83,7 @@ func verifySuccesses(statuses []*rpc.TSStatus) error {
 	return nil
 }
 
-func VerifySuccess(status *rpc.TSStatus) error {
+func VerifySuccess(status *common.TSStatus) error {
 	if status.Code == RedirectionRecommend {
 		return nil
 	}
diff --git a/client/utils_test.go b/client/utils_test.go
index 1714282..f59a34b 100644
--- a/client/utils_test.go
+++ b/client/utils_test.go
@@ -20,9 +20,8 @@
 package client
 
 import (
+	"github.com/apache/iotdb-client-go/common"
 	"testing"
-
-	"github.com/apache/iotdb-client-go/rpc"
 )
 
 func Test_bytesToInt32(t *testing.T) {
@@ -183,7 +182,7 @@ func Test_float64ToString(t *testing.T) {
 
 func Test_verifySuccess(t *testing.T) {
 	type args struct {
-		status *rpc.TSStatus
+		status *common.TSStatus
 	}
 	var errMsg string = "error occurred"
 	tests := []struct {
@@ -194,30 +193,30 @@ func Test_verifySuccess(t *testing.T) {
 		{
 			name: "RedirectionRecommend",
 			args: args{
-				status: &rpc.TSStatus{
+				status: &common.TSStatus{
 					Code:      RedirectionRecommend,
 					Message:   &errMsg,
-					SubStatus: []*rpc.TSStatus{},
+					SubStatus: []*common.TSStatus{},
 				},
 			},
 			wantErr: false,
 		}, {
 			name: "SuccessStatus",
 			args: args{
-				status: &rpc.TSStatus{
+				status: &common.TSStatus{
 					Code:      SuccessStatus,
 					Message:   &errMsg,
-					SubStatus: []*rpc.TSStatus{},
+					SubStatus: []*common.TSStatus{},
 				},
 			},
 			wantErr: false,
 		}, {
 			name: "MultipleError",
 			args: args{
-				status: &rpc.TSStatus{
+				status: &common.TSStatus{
 					Code:    MultipleError,
 					Message: &errMsg,
-					SubStatus: []*rpc.TSStatus{
+					SubStatus: []*common.TSStatus{
 						{
 							Code:    ShutDownError,
 							Message: &errMsg,
@@ -229,10 +228,10 @@ func Test_verifySuccess(t *testing.T) {
 		}, {
 			name: "CloseOperationError",
 			args: args{
-				status: &rpc.TSStatus{
+				status: &common.TSStatus{
 					Code:      CloseOperationError,
 					Message:   &errMsg,
-					SubStatus: []*rpc.TSStatus{},
+					SubStatus: []*common.TSStatus{},
 				},
 			},
 			wantErr: true,
@@ -249,7 +248,7 @@ func Test_verifySuccess(t *testing.T) {
 
 func Test_verifySuccesses(t *testing.T) {
 	type args struct {
-		statuses []*rpc.TSStatus
+		statuses []*common.TSStatus
 	}
 	var internalServerError string = "InternalServerError"
 	var success string = "Success"
@@ -262,11 +261,11 @@ func Test_verifySuccesses(t *testing.T) {
 		{
 			name: "InternalServerError",
 			args: args{
-				statuses: []*rpc.TSStatus{
+				statuses: []*common.TSStatus{
 					{
 						Code:      InternalServerError,
 						Message:   &internalServerError,
-						SubStatus: []*rpc.TSStatus{},
+						SubStatus: []*common.TSStatus{},
 					},
 				},
 			},
@@ -274,11 +273,11 @@ func Test_verifySuccesses(t *testing.T) {
 		}, {
 			name: "SuccessStatus",
 			args: args{
-				statuses: []*rpc.TSStatus{
+				statuses: []*common.TSStatus{
 					{
 						Code:      SuccessStatus,
 						Message:   &success,
-						SubStatus: []*rpc.TSStatus{},
+						SubStatus: []*common.TSStatus{},
 					},
 				},
 			},
@@ -287,11 +286,11 @@ func Test_verifySuccesses(t *testing.T) {
 		{
 			name: "RedirectionRecommend",
 			args: args{
-				statuses: []*rpc.TSStatus{
+				statuses: []*common.TSStatus{
 					{
 						Code:      RedirectionRecommend,
 						Message:   &redirectionRecommend,
-						SubStatus: []*rpc.TSStatus{},
+						SubStatus: []*common.TSStatus{},
 					},
 				},
 			},
diff --git a/common/GoUnusedProtection__.go b/common/GoUnusedProtection__.go
new file mode 100644
index 0000000..6febe34
--- /dev/null
+++ b/common/GoUnusedProtection__.go
@@ -0,0 +1,6 @@
+// Code generated by Thrift Compiler (0.14.1). DO NOT EDIT.
+
+package common
+
+var GoUnusedProtection__ int;
+
diff --git a/rpc/rpc-consts.go b/common/common-consts.go
similarity index 95%
copy from rpc/rpc-consts.go
copy to common/common-consts.go
index 37fc423..229d4a7 100644
--- a/rpc/rpc-consts.go
+++ b/common/common-consts.go
@@ -1,6 +1,6 @@
 // Code generated by Thrift Compiler (0.14.1). DO NOT EDIT.
 
-package rpc
+package common
 
 import(
 	"bytes"
diff --git a/common/common.go b/common/common.go
new file mode 100644
index 0000000..cd4a191
--- /dev/null
+++ b/common/common.go
@@ -0,0 +1,3181 @@
+// Code generated by Thrift Compiler (0.14.1). DO NOT EDIT.
+
+package common
+
+import (
+  "bytes"
+  "context"
+  "database/sql/driver"
+  "errors"
+  "fmt"
+  "github.com/apache/thrift/lib/go/thrift"
+  "time"
+)
+
+// (needed to ensure safety because of naive import list construction.)
+var _ = thrift.ZERO
+var _ = fmt.Printf
+var _ = context.Background
+var _ = time.Now
+var _ = bytes.Equal
+
+type TConsensusGroupType int64
+const (
+  TConsensusGroupType_ConfigRegion TConsensusGroupType = 0
+  TConsensusGroupType_DataRegion   TConsensusGroupType = 1
+  TConsensusGroupType_SchemaRegion TConsensusGroupType = 2
+)
+
+func (p TConsensusGroupType) String() string {
+  switch p {
+  case TConsensusGroupType_ConfigRegion: return "ConfigRegion"
+  case TConsensusGroupType_DataRegion: return "DataRegion"
+  case TConsensusGroupType_SchemaRegion: return "SchemaRegion"
+  }
+  return "<UNSET>"
+}
+
+func TConsensusGroupTypeFromString(s string) (TConsensusGroupType, error) {
+  switch s {
+  case "ConfigRegion": return TConsensusGroupType_ConfigRegion, nil 
+  case "DataRegion": return TConsensusGroupType_DataRegion, nil 
+  case "SchemaRegion": return TConsensusGroupType_SchemaRegion, nil 
+  }
+  return TConsensusGroupType(0), fmt.Errorf("not a valid TConsensusGroupType string")
+}
+
+
+func TConsensusGroupTypePtr(v TConsensusGroupType) *TConsensusGroupType { return &v }
+
+func (p TConsensusGroupType) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *TConsensusGroupType) UnmarshalText(text []byte) error {
+q, err := TConsensusGroupTypeFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *TConsensusGroupType) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = TConsensusGroupType(v)
+return nil
+}
+
+func (p *TConsensusGroupType) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+type TRegionMigrateFailedType int64
+const (
+  TRegionMigrateFailedType_AddPeerFailed              TRegionMigrateFailedType = 0
+  TRegionMigrateFailedType_RemovePeerFailed           TRegionMigrateFailedType = 1
+  TRegionMigrateFailedType_RemoveConsensusGroupFailed TRegionMigrateFailedType = 2
+  TRegionMigrateFailedType_DeleteRegionFailed         TRegionMigrateFailedType = 3
+  TRegionMigrateFailedType_CreateRegionFailed         TRegionMigrateFailedType = 4
+)
+
+func (p TRegionMigrateFailedType) String() string {
+  switch p {
+  case TRegionMigrateFailedType_AddPeerFailed: return "AddPeerFailed"
+  case TRegionMigrateFailedType_RemovePeerFailed: return "RemovePeerFailed"
+  case TRegionMigrateFailedType_RemoveConsensusGroupFailed: return "RemoveConsensusGroupFailed"
+  case TRegionMigrateFailedType_DeleteRegionFailed: return "DeleteRegionFailed"
+  case TRegionMigrateFailedType_CreateRegionFailed: return "CreateRegionFailed"
+  }
+  return "<UNSET>"
+}
+
+func TRegionMigrateFailedTypeFromString(s string) (TRegionMigrateFailedType, error) {
+  switch s {
+  case "AddPeerFailed": return TRegionMigrateFailedType_AddPeerFailed, nil 
+  case "RemovePeerFailed": return TRegionMigrateFailedType_RemovePeerFailed, nil 
+  case "RemoveConsensusGroupFailed": return TRegionMigrateFailedType_RemoveConsensusGroupFailed, nil 
+  case "DeleteRegionFailed": return TRegionMigrateFailedType_DeleteRegionFailed, nil 
+  case "CreateRegionFailed": return TRegionMigrateFailedType_CreateRegionFailed, nil 
+  }
+  return TRegionMigrateFailedType(0), fmt.Errorf("not a valid TRegionMigrateFailedType string")
+}
+
+
+func TRegionMigrateFailedTypePtr(v TRegionMigrateFailedType) *TRegionMigrateFailedType { return &v }
+
+func (p TRegionMigrateFailedType) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *TRegionMigrateFailedType) UnmarshalText(text []byte) error {
+q, err := TRegionMigrateFailedTypeFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *TRegionMigrateFailedType) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = TRegionMigrateFailedType(v)
+return nil
+}
+
+func (p *TRegionMigrateFailedType) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+type TAggregationType int64
+const (
+  TAggregationType_COUNT         TAggregationType = 0
+  TAggregationType_AVG           TAggregationType = 1
+  TAggregationType_SUM           TAggregationType = 2
+  TAggregationType_FIRST_VALUE   TAggregationType = 3
+  TAggregationType_LAST_VALUE    TAggregationType = 4
+  TAggregationType_MAX_TIME      TAggregationType = 5
+  TAggregationType_MIN_TIME      TAggregationType = 6
+  TAggregationType_MAX_VALUE     TAggregationType = 7
+  TAggregationType_MIN_VALUE     TAggregationType = 8
+  TAggregationType_EXTREME       TAggregationType = 9
+  TAggregationType_COUNT_IF      TAggregationType = 10
+  TAggregationType_TIME_DURATION TAggregationType = 11
+  TAggregationType_MODE          TAggregationType = 12
+)
+
+func (p TAggregationType) String() string {
+  switch p {
+  case TAggregationType_COUNT: return "COUNT"
+  case TAggregationType_AVG: return "AVG"
+  case TAggregationType_SUM: return "SUM"
+  case TAggregationType_FIRST_VALUE: return "FIRST_VALUE"
+  case TAggregationType_LAST_VALUE: return "LAST_VALUE"
+  case TAggregationType_MAX_TIME: return "MAX_TIME"
+  case TAggregationType_MIN_TIME: return "MIN_TIME"
+  case TAggregationType_MAX_VALUE: return "MAX_VALUE"
+  case TAggregationType_MIN_VALUE: return "MIN_VALUE"
+  case TAggregationType_EXTREME: return "EXTREME"
+  case TAggregationType_COUNT_IF: return "COUNT_IF"
+  case TAggregationType_TIME_DURATION: return "TIME_DURATION"
+  case TAggregationType_MODE: return "MODE"
+  }
+  return "<UNSET>"
+}
+
+func TAggregationTypeFromString(s string) (TAggregationType, error) {
+  switch s {
+  case "COUNT": return TAggregationType_COUNT, nil 
+  case "AVG": return TAggregationType_AVG, nil 
+  case "SUM": return TAggregationType_SUM, nil 
+  case "FIRST_VALUE": return TAggregationType_FIRST_VALUE, nil 
+  case "LAST_VALUE": return TAggregationType_LAST_VALUE, nil 
+  case "MAX_TIME": return TAggregationType_MAX_TIME, nil 
+  case "MIN_TIME": return TAggregationType_MIN_TIME, nil 
+  case "MAX_VALUE": return TAggregationType_MAX_VALUE, nil 
+  case "MIN_VALUE": return TAggregationType_MIN_VALUE, nil 
+  case "EXTREME": return TAggregationType_EXTREME, nil 
+  case "COUNT_IF": return TAggregationType_COUNT_IF, nil 
+  case "TIME_DURATION": return TAggregationType_TIME_DURATION, nil 
+  case "MODE": return TAggregationType_MODE, nil 
+  }
+  return TAggregationType(0), fmt.Errorf("not a valid TAggregationType string")
+}
+
+
+func TAggregationTypePtr(v TAggregationType) *TAggregationType { return &v }
+
+func (p TAggregationType) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *TAggregationType) UnmarshalText(text []byte) error {
+q, err := TAggregationTypeFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *TAggregationType) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = TAggregationType(v)
+return nil
+}
+
+func (p *TAggregationType) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+type TrainingState int64
+const (
+  TrainingState_PENDING  TrainingState = 0
+  TrainingState_RUNNING  TrainingState = 1
+  TrainingState_FINISHED TrainingState = 2
+  TrainingState_FAILED   TrainingState = 3
+  TrainingState_DROPPING TrainingState = 4
+)
+
+func (p TrainingState) String() string {
+  switch p {
+  case TrainingState_PENDING: return "PENDING"
+  case TrainingState_RUNNING: return "RUNNING"
+  case TrainingState_FINISHED: return "FINISHED"
+  case TrainingState_FAILED: return "FAILED"
+  case TrainingState_DROPPING: return "DROPPING"
+  }
+  return "<UNSET>"
+}
+
+func TrainingStateFromString(s string) (TrainingState, error) {
+  switch s {
+  case "PENDING": return TrainingState_PENDING, nil 
+  case "RUNNING": return TrainingState_RUNNING, nil 
+  case "FINISHED": return TrainingState_FINISHED, nil 
+  case "FAILED": return TrainingState_FAILED, nil 
+  case "DROPPING": return TrainingState_DROPPING, nil 
+  }
+  return TrainingState(0), fmt.Errorf("not a valid TrainingState string")
+}
+
+
+func TrainingStatePtr(v TrainingState) *TrainingState { return &v }
+
+func (p TrainingState) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *TrainingState) UnmarshalText(text []byte) error {
+q, err := TrainingStateFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *TrainingState) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = TrainingState(v)
+return nil
+}
+
+func (p *TrainingState) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+type ModelTask int64
+const (
+  ModelTask_FORECAST ModelTask = 0
+)
+
+func (p ModelTask) String() string {
+  switch p {
+  case ModelTask_FORECAST: return "FORECAST"
+  }
+  return "<UNSET>"
+}
+
+func ModelTaskFromString(s string) (ModelTask, error) {
+  switch s {
+  case "FORECAST": return ModelTask_FORECAST, nil 
+  }
+  return ModelTask(0), fmt.Errorf("not a valid ModelTask string")
+}
+
+
+func ModelTaskPtr(v ModelTask) *ModelTask { return &v }
+
+func (p ModelTask) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *ModelTask) UnmarshalText(text []byte) error {
+q, err := ModelTaskFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *ModelTask) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = ModelTask(v)
+return nil
+}
+
+func (p *ModelTask) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+type EvaluateMetric int64
+const (
+  EvaluateMetric_MSE  EvaluateMetric = 0
+  EvaluateMetric_MAE  EvaluateMetric = 1
+  EvaluateMetric_RMSE EvaluateMetric = 2
+)
+
+func (p EvaluateMetric) String() string {
+  switch p {
+  case EvaluateMetric_MSE: return "MSE"
+  case EvaluateMetric_MAE: return "MAE"
+  case EvaluateMetric_RMSE: return "RMSE"
+  }
+  return "<UNSET>"
+}
+
+func EvaluateMetricFromString(s string) (EvaluateMetric, error) {
+  switch s {
+  case "MSE": return EvaluateMetric_MSE, nil 
+  case "MAE": return EvaluateMetric_MAE, nil 
+  case "RMSE": return EvaluateMetric_RMSE, nil 
+  }
+  return EvaluateMetric(0), fmt.Errorf("not a valid EvaluateMetric string")
+}
+
+
+func EvaluateMetricPtr(v EvaluateMetric) *EvaluateMetric { return &v }
+
+func (p EvaluateMetric) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *EvaluateMetric) UnmarshalText(text []byte) error {
+q, err := EvaluateMetricFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *EvaluateMetric) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = EvaluateMetric(v)
+return nil
+}
+
+func (p *EvaluateMetric) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+// Attributes:
+//  - IP
+//  - Port
+type TEndPoint struct {
+  IP string `thrift:"ip,1,required" db:"ip" json:"ip"`
+  Port int32 `thrift:"port,2,required" db:"port" json:"port"`
+}
+
+func NewTEndPoint() *TEndPoint {
+  return &TEndPoint{}
+}
+
+
+func (p *TEndPoint) GetIP() string {
+  return p.IP
+}
+
+func (p *TEndPoint) GetPort() int32 {
+  return p.Port
+}
+func (p *TEndPoint) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetIP bool = false;
+  var issetPort bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetIP = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetPort = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetIP{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IP is not set"));
+  }
+  if !issetPort{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Port is not set"));
+  }
+  return nil
+}
+
+func (p *TEndPoint)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.IP = v
+}
+  return nil
+}
+
+func (p *TEndPoint)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.Port = v
+}
+  return nil
+}
+
+func (p *TEndPoint) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TEndPoint"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TEndPoint) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "ip", thrift.STRING, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip: ", p), err) }
+  if err := oprot.WriteString(ctx, string(p.IP)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.ip (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip: ", p), err) }
+  return err
+}
+
+func (p *TEndPoint) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "port", thrift.I32, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:port: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.Port)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.port (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:port: ", p), err) }
+  return err
+}
+
+func (p *TEndPoint) Equals(other *TEndPoint) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.IP != other.IP { return false }
+  if p.Port != other.Port { return false }
+  return true
+}
+
+func (p *TEndPoint) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TEndPoint(%+v)", *p)
+}
+
+// Attributes:
+//  - Code
+//  - Message
+//  - SubStatus
+//  - RedirectNode
+type TSStatus struct {
+  Code int32 `thrift:"code,1,required" db:"code" json:"code"`
+  Message *string         `thrift:"message,2" db:"message" json:"message,omitempty"`
+  SubStatus []*TSStatus   `thrift:"subStatus,3" db:"subStatus" json:"subStatus,omitempty"`
+  RedirectNode *TEndPoint `thrift:"redirectNode,4" db:"redirectNode" json:"redirectNode,omitempty"`
+}
+
+func NewTSStatus() *TSStatus {
+  return &TSStatus{}
+}
+
+
+func (p *TSStatus) GetCode() int32 {
+  return p.Code
+}
+var TSStatus_Message_DEFAULT string
+func (p *TSStatus) GetMessage() string {
+  if !p.IsSetMessage() {
+    return TSStatus_Message_DEFAULT
+  }
+return *p.Message
+}
+var TSStatus_SubStatus_DEFAULT []*TSStatus
+
+func (p *TSStatus) GetSubStatus() []*TSStatus {
+  return p.SubStatus
+}
+var TSStatus_RedirectNode_DEFAULT *TEndPoint
+func (p *TSStatus) GetRedirectNode() *TEndPoint {
+  if !p.IsSetRedirectNode() {
+    return TSStatus_RedirectNode_DEFAULT
+  }
+return p.RedirectNode
+}
+func (p *TSStatus) IsSetMessage() bool {
+  return p.Message != nil
+}
+
+func (p *TSStatus) IsSetSubStatus() bool {
+  return p.SubStatus != nil
+}
+
+func (p *TSStatus) IsSetRedirectNode() bool {
+  return p.RedirectNode != nil
+}
+
+func (p *TSStatus) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetCode bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetCode = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 3:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField3(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 4:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField4(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetCode{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Code is not set"));
+  }
+  return nil
+}
+
+func (p *TSStatus)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.Code = v
+}
+  return nil
+}
+
+func (p *TSStatus)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.Message = &v
+}
+  return nil
+}
+
+func (p *TSStatus)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]*TSStatus, 0, size)
+  p.SubStatus =  tSlice
+  for i := 0; i < size; i ++ {
+    _elem0 := &TSStatus{}
+    if err := _elem0.Read(ctx, iprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem0), err)
+    }
+    p.SubStatus = append(p.SubStatus, _elem0)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSStatus)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+  p.RedirectNode = &TEndPoint{}
+  if err := p.RedirectNode.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.RedirectNode), err)
+  }
+  return nil
+}
+
+func (p *TSStatus) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSStatus"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
+    if err := p.writeField4(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSStatus) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) }
+  return err
+}
+
+func (p *TSStatus) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetMessage() {
+    if err := oprot.WriteFieldBegin(ctx, "message", thrift.STRING, 2); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:message: ", p), err) }
+    if err := oprot.WriteString(ctx, string(*p.Message)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.message (2) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:message: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSStatus) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSubStatus() {
+    if err := oprot.WriteFieldBegin(ctx, "subStatus", thrift.LIST, 3); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:subStatus: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.SubStatus)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.SubStatus {
+      if err := v.Write(ctx, oprot); err != nil {
+        return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
+      }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:subStatus: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSStatus) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetRedirectNode() {
+    if err := oprot.WriteFieldBegin(ctx, "redirectNode", thrift.STRUCT, 4); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:redirectNode: ", p), err) }
+    if err := p.RedirectNode.Write(ctx, oprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.RedirectNode), err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:redirectNode: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSStatus) Equals(other *TSStatus) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.Code != other.Code { return false }
+  if p.Message != other.Message {
+    if p.Message == nil || other.Message == nil {
+      return false
+    }
+    if (*p.Message) != (*other.Message) { return false }
+  }
+  if len(p.SubStatus) != len(other.SubStatus) { return false }
+  for i, _tgt := range p.SubStatus {
+    _src1 := other.SubStatus[i]
+    if !_tgt.Equals(_src1) { return false }
+  }
+  if !p.RedirectNode.Equals(other.RedirectNode) { return false }
+  return true
+}
+
+func (p *TSStatus) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSStatus(%+v)", *p)
+}
+
+// Attributes:
+//  - Type
+//  - ID
+type TConsensusGroupId struct {
+  Type TConsensusGroupType `thrift:"type,1,required" db:"type" json:"type"`
+  ID   int32               `thrift:"id,2,required" db:"id" json:"id"`
+}
+
+func NewTConsensusGroupId() *TConsensusGroupId {
+  return &TConsensusGroupId{}
+}
+
+
+func (p *TConsensusGroupId) GetType() TConsensusGroupType {
+  return p.Type
+}
+
+func (p *TConsensusGroupId) GetID() int32 {
+  return p.ID
+}
+func (p *TConsensusGroupId) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetType bool = false;
+  var issetID bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetType = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetID = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetType{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set"));
+  }
+  if !issetID{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ID is not set"));
+  }
+  return nil
+}
+
+func (p *TConsensusGroupId)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  temp := TConsensusGroupType(v)
+  p.Type = temp
+}
+  return nil
+}
+
+func (p *TConsensusGroupId)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.ID = v
+}
+  return nil
+}
+
+func (p *TConsensusGroupId) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TConsensusGroupId"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TConsensusGroupId) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "type", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:type: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.Type)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.type (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:type: ", p), err) }
+  return err
+}
+
+func (p *TConsensusGroupId) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "id", thrift.I32, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:id: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.ID)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.id (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:id: ", p), err) }
+  return err
+}
+
+func (p *TConsensusGroupId) Equals(other *TConsensusGroupId) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.Type != other.Type { return false }
+  if p.ID != other.ID { return false }
+  return true
+}
+
+func (p *TConsensusGroupId) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TConsensusGroupId(%+v)", *p)
+}
+
+// Attributes:
+//  - SlotId
+type TSeriesPartitionSlot struct {
+  SlotId int32 `thrift:"slotId,1,required" db:"slotId" json:"slotId"`
+}
+
+func NewTSeriesPartitionSlot() *TSeriesPartitionSlot {
+  return &TSeriesPartitionSlot{}
+}
+
+
+func (p *TSeriesPartitionSlot) GetSlotId() int32 {
+  return p.SlotId
+}
+func (p *TSeriesPartitionSlot) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetSlotId bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetSlotId = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetSlotId{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SlotId is not set"));
+  }
+  return nil
+}
+
+func (p *TSeriesPartitionSlot)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.SlotId = v
+}
+  return nil
+}
+
+func (p *TSeriesPartitionSlot) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSeriesPartitionSlot"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSeriesPartitionSlot) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "slotId", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:slotId: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.SlotId)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.slotId (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:slotId: ", p), err) }
+  return err
+}
+
+func (p *TSeriesPartitionSlot) Equals(other *TSeriesPartitionSlot) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.SlotId != other.SlotId { return false }
+  return true
+}
+
+func (p *TSeriesPartitionSlot) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSeriesPartitionSlot(%+v)", *p)
+}
+
+// Attributes:
+//  - StartTime
+type TTimePartitionSlot struct {
+  StartTime int64 `thrift:"startTime,1,required" db:"startTime" json:"startTime"`
+}
+
+func NewTTimePartitionSlot() *TTimePartitionSlot {
+  return &TTimePartitionSlot{}
+}
+
+
+func (p *TTimePartitionSlot) GetStartTime() int64 {
+  return p.StartTime
+}
+func (p *TTimePartitionSlot) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetStartTime bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetStartTime = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetStartTime{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StartTime is not set"));
+  }
+  return nil
+}
+
+func (p *TTimePartitionSlot)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.StartTime = v
+}
+  return nil
+}
+
+func (p *TTimePartitionSlot) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TTimePartitionSlot"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TTimePartitionSlot) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "startTime", thrift.I64, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:startTime: ", p), err) }
+  if err := oprot.WriteI64(ctx, int64(p.StartTime)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.startTime (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:startTime: ", p), err) }
+  return err
+}
+
+func (p *TTimePartitionSlot) Equals(other *TTimePartitionSlot) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.StartTime != other.StartTime { return false }
+  return true
+}
+
+func (p *TTimePartitionSlot) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TTimePartitionSlot(%+v)", *p)
+}
+
+// Attributes:
+//  - RegionId
+//  - DataNodeLocations
+type TRegionReplicaSet struct {
+  RegionId *TConsensusGroupId            `thrift:"regionId,1,required" db:"regionId" json:"regionId"`
+  DataNodeLocations []*TDataNodeLocation `thrift:"dataNodeLocations,2,required" db:"dataNodeLocations" json:"dataNodeLocations"`
+}
+
+func NewTRegionReplicaSet() *TRegionReplicaSet {
+  return &TRegionReplicaSet{}
+}
+
+var TRegionReplicaSet_RegionId_DEFAULT *TConsensusGroupId
+func (p *TRegionReplicaSet) GetRegionId() *TConsensusGroupId {
+  if !p.IsSetRegionId() {
+    return TRegionReplicaSet_RegionId_DEFAULT
+  }
+return p.RegionId
+}
+
+func (p *TRegionReplicaSet) GetDataNodeLocations() []*TDataNodeLocation {
+  return p.DataNodeLocations
+}
+func (p *TRegionReplicaSet) IsSetRegionId() bool {
+  return p.RegionId != nil
+}
+
+func (p *TRegionReplicaSet) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetRegionId bool = false;
+  var issetDataNodeLocations bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetRegionId = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetDataNodeLocations = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetRegionId{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field RegionId is not set"));
+  }
+  if !issetDataNodeLocations{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataNodeLocations is not set"));
+  }
+  return nil
+}
+
+func (p *TRegionReplicaSet)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  p.RegionId = &TConsensusGroupId{}
+  if err := p.RegionId.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.RegionId), err)
+  }
+  return nil
+}
+
+func (p *TRegionReplicaSet)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]*TDataNodeLocation, 0, size)
+  p.DataNodeLocations =  tSlice
+  for i := 0; i < size; i ++ {
+    _elem2 := &TDataNodeLocation{}
+    if err := _elem2.Read(ctx, iprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem2), err)
+    }
+    p.DataNodeLocations = append(p.DataNodeLocations, _elem2)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TRegionReplicaSet) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TRegionReplicaSet"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TRegionReplicaSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "regionId", thrift.STRUCT, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:regionId: ", p), err) }
+  if err := p.RegionId.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.RegionId), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:regionId: ", p), err) }
+  return err
+}
+
+func (p *TRegionReplicaSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "dataNodeLocations", thrift.LIST, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:dataNodeLocations: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.DataNodeLocations)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.DataNodeLocations {
+    if err := v.Write(ctx, oprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
+    }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:dataNodeLocations: ", p), err) }
+  return err
+}
+
+func (p *TRegionReplicaSet) Equals(other *TRegionReplicaSet) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if !p.RegionId.Equals(other.RegionId) { return false }
+  if len(p.DataNodeLocations) != len(other.DataNodeLocations) { return false }
+  for i, _tgt := range p.DataNodeLocations {
+    _src3 := other.DataNodeLocations[i]
+    if !_tgt.Equals(_src3) { return false }
+  }
+  return true
+}
+
+func (p *TRegionReplicaSet) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TRegionReplicaSet(%+v)", *p)
+}
+
+// Attributes:
+//  - CpuCoreNum
+//  - MaxMemory
+type TNodeResource struct {
+  CpuCoreNum int32 `thrift:"cpuCoreNum,1,required" db:"cpuCoreNum" json:"cpuCoreNum"`
+  MaxMemory int64 `thrift:"maxMemory,2,required" db:"maxMemory" json:"maxMemory"`
+}
+
+func NewTNodeResource() *TNodeResource {
+  return &TNodeResource{}
+}
+
+
+func (p *TNodeResource) GetCpuCoreNum() int32 {
+  return p.CpuCoreNum
+}
+
+func (p *TNodeResource) GetMaxMemory() int64 {
+  return p.MaxMemory
+}
+func (p *TNodeResource) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetCpuCoreNum bool = false;
+  var issetMaxMemory bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetCpuCoreNum = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetMaxMemory = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetCpuCoreNum{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field CpuCoreNum is not set"));
+  }
+  if !issetMaxMemory{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MaxMemory is not set"));
+  }
+  return nil
+}
+
+func (p *TNodeResource)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.CpuCoreNum = v
+}
+  return nil
+}
+
+func (p *TNodeResource)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.MaxMemory = v
+}
+  return nil
+}
+
+func (p *TNodeResource) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TNodeResource"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TNodeResource) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "cpuCoreNum", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:cpuCoreNum: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.CpuCoreNum)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.cpuCoreNum (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:cpuCoreNum: ", p), err) }
+  return err
+}
+
+func (p *TNodeResource) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "maxMemory", thrift.I64, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:maxMemory: ", p), err) }
+  if err := oprot.WriteI64(ctx, int64(p.MaxMemory)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.maxMemory (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:maxMemory: ", p), err) }
+  return err
+}
+
+func (p *TNodeResource) Equals(other *TNodeResource) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.CpuCoreNum != other.CpuCoreNum { return false }
+  if p.MaxMemory != other.MaxMemory { return false }
+  return true
+}
+
+func (p *TNodeResource) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TNodeResource(%+v)", *p)
+}
+
+// Attributes:
+//  - ConfigNodeId
+//  - InternalEndPoint
+//  - ConsensusEndPoint
+type TConfigNodeLocation struct {
+  ConfigNodeId int32           `thrift:"configNodeId,1,required" db:"configNodeId" json:"configNodeId"`
+  InternalEndPoint *TEndPoint  `thrift:"internalEndPoint,2,required" db:"internalEndPoint" json:"internalEndPoint"`
+  ConsensusEndPoint *TEndPoint `thrift:"consensusEndPoint,3,required" db:"consensusEndPoint" json:"consensusEndPoint"`
+}
+
+func NewTConfigNodeLocation() *TConfigNodeLocation {
+  return &TConfigNodeLocation{}
+}
+
+
+func (p *TConfigNodeLocation) GetConfigNodeId() int32 {
+  return p.ConfigNodeId
+}
+var TConfigNodeLocation_InternalEndPoint_DEFAULT *TEndPoint
+func (p *TConfigNodeLocation) GetInternalEndPoint() *TEndPoint {
+  if !p.IsSetInternalEndPoint() {
+    return TConfigNodeLocation_InternalEndPoint_DEFAULT
+  }
+return p.InternalEndPoint
+}
+var TConfigNodeLocation_ConsensusEndPoint_DEFAULT *TEndPoint
+func (p *TConfigNodeLocation) GetConsensusEndPoint() *TEndPoint {
+  if !p.IsSetConsensusEndPoint() {
+    return TConfigNodeLocation_ConsensusEndPoint_DEFAULT
+  }
+return p.ConsensusEndPoint
+}
+func (p *TConfigNodeLocation) IsSetInternalEndPoint() bool {
+  return p.InternalEndPoint != nil
+}
+
+func (p *TConfigNodeLocation) IsSetConsensusEndPoint() bool {
+  return p.ConsensusEndPoint != nil
+}
+
+func (p *TConfigNodeLocation) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetConfigNodeId bool = false;
+  var issetInternalEndPoint bool = false;
+  var issetConsensusEndPoint bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetConfigNodeId = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetInternalEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 3:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField3(ctx, iprot); err != nil {
+          return err
+        }
+        issetConsensusEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetConfigNodeId{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ConfigNodeId is not set"));
+  }
+  if !issetInternalEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field InternalEndPoint is not set"));
+  }
+  if !issetConsensusEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ConsensusEndPoint is not set"));
+  }
+  return nil
+}
+
+func (p *TConfigNodeLocation)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.ConfigNodeId = v
+}
+  return nil
+}
+
+func (p *TConfigNodeLocation)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  p.InternalEndPoint = &TEndPoint{}
+  if err := p.InternalEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.InternalEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TConfigNodeLocation)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  p.ConsensusEndPoint = &TEndPoint{}
+  if err := p.ConsensusEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ConsensusEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TConfigNodeLocation) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TConfigNodeLocation"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TConfigNodeLocation) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "configNodeId", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:configNodeId: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.ConfigNodeId)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.configNodeId (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:configNodeId: ", p), err) }
+  return err
+}
+
+func (p *TConfigNodeLocation) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "internalEndPoint", thrift.STRUCT, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:internalEndPoint: ", p), err) }
+  if err := p.InternalEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.InternalEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:internalEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TConfigNodeLocation) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "consensusEndPoint", thrift.STRUCT, 3); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:consensusEndPoint: ", p), err) }
+  if err := p.ConsensusEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ConsensusEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 3:consensusEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TConfigNodeLocation) Equals(other *TConfigNodeLocation) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.ConfigNodeId != other.ConfigNodeId { return false }
+  if !p.InternalEndPoint.Equals(other.InternalEndPoint) { return false }
+  if !p.ConsensusEndPoint.Equals(other.ConsensusEndPoint) { return false }
+  return true
+}
+
+func (p *TConfigNodeLocation) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TConfigNodeLocation(%+v)", *p)
+}
+
+// Attributes:
+//  - DataNodeId
+//  - ClientRpcEndPoint
+//  - InternalEndPoint
+//  - MPPDataExchangeEndPoint
+//  - DataRegionConsensusEndPoint
+//  - SchemaRegionConsensusEndPoint
+type TDataNodeLocation struct {
+  DataNodeId int32                         `thrift:"dataNodeId,1,required" db:"dataNodeId" json:"dataNodeId"`
+  ClientRpcEndPoint *TEndPoint             `thrift:"clientRpcEndPoint,2,required" db:"clientRpcEndPoint" json:"clientRpcEndPoint"`
+  InternalEndPoint *TEndPoint              `thrift:"internalEndPoint,3,required" db:"internalEndPoint" json:"internalEndPoint"`
+  MPPDataExchangeEndPoint *TEndPoint       `thrift:"mPPDataExchangeEndPoint,4,required" db:"mPPDataExchangeEndPoint" json:"mPPDataExchangeEndPoint"`
+  DataRegionConsensusEndPoint *TEndPoint   `thrift:"dataRegionConsensusEndPoint,5,required" db:"dataRegionConsensusEndPoint" json:"dataRegionConsensusEndPoint"`
+  SchemaRegionConsensusEndPoint *TEndPoint `thrift:"schemaRegionConsensusEndPoint,6,required" db:"schemaRegionConsensusEndPoint" json:"schemaRegionConsensusEndPoint"`
+}
+
+func NewTDataNodeLocation() *TDataNodeLocation {
+  return &TDataNodeLocation{}
+}
+
+
+func (p *TDataNodeLocation) GetDataNodeId() int32 {
+  return p.DataNodeId
+}
+var TDataNodeLocation_ClientRpcEndPoint_DEFAULT *TEndPoint
+func (p *TDataNodeLocation) GetClientRpcEndPoint() *TEndPoint {
+  if !p.IsSetClientRpcEndPoint() {
+    return TDataNodeLocation_ClientRpcEndPoint_DEFAULT
+  }
+return p.ClientRpcEndPoint
+}
+var TDataNodeLocation_InternalEndPoint_DEFAULT *TEndPoint
+func (p *TDataNodeLocation) GetInternalEndPoint() *TEndPoint {
+  if !p.IsSetInternalEndPoint() {
+    return TDataNodeLocation_InternalEndPoint_DEFAULT
+  }
+return p.InternalEndPoint
+}
+var TDataNodeLocation_MPPDataExchangeEndPoint_DEFAULT *TEndPoint
+func (p *TDataNodeLocation) GetMPPDataExchangeEndPoint() *TEndPoint {
+  if !p.IsSetMPPDataExchangeEndPoint() {
+    return TDataNodeLocation_MPPDataExchangeEndPoint_DEFAULT
+  }
+return p.MPPDataExchangeEndPoint
+}
+var TDataNodeLocation_DataRegionConsensusEndPoint_DEFAULT *TEndPoint
+func (p *TDataNodeLocation) GetDataRegionConsensusEndPoint() *TEndPoint {
+  if !p.IsSetDataRegionConsensusEndPoint() {
+    return TDataNodeLocation_DataRegionConsensusEndPoint_DEFAULT
+  }
+return p.DataRegionConsensusEndPoint
+}
+var TDataNodeLocation_SchemaRegionConsensusEndPoint_DEFAULT *TEndPoint
+func (p *TDataNodeLocation) GetSchemaRegionConsensusEndPoint() *TEndPoint {
+  if !p.IsSetSchemaRegionConsensusEndPoint() {
+    return TDataNodeLocation_SchemaRegionConsensusEndPoint_DEFAULT
+  }
+return p.SchemaRegionConsensusEndPoint
+}
+func (p *TDataNodeLocation) IsSetClientRpcEndPoint() bool {
+  return p.ClientRpcEndPoint != nil
+}
+
+func (p *TDataNodeLocation) IsSetInternalEndPoint() bool {
+  return p.InternalEndPoint != nil
+}
+
+func (p *TDataNodeLocation) IsSetMPPDataExchangeEndPoint() bool {
+  return p.MPPDataExchangeEndPoint != nil
+}
+
+func (p *TDataNodeLocation) IsSetDataRegionConsensusEndPoint() bool {
+  return p.DataRegionConsensusEndPoint != nil
+}
+
+func (p *TDataNodeLocation) IsSetSchemaRegionConsensusEndPoint() bool {
+  return p.SchemaRegionConsensusEndPoint != nil
+}
+
+func (p *TDataNodeLocation) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetDataNodeId bool = false;
+  var issetClientRpcEndPoint bool = false;
+  var issetInternalEndPoint bool = false;
+  var issetMPPDataExchangeEndPoint bool = false;
+  var issetDataRegionConsensusEndPoint bool = false;
+  var issetSchemaRegionConsensusEndPoint bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetDataNodeId = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetClientRpcEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 3:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField3(ctx, iprot); err != nil {
+          return err
+        }
+        issetInternalEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 4:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField4(ctx, iprot); err != nil {
+          return err
+        }
+        issetMPPDataExchangeEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 5:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField5(ctx, iprot); err != nil {
+          return err
+        }
+        issetDataRegionConsensusEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 6:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField6(ctx, iprot); err != nil {
+          return err
+        }
+        issetSchemaRegionConsensusEndPoint = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetDataNodeId{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataNodeId is not set"));
+  }
+  if !issetClientRpcEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ClientRpcEndPoint is not set"));
+  }
+  if !issetInternalEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field InternalEndPoint is not set"));
+  }
+  if !issetMPPDataExchangeEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MPPDataExchangeEndPoint is not set"));
+  }
+  if !issetDataRegionConsensusEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataRegionConsensusEndPoint is not set"));
+  }
+  if !issetSchemaRegionConsensusEndPoint{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SchemaRegionConsensusEndPoint is not set"));
+  }
+  return nil
+}
+
+func (p *TDataNodeLocation)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.DataNodeId = v
+}
+  return nil
+}
+
+func (p *TDataNodeLocation)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  p.ClientRpcEndPoint = &TEndPoint{}
+  if err := p.ClientRpcEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ClientRpcEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeLocation)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  p.InternalEndPoint = &TEndPoint{}
+  if err := p.InternalEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.InternalEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeLocation)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+  p.MPPDataExchangeEndPoint = &TEndPoint{}
+  if err := p.MPPDataExchangeEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.MPPDataExchangeEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeLocation)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+  p.DataRegionConsensusEndPoint = &TEndPoint{}
+  if err := p.DataRegionConsensusEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.DataRegionConsensusEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeLocation)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
+  p.SchemaRegionConsensusEndPoint = &TEndPoint{}
+  if err := p.SchemaRegionConsensusEndPoint.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.SchemaRegionConsensusEndPoint), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeLocation) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TDataNodeLocation"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
+    if err := p.writeField4(ctx, oprot); err != nil { return err }
+    if err := p.writeField5(ctx, oprot); err != nil { return err }
+    if err := p.writeField6(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TDataNodeLocation) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "dataNodeId", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:dataNodeId: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.DataNodeId)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.dataNodeId (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:dataNodeId: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeLocation) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "clientRpcEndPoint", thrift.STRUCT, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:clientRpcEndPoint: ", p), err) }
+  if err := p.ClientRpcEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ClientRpcEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:clientRpcEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeLocation) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "internalEndPoint", thrift.STRUCT, 3); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:internalEndPoint: ", p), err) }
+  if err := p.InternalEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.InternalEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 3:internalEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeLocation) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "mPPDataExchangeEndPoint", thrift.STRUCT, 4); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:mPPDataExchangeEndPoint: ", p), err) }
+  if err := p.MPPDataExchangeEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.MPPDataExchangeEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 4:mPPDataExchangeEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeLocation) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "dataRegionConsensusEndPoint", thrift.STRUCT, 5); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:dataRegionConsensusEndPoint: ", p), err) }
+  if err := p.DataRegionConsensusEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.DataRegionConsensusEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 5:dataRegionConsensusEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeLocation) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "schemaRegionConsensusEndPoint", thrift.STRUCT, 6); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:schemaRegionConsensusEndPoint: ", p), err) }
+  if err := p.SchemaRegionConsensusEndPoint.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.SchemaRegionConsensusEndPoint), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 6:schemaRegionConsensusEndPoint: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeLocation) Equals(other *TDataNodeLocation) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.DataNodeId != other.DataNodeId { return false }
+  if !p.ClientRpcEndPoint.Equals(other.ClientRpcEndPoint) { return false }
+  if !p.InternalEndPoint.Equals(other.InternalEndPoint) { return false }
+  if !p.MPPDataExchangeEndPoint.Equals(other.MPPDataExchangeEndPoint) { return false }
+  if !p.DataRegionConsensusEndPoint.Equals(other.DataRegionConsensusEndPoint) { return false }
+  if !p.SchemaRegionConsensusEndPoint.Equals(other.SchemaRegionConsensusEndPoint) { return false }
+  return true
+}
+
+func (p *TDataNodeLocation) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TDataNodeLocation(%+v)", *p)
+}
+
+// Attributes:
+//  - Location
+//  - Resource
+type TDataNodeConfiguration struct {
+  Location *TDataNodeLocation `thrift:"location,1,required" db:"location" json:"location"`
+  Resource *TNodeResource     `thrift:"resource,2,required" db:"resource" json:"resource"`
+}
+
+func NewTDataNodeConfiguration() *TDataNodeConfiguration {
+  return &TDataNodeConfiguration{}
+}
+
+var TDataNodeConfiguration_Location_DEFAULT *TDataNodeLocation
+func (p *TDataNodeConfiguration) GetLocation() *TDataNodeLocation {
+  if !p.IsSetLocation() {
+    return TDataNodeConfiguration_Location_DEFAULT
+  }
+return p.Location
+}
+var TDataNodeConfiguration_Resource_DEFAULT *TNodeResource
+func (p *TDataNodeConfiguration) GetResource() *TNodeResource {
+  if !p.IsSetResource() {
+    return TDataNodeConfiguration_Resource_DEFAULT
+  }
+return p.Resource
+}
+func (p *TDataNodeConfiguration) IsSetLocation() bool {
+  return p.Location != nil
+}
+
+func (p *TDataNodeConfiguration) IsSetResource() bool {
+  return p.Resource != nil
+}
+
+func (p *TDataNodeConfiguration) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetLocation bool = false;
+  var issetResource bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetLocation = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetResource = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetLocation{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Location is not set"));
+  }
+  if !issetResource{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Resource is not set"));
+  }
+  return nil
+}
+
+func (p *TDataNodeConfiguration)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  p.Location = &TDataNodeLocation{}
+  if err := p.Location.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Location), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeConfiguration)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  p.Resource = &TNodeResource{}
+  if err := p.Resource.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Resource), err)
+  }
+  return nil
+}
+
+func (p *TDataNodeConfiguration) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TDataNodeConfiguration"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TDataNodeConfiguration) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "location", thrift.STRUCT, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:location: ", p), err) }
+  if err := p.Location.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Location), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:location: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeConfiguration) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "resource", thrift.STRUCT, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:resource: ", p), err) }
+  if err := p.Resource.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Resource), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:resource: ", p), err) }
+  return err
+}
+
+func (p *TDataNodeConfiguration) Equals(other *TDataNodeConfiguration) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if !p.Location.Equals(other.Location) { return false }
+  if !p.Resource.Equals(other.Resource) { return false }
+  return true
+}
+
+func (p *TDataNodeConfiguration) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TDataNodeConfiguration(%+v)", *p)
+}
+
+// Attributes:
+//  - IsSeq
+//  - StorageGroups
+type TFlushReq struct {
+  IsSeq *string `thrift:"isSeq,1" db:"isSeq" json:"isSeq,omitempty"`
+  StorageGroups []string `thrift:"storageGroups,2" db:"storageGroups" json:"storageGroups,omitempty"`
+}
+
+func NewTFlushReq() *TFlushReq {
+  return &TFlushReq{}
+}
+
+var TFlushReq_IsSeq_DEFAULT string
+func (p *TFlushReq) GetIsSeq() string {
+  if !p.IsSetIsSeq() {
+    return TFlushReq_IsSeq_DEFAULT
+  }
+return *p.IsSeq
+}
+var TFlushReq_StorageGroups_DEFAULT []string
+
+func (p *TFlushReq) GetStorageGroups() []string {
+  return p.StorageGroups
+}
+func (p *TFlushReq) IsSetIsSeq() bool {
+  return p.IsSeq != nil
+}
+
+func (p *TFlushReq) IsSetStorageGroups() bool {
+  return p.StorageGroups != nil
+}
+
+func (p *TFlushReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  return nil
+}
+
+func (p *TFlushReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.IsSeq = &v
+}
+  return nil
+}
+
+func (p *TFlushReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]string, 0, size)
+  p.StorageGroups =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem4 string
+    if v, err := iprot.ReadString(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem4 = v
+}
+    p.StorageGroups = append(p.StorageGroups, _elem4)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TFlushReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TFlushReq"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TFlushReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetIsSeq() {
+    if err := oprot.WriteFieldBegin(ctx, "isSeq", thrift.STRING, 1); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:isSeq: ", p), err) }
+    if err := oprot.WriteString(ctx, string(*p.IsSeq)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.isSeq (1) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 1:isSeq: ", p), err) }
+  }
+  return err
+}
+
+func (p *TFlushReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetStorageGroups() {
+    if err := oprot.WriteFieldBegin(ctx, "storageGroups", thrift.LIST, 2); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:storageGroups: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.StorageGroups)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.StorageGroups {
+      if err := oprot.WriteString(ctx, string(v)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:storageGroups: ", p), err) }
+  }
+  return err
+}
+
+func (p *TFlushReq) Equals(other *TFlushReq) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.IsSeq != other.IsSeq {
+    if p.IsSeq == nil || other.IsSeq == nil {
+      return false
+    }
+    if (*p.IsSeq) != (*other.IsSeq) { return false }
+  }
+  if len(p.StorageGroups) != len(other.StorageGroups) { return false }
+  for i, _tgt := range p.StorageGroups {
+    _src5 := other.StorageGroups[i]
+    if _tgt != _src5 { return false }
+  }
+  return true
+}
+
+func (p *TFlushReq) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TFlushReq(%+v)", *p)
+}
+
+// Attributes:
+//  - Paths
+type TSettleReq struct {
+  Paths []string `thrift:"paths,1,required" db:"paths" json:"paths"`
+}
+
+func NewTSettleReq() *TSettleReq {
+  return &TSettleReq{}
+}
+
+
+func (p *TSettleReq) GetPaths() []string {
+  return p.Paths
+}
+func (p *TSettleReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetPaths bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetPaths = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetPaths{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"));
+  }
+  return nil
+}
+
+func (p *TSettleReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]string, 0, size)
+  p.Paths =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem6 string
+    if v, err := iprot.ReadString(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem6 = v
+}
+    p.Paths = append(p.Paths, _elem6)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSettleReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSettleReq"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSettleReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "paths", thrift.LIST, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:paths: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Paths)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.Paths {
+    if err := oprot.WriteString(ctx, string(v)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:paths: ", p), err) }
+  return err
+}
+
+func (p *TSettleReq) Equals(other *TSettleReq) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if len(p.Paths) != len(other.Paths) { return false }
+  for i, _tgt := range p.Paths {
+    _src7 := other.Paths[i]
+    if _tgt != _src7 { return false }
+  }
+  return true
+}
+
+func (p *TSettleReq) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSettleReq(%+v)", *p)
+}
+
+// Attributes:
+//  - NodeName
+//  - NodeType
+type TSchemaNode struct {
+  NodeName string `thrift:"nodeName,1,required" db:"nodeName" json:"nodeName"`
+  NodeType int8 `thrift:"nodeType,2,required" db:"nodeType" json:"nodeType"`
+}
+
+func NewTSchemaNode() *TSchemaNode {
+  return &TSchemaNode{}
+}
+
+
+func (p *TSchemaNode) GetNodeName() string {
+  return p.NodeName
+}
+
+func (p *TSchemaNode) GetNodeType() int8 {
+  return p.NodeType
+}
+func (p *TSchemaNode) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetNodeName bool = false;
+  var issetNodeType bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetNodeName = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.BYTE {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetNodeType = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetNodeName{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NodeName is not set"));
+  }
+  if !issetNodeType{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field NodeType is not set"));
+  }
+  return nil
+}
+
+func (p *TSchemaNode)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.NodeName = v
+}
+  return nil
+}
+
+func (p *TSchemaNode)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadByte(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  temp := int8(v)
+  p.NodeType = temp
+}
+  return nil
+}
+
+func (p *TSchemaNode) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSchemaNode"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSchemaNode) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "nodeName", thrift.STRING, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:nodeName: ", p), err) }
+  if err := oprot.WriteString(ctx, string(p.NodeName)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.nodeName (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:nodeName: ", p), err) }
+  return err
+}
+
+func (p *TSchemaNode) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "nodeType", thrift.BYTE, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:nodeType: ", p), err) }
+  if err := oprot.WriteByte(ctx, int8(p.NodeType)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.nodeType (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:nodeType: ", p), err) }
+  return err
+}
+
+func (p *TSchemaNode) Equals(other *TSchemaNode) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.NodeName != other.NodeName { return false }
+  if p.NodeType != other.NodeType { return false }
+  return true
+}
+
+func (p *TSchemaNode) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSchemaNode(%+v)", *p)
+}
+
+// Attributes:
+//  - StorageGroupPathPattern
+//  - TTL
+type TSetTTLReq struct {
+  StorageGroupPathPattern []string `thrift:"storageGroupPathPattern,1,required" db:"storageGroupPathPattern" json:"storageGroupPathPattern"`
+  TTL int64 `thrift:"TTL,2,required" db:"TTL" json:"TTL"`
+}
+
+func NewTSetTTLReq() *TSetTTLReq {
+  return &TSetTTLReq{}
+}
+
+
+func (p *TSetTTLReq) GetStorageGroupPathPattern() []string {
+  return p.StorageGroupPathPattern
+}
+
+func (p *TSetTTLReq) GetTTL() int64 {
+  return p.TTL
+}
+func (p *TSetTTLReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetStorageGroupPathPattern bool = false;
+  var issetTTL bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetStorageGroupPathPattern = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetTTL = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetStorageGroupPathPattern{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StorageGroupPathPattern is not set"));
+  }
+  if !issetTTL{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TTL is not set"));
+  }
+  return nil
+}
+
+func (p *TSetTTLReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]string, 0, size)
+  p.StorageGroupPathPattern =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem8 string
+    if v, err := iprot.ReadString(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem8 = v
+}
+    p.StorageGroupPathPattern = append(p.StorageGroupPathPattern, _elem8)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSetTTLReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.TTL = v
+}
+  return nil
+}
+
+func (p *TSetTTLReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSetTTLReq"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSetTTLReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "storageGroupPathPattern", thrift.LIST, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:storageGroupPathPattern: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.StorageGroupPathPattern)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.StorageGroupPathPattern {
+    if err := oprot.WriteString(ctx, string(v)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:storageGroupPathPattern: ", p), err) }
+  return err
+}
+
+func (p *TSetTTLReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "TTL", thrift.I64, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:TTL: ", p), err) }
+  if err := oprot.WriteI64(ctx, int64(p.TTL)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.TTL (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:TTL: ", p), err) }
+  return err
+}
+
+func (p *TSetTTLReq) Equals(other *TSetTTLReq) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if len(p.StorageGroupPathPattern) != len(other.StorageGroupPathPattern) { return false }
+  for i, _tgt := range p.StorageGroupPathPattern {
+    _src9 := other.StorageGroupPathPattern[i]
+    if _tgt != _src9 { return false }
+  }
+  if p.TTL != other.TTL { return false }
+  return true
+}
+
+func (p *TSetTTLReq) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSetTTLReq(%+v)", *p)
+}
+
+// Attributes:
+//  - FileName
+//  - File
+type TFile struct {
+  FileName string `thrift:"fileName,1,required" db:"fileName" json:"fileName"`
+  File []byte `thrift:"file,2,required" db:"file" json:"file"`
+}
+
+func NewTFile() *TFile {
+  return &TFile{}
+}
+
+
+func (p *TFile) GetFileName() string {
+  return p.FileName
+}
+
+func (p *TFile) GetFile() []byte {
+  return p.File
+}
+func (p *TFile) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetFileName bool = false;
+  var issetFile bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetFileName = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetFile = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetFileName{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FileName is not set"));
+  }
+  if !issetFile{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field File is not set"));
+  }
+  return nil
+}
+
+func (p *TFile)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.FileName = v
+}
+  return nil
+}
+
+func (p *TFile)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadBinary(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.File = v
+}
+  return nil
+}
+
+func (p *TFile) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TFile"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TFile) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "fileName", thrift.STRING, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:fileName: ", p), err) }
+  if err := oprot.WriteString(ctx, string(p.FileName)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.fileName (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:fileName: ", p), err) }
+  return err
+}
+
+func (p *TFile) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "file", thrift.STRING, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:file: ", p), err) }
+  if err := oprot.WriteBinary(ctx, p.File); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.file (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:file: ", p), err) }
+  return err
+}
+
+func (p *TFile) Equals(other *TFile) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.FileName != other.FileName { return false }
+  if bytes.Compare(p.File, other.File) != 0 { return false }
+  return true
+}
+
+func (p *TFile) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TFile(%+v)", *p)
+}
+
+// Attributes:
+//  - Status
+//  - Files
+type TFilesResp struct {
+  Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+  Files []*TFile   `thrift:"files,2,required" db:"files" json:"files"`
+}
+
+func NewTFilesResp() *TFilesResp {
+  return &TFilesResp{}
+}
+
+var TFilesResp_Status_DEFAULT *TSStatus
+func (p *TFilesResp) GetStatus() *TSStatus {
+  if !p.IsSetStatus() {
+    return TFilesResp_Status_DEFAULT
+  }
+return p.Status
+}
+
+func (p *TFilesResp) GetFiles() []*TFile {
+  return p.Files
+}
+func (p *TFilesResp) IsSetStatus() bool {
+  return p.Status != nil
+}
+
+func (p *TFilesResp) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetStatus bool = false;
+  var issetFiles bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetStatus = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetFiles = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetStatus{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
+  }
+  if !issetFiles{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Files is not set"));
+  }
+  return nil
+}
+
+func (p *TFilesResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  p.Status = &TSStatus{}
+  if err := p.Status.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
+  }
+  return nil
+}
+
+func (p *TFilesResp)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]*TFile, 0, size)
+  p.Files =  tSlice
+  for i := 0; i < size; i ++ {
+    _elem10 := &TFile{}
+    if err := _elem10.Read(ctx, iprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem10), err)
+    }
+    p.Files = append(p.Files, _elem10)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TFilesResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TFilesResp"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TFilesResp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "status", thrift.STRUCT, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:status: ", p), err) }
+  if err := p.Status.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Status), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), err) }
+  return err
+}
+
+func (p *TFilesResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "files", thrift.LIST, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:files: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.Files)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.Files {
+    if err := v.Write(ctx, oprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
+    }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:files: ", p), err) }
+  return err
+}
+
+func (p *TFilesResp) Equals(other *TFilesResp) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if !p.Status.Equals(other.Status) { return false }
+  if len(p.Files) != len(other.Files) { return false }
+  for i, _tgt := range p.Files {
+    _src11 := other.Files[i]
+    if !_tgt.Equals(_src11) { return false }
+  }
+  return true
+}
+
+func (p *TFilesResp) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TFilesResp(%+v)", *p)
+}
+
diff --git a/example/session_example.go b/example/session_example.go
index ce6a043..574c8f4 100644
--- a/example/session_example.go
+++ b/example/session_example.go
@@ -22,13 +22,13 @@ package main
 import (
 	"flag"
 	"fmt"
+	"github.com/apache/iotdb-client-go/common"
 	"log"
 	"math/rand"
 	"strings"
 	"time"
 
 	"github.com/apache/iotdb-client-go/client"
-	"github.com/apache/iotdb-client-go/rpc"
 )
 
 var (
@@ -643,7 +643,7 @@ func executeBatchStatement() {
 	}
 }
 
-func checkError(status *rpc.TSStatus, err error) {
+func checkError(status *common.TSStatus, err error) {
 	if err != nil {
 		log.Fatal(err)
 	}
diff --git a/example/session_pool/session_pool_example.go b/example/session_pool/session_pool_example.go
index c43a4fb..e4a09f8 100644
--- a/example/session_pool/session_pool_example.go
+++ b/example/session_pool/session_pool_example.go
@@ -22,6 +22,7 @@ package main
 import (
 	"flag"
 	"fmt"
+	"github.com/apache/iotdb-client-go/common"
 	"log"
 	"math/rand"
 	"strings"
@@ -29,7 +30,6 @@ import (
 	"time"
 
 	"github.com/apache/iotdb-client-go/client"
-	"github.com/apache/iotdb-client-go/rpc"
 )
 
 var (
@@ -752,7 +752,7 @@ func printDataSet2(sds *client.SessionDataSet) {
 	}
 }
 
-func checkError(status *rpc.TSStatus, err error) {
+func checkError(status *common.TSStatus, err error) {
 	if err != nil {
 		log.Fatal(err)
 	}
diff --git a/rpc/rpc-consts.go b/rpc/client-consts.go
similarity index 79%
rename from rpc/rpc-consts.go
rename to rpc/client-consts.go
index 37fc423..c8dbff9 100644
--- a/rpc/rpc-consts.go
+++ b/rpc/client-consts.go
@@ -2,12 +2,13 @@
 
 package rpc
 
-import(
+import (
 	"bytes"
 	"context"
 	"fmt"
-	"time"
+	"github.com/apache/iotdb-client-go/common"
 	"github.com/apache/thrift/lib/go/thrift"
+	"time"
 )
 
 // (needed to ensure safety because of naive import list construction.)
@@ -17,6 +18,7 @@ var _ = context.Background
 var _ = time.Now
 var _ = bytes.Equal
 
+var _ = common.GoUnusedProtection__
 
 func init() {
 }
diff --git a/rpc/rpc.go b/rpc/client.go
similarity index 71%
rename from rpc/rpc.go
rename to rpc/client.go
index 79a52bb..edf60e0 100644
--- a/rpc/rpc.go
+++ b/rpc/client.go
@@ -2,14 +2,15 @@
 
 package rpc
 
-import(
+import (
 	"bytes"
 	"context"
 	"database/sql/driver"
 	"errors"
 	"fmt"
-	"time"
+	"github.com/apache/iotdb-client-go/common"
 	"github.com/apache/thrift/lib/go/thrift"
+	"time"
 )
 
 // (needed to ensure safety because of naive import list construction.)
@@ -19,6 +20,7 @@ var _ = context.Background
 var _ = time.Now
 var _ = bytes.Equal
 
+var _ = common.GoUnusedProtection__
 type TSProtocolVersion int64
 const (
   TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V1 TSProtocolVersion = 0
@@ -75,33 +77,96 @@ func (p * TSProtocolVersion) Value() (driver.Value, error) {
   }
 return int64(*p), nil
 }
+type TSConnectionType int64
+const (
+  TSConnectionType_THRIFT_BASED TSConnectionType = 0
+  TSConnectionType_MQTT_BASED TSConnectionType = 1
+  TSConnectionType_INTERNAL TSConnectionType = 2
+)
+
+func (p TSConnectionType) String() string {
+  switch p {
+  case TSConnectionType_THRIFT_BASED: return "THRIFT_BASED"
+  case TSConnectionType_MQTT_BASED: return "MQTT_BASED"
+  case TSConnectionType_INTERNAL: return "INTERNAL"
+  }
+  return "<UNSET>"
+}
+
+func TSConnectionTypeFromString(s string) (TSConnectionType, error) {
+  switch s {
+  case "THRIFT_BASED": return TSConnectionType_THRIFT_BASED, nil 
+  case "MQTT_BASED": return TSConnectionType_MQTT_BASED, nil 
+  case "INTERNAL": return TSConnectionType_INTERNAL, nil 
+  }
+  return TSConnectionType(0), fmt.Errorf("not a valid TSConnectionType string")
+}
+
+
+func TSConnectionTypePtr(v TSConnectionType) *TSConnectionType { return &v }
+
+func (p TSConnectionType) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *TSConnectionType) UnmarshalText(text []byte) error {
+q, err := TSConnectionTypeFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *TSConnectionType) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = TSConnectionType(v)
+return nil
+}
+
+func (p * TSConnectionType) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
 // Attributes:
-//  - IP
-//  - Port
-type EndPoint struct {
-  IP string `thrift:"ip,1,required" db:"ip" json:"ip"`
-  Port int32 `thrift:"port,2,required" db:"port" json:"port"`
+//  - Time
+//  - ValueList
+//  - BitmapList
+type TSQueryDataSet struct {
+  Time []byte `thrift:"time,1,required" db:"time" json:"time"`
+  ValueList [][]byte `thrift:"valueList,2,required" db:"valueList" json:"valueList"`
+  BitmapList [][]byte `thrift:"bitmapList,3,required" db:"bitmapList" json:"bitmapList"`
 }
 
-func NewEndPoint() *EndPoint {
-  return &EndPoint{}
+func NewTSQueryDataSet() *TSQueryDataSet {
+  return &TSQueryDataSet{}
 }
 
 
-func (p *EndPoint) GetIP() string {
-  return p.IP
+func (p *TSQueryDataSet) GetTime() []byte {
+  return p.Time
+}
+
+func (p *TSQueryDataSet) GetValueList() [][]byte {
+  return p.ValueList
 }
 
-func (p *EndPoint) GetPort() int32 {
-  return p.Port
+func (p *TSQueryDataSet) GetBitmapList() [][]byte {
+  return p.BitmapList
 }
-func (p *EndPoint) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSQueryDataSet) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
 
-  var issetIP bool = false;
-  var issetPort bool = false;
+  var issetTime bool = false;
+  var issetValueList bool = false;
+  var issetBitmapList bool = false;
 
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
@@ -115,18 +180,29 @@ func (p *EndPoint) Read(ctx context.Context, iprot thrift.TProtocol) error {
         if err := p.ReadField1(ctx, iprot); err != nil {
           return err
         }
-        issetIP = true
+        issetTime = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 2:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField2(ctx, iprot); err != nil {
           return err
         }
-        issetPort = true
+        issetValueList = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 3:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField3(ctx, iprot); err != nil {
+          return err
+        }
+        issetBitmapList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
@@ -144,39 +220,78 @@ func (p *EndPoint) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if err := iprot.ReadStructEnd(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   }
-  if !issetIP{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IP is not set"));
+  if !issetTime{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Time is not set"));
+  }
+  if !issetValueList{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValueList is not set"));
   }
-  if !issetPort{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Port is not set"));
+  if !issetBitmapList{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BitmapList is not set"));
   }
   return nil
 }
 
-func (p *EndPoint)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadString(ctx); err != nil {
+func (p *TSQueryDataSet)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadBinary(ctx); err != nil {
   return thrift.PrependError("error reading field 1: ", err)
 } else {
-  p.IP = v
+  p.Time = v
 }
   return nil
 }
 
-func (p *EndPoint)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 2: ", err)
+func (p *TSQueryDataSet)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([][]byte, 0, size)
+  p.ValueList =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem0 []byte
+    if v, err := iprot.ReadBinary(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem0 = v
+}
+    p.ValueList = append(p.ValueList, _elem0)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSQueryDataSet)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([][]byte, 0, size)
+  p.BitmapList =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem1 []byte
+    if v, err := iprot.ReadBinary(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
 } else {
-  p.Port = v
+    _elem1 = v
 }
+    p.BitmapList = append(p.BitmapList, _elem1)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
   return nil
 }
 
-func (p *EndPoint) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "EndPoint"); err != nil {
+func (p *TSQueryDataSet) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSQueryDataSet"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
     if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -185,101 +300,106 @@ func (p *EndPoint) Write(ctx context.Context, oprot thrift.TProtocol) error {
   return nil
 }
 
-func (p *EndPoint) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "ip", thrift.STRING, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip: ", p), err) }
-  if err := oprot.WriteString(ctx, string(p.IP)); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.ip (1) field write error: ", p), err) }
+func (p *TSQueryDataSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "time", thrift.STRING, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:time: ", p), err) }
+  if err := oprot.WriteBinary(ctx, p.Time); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.time (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:time: ", p), err) }
+  return err
+}
+
+func (p *TSQueryDataSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "valueList", thrift.LIST, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:valueList: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValueList)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.ValueList {
+    if err := oprot.WriteBinary(ctx, v); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:valueList: ", p), err) }
   return err
 }
 
-func (p *EndPoint) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "port", thrift.I32, 2); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:port: ", p), err) }
-  if err := oprot.WriteI32(ctx, int32(p.Port)); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.port (2) field write error: ", p), err) }
+func (p *TSQueryDataSet) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "bitmapList", thrift.LIST, 3); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:bitmapList: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.BitmapList)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.BitmapList {
+    if err := oprot.WriteBinary(ctx, v); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:port: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 3:bitmapList: ", p), err) }
   return err
 }
 
-func (p *EndPoint) Equals(other *EndPoint) bool {
+func (p *TSQueryDataSet) Equals(other *TSQueryDataSet) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
     return false
   }
-  if p.IP != other.IP { return false }
-  if p.Port != other.Port { return false }
+  if bytes.Compare(p.Time, other.Time) != 0 { return false }
+  if len(p.ValueList) != len(other.ValueList) { return false }
+  for i, _tgt := range p.ValueList {
+    _src2 := other.ValueList[i]
+    if bytes.Compare(_tgt, _src2) != 0 { return false }
+  }
+  if len(p.BitmapList) != len(other.BitmapList) { return false }
+  for i, _tgt := range p.BitmapList {
+    _src3 := other.BitmapList[i]
+    if bytes.Compare(_tgt, _src3) != 0 { return false }
+  }
   return true
 }
 
-func (p *EndPoint) String() string {
+func (p *TSQueryDataSet) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("EndPoint(%+v)", *p)
+  return fmt.Sprintf("TSQueryDataSet(%+v)", *p)
 }
 
 // Attributes:
-//  - Code
-//  - Message
-//  - SubStatus
-//  - RedirectNode
-type TSStatus struct {
-  Code int32 `thrift:"code,1,required" db:"code" json:"code"`
-  Message *string `thrift:"message,2" db:"message" json:"message,omitempty"`
-  SubStatus []*TSStatus `thrift:"subStatus,3" db:"subStatus" json:"subStatus,omitempty"`
-  RedirectNode *EndPoint `thrift:"redirectNode,4" db:"redirectNode" json:"redirectNode,omitempty"`
-}
-
-func NewTSStatus() *TSStatus {
-  return &TSStatus{}
+//  - TimeList
+//  - ValueList
+type TSQueryNonAlignDataSet struct {
+  TimeList [][]byte `thrift:"timeList,1,required" db:"timeList" json:"timeList"`
+  ValueList [][]byte `thrift:"valueList,2,required" db:"valueList" json:"valueList"`
 }
 
-
-func (p *TSStatus) GetCode() int32 {
-  return p.Code
-}
-var TSStatus_Message_DEFAULT string
-func (p *TSStatus) GetMessage() string {
-  if !p.IsSetMessage() {
-    return TSStatus_Message_DEFAULT
-  }
-return *p.Message
+func NewTSQueryNonAlignDataSet() *TSQueryNonAlignDataSet {
+  return &TSQueryNonAlignDataSet{}
 }
-var TSStatus_SubStatus_DEFAULT []*TSStatus
 
-func (p *TSStatus) GetSubStatus() []*TSStatus {
-  return p.SubStatus
-}
-var TSStatus_RedirectNode_DEFAULT *EndPoint
-func (p *TSStatus) GetRedirectNode() *EndPoint {
-  if !p.IsSetRedirectNode() {
-    return TSStatus_RedirectNode_DEFAULT
-  }
-return p.RedirectNode
-}
-func (p *TSStatus) IsSetMessage() bool {
-  return p.Message != nil
-}
 
-func (p *TSStatus) IsSetSubStatus() bool {
-  return p.SubStatus != nil
+func (p *TSQueryNonAlignDataSet) GetTimeList() [][]byte {
+  return p.TimeList
 }
 
-func (p *TSStatus) IsSetRedirectNode() bool {
-  return p.RedirectNode != nil
+func (p *TSQueryNonAlignDataSet) GetValueList() [][]byte {
+  return p.ValueList
 }
-
-func (p *TSStatus) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSQueryNonAlignDataSet) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
 
-  var issetCode bool = false;
+  var issetTimeList bool = false;
+  var issetValueList bool = false;
 
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
@@ -289,41 +409,22 @@ func (p *TSStatus) Read(ctx context.Context, iprot thrift.TProtocol) error {
     if fieldTypeId == thrift.STOP { break; }
     switch fieldId {
     case 1:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField1(ctx, iprot); err != nil {
           return err
         }
-        issetCode = true
+        issetTimeList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 2:
-      if fieldTypeId == thrift.STRING {
-        if err := p.ReadField2(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 3:
       if fieldTypeId == thrift.LIST {
-        if err := p.ReadField3(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 4:
-      if fieldTypeId == thrift.STRUCT {
-        if err := p.ReadField4(ctx, iprot); err != nil {
+        if err := p.ReadField2(ctx, iprot); err != nil {
           return err
         }
+        issetValueList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
@@ -341,43 +442,30 @@ func (p *TSStatus) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if err := iprot.ReadStructEnd(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   }
-  if !issetCode{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Code is not set"));
+  if !issetTimeList{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeList is not set"));
+  }
+  if !issetValueList{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValueList is not set"));
   }
   return nil
 }
 
-func (p *TSStatus)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 1: ", err)
-} else {
-  p.Code = v
-}
-  return nil
-}
-
-func (p *TSStatus)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadString(ctx); err != nil {
-  return thrift.PrependError("error reading field 2: ", err)
-} else {
-  p.Message = &v
-}
-  return nil
-}
-
-func (p *TSStatus)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSQueryNonAlignDataSet)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   _, size, err := iprot.ReadListBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading list begin: ", err)
   }
-  tSlice := make([]*TSStatus, 0, size)
-  p.SubStatus =  tSlice
+  tSlice := make([][]byte, 0, size)
+  p.TimeList =  tSlice
   for i := 0; i < size; i ++ {
-    _elem0 := &TSStatus{}
-    if err := _elem0.Read(ctx, iprot); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem0), err)
-    }
-    p.SubStatus = append(p.SubStatus, _elem0)
+var _elem4 []byte
+    if v, err := iprot.ReadBinary(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem4 = v
+}
+    p.TimeList = append(p.TimeList, _elem4)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -385,22 +473,34 @@ func (p *TSStatus)  ReadField3(ctx context.Context, iprot thrift.TProtocol) erro
   return nil
 }
 
-func (p *TSStatus)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
-  p.RedirectNode = &EndPoint{}
-  if err := p.RedirectNode.Read(ctx, iprot); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.RedirectNode), err)
+func (p *TSQueryNonAlignDataSet)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
   }
-  return nil
-}
-
-func (p *TSStatus) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSStatus"); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  tSlice := make([][]byte, 0, size)
+  p.ValueList =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem5 []byte
+    if v, err := iprot.ReadBinary(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem5 = v
+}
+    p.ValueList = append(p.ValueList, _elem5)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSQueryNonAlignDataSet) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSQueryNonAlignDataSet"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
     if err := p.writeField2(ctx, oprot); err != nil { return err }
-    if err := p.writeField3(ctx, oprot); err != nil { return err }
-    if err := p.writeField4(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -409,125 +509,212 @@ func (p *TSStatus) Write(ctx context.Context, oprot thrift.TProtocol) error {
   return nil
 }
 
-func (p *TSStatus) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "code", thrift.I32, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err) }
-  if err := oprot.WriteI32(ctx, int32(p.Code)); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err) }
+func (p *TSQueryNonAlignDataSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "timeList", thrift.LIST, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:timeList: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.TimeList)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.TimeList {
+    if err := oprot.WriteBinary(ctx, v); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:timeList: ", p), err) }
   return err
 }
 
-func (p *TSStatus) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetMessage() {
-    if err := oprot.WriteFieldBegin(ctx, "message", thrift.STRING, 2); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:message: ", p), err) }
-    if err := oprot.WriteString(ctx, string(*p.Message)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.message (2) field write error: ", p), err) }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:message: ", p), err) }
+func (p *TSQueryNonAlignDataSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "valueList", thrift.LIST, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:valueList: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValueList)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
   }
-  return err
-}
-
-func (p *TSStatus) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSubStatus() {
-    if err := oprot.WriteFieldBegin(ctx, "subStatus", thrift.LIST, 3); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:subStatus: ", p), err) }
-    if err := oprot.WriteListBegin(ctx, thrift.STRUCT, len(p.SubStatus)); err != nil {
-      return thrift.PrependError("error writing list begin: ", err)
-    }
-    for _, v := range p.SubStatus {
-      if err := v.Write(ctx, oprot); err != nil {
-        return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
-      }
-    }
-    if err := oprot.WriteListEnd(ctx); err != nil {
-      return thrift.PrependError("error writing list end: ", err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:subStatus: ", p), err) }
+  for _, v := range p.ValueList {
+    if err := oprot.WriteBinary(ctx, v); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
   }
-  return err
-}
-
-func (p *TSStatus) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetRedirectNode() {
-    if err := oprot.WriteFieldBegin(ctx, "redirectNode", thrift.STRUCT, 4); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:redirectNode: ", p), err) }
-    if err := p.RedirectNode.Write(ctx, oprot); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.RedirectNode), err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:redirectNode: ", p), err) }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
   }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:valueList: ", p), err) }
   return err
 }
 
-func (p *TSStatus) Equals(other *TSStatus) bool {
+func (p *TSQueryNonAlignDataSet) Equals(other *TSQueryNonAlignDataSet) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
     return false
   }
-  if p.Code != other.Code { return false }
-  if p.Message != other.Message {
-    if p.Message == nil || other.Message == nil {
-      return false
-    }
-    if (*p.Message) != (*other.Message) { return false }
+  if len(p.TimeList) != len(other.TimeList) { return false }
+  for i, _tgt := range p.TimeList {
+    _src6 := other.TimeList[i]
+    if bytes.Compare(_tgt, _src6) != 0 { return false }
   }
-  if len(p.SubStatus) != len(other.SubStatus) { return false }
-  for i, _tgt := range p.SubStatus {
-    _src1 := other.SubStatus[i]
-    if !_tgt.Equals(_src1) { return false }
+  if len(p.ValueList) != len(other.ValueList) { return false }
+  for i, _tgt := range p.ValueList {
+    _src7 := other.ValueList[i]
+    if bytes.Compare(_tgt, _src7) != 0 { return false }
   }
-  if !p.RedirectNode.Equals(other.RedirectNode) { return false }
   return true
 }
 
-func (p *TSStatus) String() string {
+func (p *TSQueryNonAlignDataSet) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("TSStatus(%+v)", *p)
+  return fmt.Sprintf("TSQueryNonAlignDataSet(%+v)", *p)
 }
 
 // Attributes:
-//  - Time
-//  - ValueList
-//  - BitmapList
-type TSQueryDataSet struct {
-  Time []byte `thrift:"time,1,required" db:"time" json:"time"`
-  ValueList [][]byte `thrift:"valueList,2,required" db:"valueList" json:"valueList"`
-  BitmapList [][]byte `thrift:"bitmapList,3,required" db:"bitmapList" json:"bitmapList"`
+//  - ActivityList
+//  - ElapsedTimeList
+//  - SeriesPathNum
+//  - SeqFileNum
+//  - UnSeqFileNum
+//  - SequenceChunkNum
+//  - SequenceChunkPointNum
+//  - UnsequenceChunkNum
+//  - UnsequenceChunkPointNum
+//  - TotalPageNum
+//  - OverlappedPageNum
+type TSTracingInfo struct {
+  ActivityList []string `thrift:"activityList,1,required" db:"activityList" json:"activityList"`
+  ElapsedTimeList []int64 `thrift:"elapsedTimeList,2,required" db:"elapsedTimeList" json:"elapsedTimeList"`
+  SeriesPathNum *int32 `thrift:"seriesPathNum,3" db:"seriesPathNum" json:"seriesPathNum,omitempty"`
+  SeqFileNum *int32 `thrift:"seqFileNum,4" db:"seqFileNum" json:"seqFileNum,omitempty"`
+  UnSeqFileNum *int32 `thrift:"unSeqFileNum,5" db:"unSeqFileNum" json:"unSeqFileNum,omitempty"`
+  SequenceChunkNum *int32 `thrift:"sequenceChunkNum,6" db:"sequenceChunkNum" json:"sequenceChunkNum,omitempty"`
+  SequenceChunkPointNum *int64 `thrift:"sequenceChunkPointNum,7" db:"sequenceChunkPointNum" json:"sequenceChunkPointNum,omitempty"`
+  UnsequenceChunkNum *int32 `thrift:"unsequenceChunkNum,8" db:"unsequenceChunkNum" json:"unsequenceChunkNum,omitempty"`
+  UnsequenceChunkPointNum *int64 `thrift:"unsequenceChunkPointNum,9" db:"unsequenceChunkPointNum" json:"unsequenceChunkPointNum,omitempty"`
+  TotalPageNum *int32 `thrift:"totalPageNum,10" db:"totalPageNum" json:"totalPageNum,omitempty"`
+  OverlappedPageNum *int32 `thrift:"overlappedPageNum,11" db:"overlappedPageNum" json:"overlappedPageNum,omitempty"`
 }
 
-func NewTSQueryDataSet() *TSQueryDataSet {
-  return &TSQueryDataSet{}
+func NewTSTracingInfo() *TSTracingInfo {
+  return &TSTracingInfo{}
 }
 
 
-func (p *TSQueryDataSet) GetTime() []byte {
-  return p.Time
+func (p *TSTracingInfo) GetActivityList() []string {
+  return p.ActivityList
 }
 
-func (p *TSQueryDataSet) GetValueList() [][]byte {
-  return p.ValueList
+func (p *TSTracingInfo) GetElapsedTimeList() []int64 {
+  return p.ElapsedTimeList
+}
+var TSTracingInfo_SeriesPathNum_DEFAULT int32
+func (p *TSTracingInfo) GetSeriesPathNum() int32 {
+  if !p.IsSetSeriesPathNum() {
+    return TSTracingInfo_SeriesPathNum_DEFAULT
+  }
+return *p.SeriesPathNum
+}
+var TSTracingInfo_SeqFileNum_DEFAULT int32
+func (p *TSTracingInfo) GetSeqFileNum() int32 {
+  if !p.IsSetSeqFileNum() {
+    return TSTracingInfo_SeqFileNum_DEFAULT
+  }
+return *p.SeqFileNum
+}
+var TSTracingInfo_UnSeqFileNum_DEFAULT int32
+func (p *TSTracingInfo) GetUnSeqFileNum() int32 {
+  if !p.IsSetUnSeqFileNum() {
+    return TSTracingInfo_UnSeqFileNum_DEFAULT
+  }
+return *p.UnSeqFileNum
+}
+var TSTracingInfo_SequenceChunkNum_DEFAULT int32
+func (p *TSTracingInfo) GetSequenceChunkNum() int32 {
+  if !p.IsSetSequenceChunkNum() {
+    return TSTracingInfo_SequenceChunkNum_DEFAULT
+  }
+return *p.SequenceChunkNum
+}
+var TSTracingInfo_SequenceChunkPointNum_DEFAULT int64
+func (p *TSTracingInfo) GetSequenceChunkPointNum() int64 {
+  if !p.IsSetSequenceChunkPointNum() {
+    return TSTracingInfo_SequenceChunkPointNum_DEFAULT
+  }
+return *p.SequenceChunkPointNum
+}
+var TSTracingInfo_UnsequenceChunkNum_DEFAULT int32
+func (p *TSTracingInfo) GetUnsequenceChunkNum() int32 {
+  if !p.IsSetUnsequenceChunkNum() {
+    return TSTracingInfo_UnsequenceChunkNum_DEFAULT
+  }
+return *p.UnsequenceChunkNum
+}
+var TSTracingInfo_UnsequenceChunkPointNum_DEFAULT int64
+func (p *TSTracingInfo) GetUnsequenceChunkPointNum() int64 {
+  if !p.IsSetUnsequenceChunkPointNum() {
+    return TSTracingInfo_UnsequenceChunkPointNum_DEFAULT
+  }
+return *p.UnsequenceChunkPointNum
+}
+var TSTracingInfo_TotalPageNum_DEFAULT int32
+func (p *TSTracingInfo) GetTotalPageNum() int32 {
+  if !p.IsSetTotalPageNum() {
+    return TSTracingInfo_TotalPageNum_DEFAULT
+  }
+return *p.TotalPageNum
+}
+var TSTracingInfo_OverlappedPageNum_DEFAULT int32
+func (p *TSTracingInfo) GetOverlappedPageNum() int32 {
+  if !p.IsSetOverlappedPageNum() {
+    return TSTracingInfo_OverlappedPageNum_DEFAULT
+  }
+return *p.OverlappedPageNum
+}
+func (p *TSTracingInfo) IsSetSeriesPathNum() bool {
+  return p.SeriesPathNum != nil
 }
 
-func (p *TSQueryDataSet) GetBitmapList() [][]byte {
-  return p.BitmapList
+func (p *TSTracingInfo) IsSetSeqFileNum() bool {
+  return p.SeqFileNum != nil
 }
-func (p *TSQueryDataSet) Read(ctx context.Context, iprot thrift.TProtocol) error {
+
+func (p *TSTracingInfo) IsSetUnSeqFileNum() bool {
+  return p.UnSeqFileNum != nil
+}
+
+func (p *TSTracingInfo) IsSetSequenceChunkNum() bool {
+  return p.SequenceChunkNum != nil
+}
+
+func (p *TSTracingInfo) IsSetSequenceChunkPointNum() bool {
+  return p.SequenceChunkPointNum != nil
+}
+
+func (p *TSTracingInfo) IsSetUnsequenceChunkNum() bool {
+  return p.UnsequenceChunkNum != nil
+}
+
+func (p *TSTracingInfo) IsSetUnsequenceChunkPointNum() bool {
+  return p.UnsequenceChunkPointNum != nil
+}
+
+func (p *TSTracingInfo) IsSetTotalPageNum() bool {
+  return p.TotalPageNum != nil
+}
+
+func (p *TSTracingInfo) IsSetOverlappedPageNum() bool {
+  return p.OverlappedPageNum != nil
+}
+
+func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
 
-  var issetTime bool = false;
-  var issetValueList bool = false;
-  var issetBitmapList bool = false;
+  var issetActivityList bool = false;
+  var issetElapsedTimeList bool = false;
 
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
@@ -537,11 +724,11 @@ func (p *TSQueryDataSet) Read(ctx context.Context, iprot thrift.TProtocol) error
     if fieldTypeId == thrift.STOP { break; }
     switch fieldId {
     case 1:
-      if fieldTypeId == thrift.STRING {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField1(ctx, iprot); err != nil {
           return err
         }
-        issetTime = true
+        issetActivityList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
@@ -552,71 +739,138 @@ func (p *TSQueryDataSet) Read(ctx context.Context, iprot thrift.TProtocol) error
         if err := p.ReadField2(ctx, iprot); err != nil {
           return err
         }
-        issetValueList = true
+        issetElapsedTimeList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 3:
-      if fieldTypeId == thrift.LIST {
+      if fieldTypeId == thrift.I32 {
         if err := p.ReadField3(ctx, iprot); err != nil {
           return err
         }
-        issetBitmapList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
-    default:
-      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-        return err
+    case 4:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField4(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
       }
-    }
-    if err := iprot.ReadFieldEnd(ctx); err != nil {
-      return err
-    }
-  }
-  if err := iprot.ReadStructEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
-  }
-  if !issetTime{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Time is not set"));
-  }
-  if !issetValueList{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValueList is not set"));
-  }
-  if !issetBitmapList{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BitmapList is not set"));
+    case 5:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField5(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 6:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField6(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 7:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField7(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 8:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField8(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 9:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField9(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 10:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField10(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 11:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField11(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetActivityList{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ActivityList is not set"));
+  }
+  if !issetElapsedTimeList{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ElapsedTimeList is not set"));
   }
   return nil
 }
 
-func (p *TSQueryDataSet)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadBinary(ctx); err != nil {
-  return thrift.PrependError("error reading field 1: ", err)
-} else {
-  p.Time = v
-}
-  return nil
-}
-
-func (p *TSQueryDataSet)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSTracingInfo)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   _, size, err := iprot.ReadListBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading list begin: ", err)
   }
-  tSlice := make([][]byte, 0, size)
-  p.ValueList =  tSlice
+  tSlice := make([]string, 0, size)
+  p.ActivityList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem2 []byte
-    if v, err := iprot.ReadBinary(ctx); err != nil {
+var _elem8 string
+    if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem2 = v
+    _elem8 = v
 }
-    p.ValueList = append(p.ValueList, _elem2)
+    p.ActivityList = append(p.ActivityList, _elem8)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -624,21 +878,21 @@ var _elem2 []byte
   return nil
 }
 
-func (p *TSQueryDataSet)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSTracingInfo)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
   _, size, err := iprot.ReadListBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading list begin: ", err)
   }
-  tSlice := make([][]byte, 0, size)
-  p.BitmapList =  tSlice
+  tSlice := make([]int64, 0, size)
+  p.ElapsedTimeList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem3 []byte
-    if v, err := iprot.ReadBinary(ctx); err != nil {
+var _elem9 int64
+    if v, err := iprot.ReadI64(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem3 = v
+    _elem9 = v
 }
-    p.BitmapList = append(p.BitmapList, _elem3)
+    p.ElapsedTimeList = append(p.ElapsedTimeList, _elem9)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -646,13 +900,102 @@ var _elem3 []byte
   return nil
 }
 
-func (p *TSQueryDataSet) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSQueryDataSet"); err != nil {
+func (p *TSTracingInfo)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 3: ", err)
+} else {
+  p.SeriesPathNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 4: ", err)
+} else {
+  p.SeqFileNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 5: ", err)
+} else {
+  p.UnSeqFileNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 6: ", err)
+} else {
+  p.SequenceChunkNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 7: ", err)
+} else {
+  p.SequenceChunkPointNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 8: ", err)
+} else {
+  p.UnsequenceChunkNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 9: ", err)
+} else {
+  p.UnsequenceChunkPointNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 10: ", err)
+} else {
+  p.TotalPageNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo)  ReadField11(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 11: ", err)
+} else {
+  p.OverlappedPageNum = &v
+}
+  return nil
+}
+
+func (p *TSTracingInfo) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSTracingInfo"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
     if err := p.writeField2(ctx, oprot); err != nil { return err }
     if err := p.writeField3(ctx, oprot); err != nil { return err }
+    if err := p.writeField4(ctx, oprot); err != nil { return err }
+    if err := p.writeField5(ctx, oprot); err != nil { return err }
+    if err := p.writeField6(ctx, oprot); err != nil { return err }
+    if err := p.writeField7(ctx, oprot); err != nil { return err }
+    if err := p.writeField8(ctx, oprot); err != nil { return err }
+    if err := p.writeField9(ctx, oprot); err != nil { return err }
+    if err := p.writeField10(ctx, oprot); err != nil { return err }
+    if err := p.writeField11(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -661,421 +1004,414 @@ func (p *TSQueryDataSet) Write(ctx context.Context, oprot thrift.TProtocol) erro
   return nil
 }
 
-func (p *TSQueryDataSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "time", thrift.STRING, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:time: ", p), err) }
-  if err := oprot.WriteBinary(ctx, p.Time); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.time (1) field write error: ", p), err) }
-  if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:time: ", p), err) }
-  return err
-}
-
-func (p *TSQueryDataSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "valueList", thrift.LIST, 2); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:valueList: ", p), err) }
-  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValueList)); err != nil {
+func (p *TSTracingInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "activityList", thrift.LIST, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:activityList: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ActivityList)); err != nil {
     return thrift.PrependError("error writing list begin: ", err)
   }
-  for _, v := range p.ValueList {
-    if err := oprot.WriteBinary(ctx, v); err != nil {
+  for _, v := range p.ActivityList {
+    if err := oprot.WriteString(ctx, string(v)); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
   }
   if err := oprot.WriteListEnd(ctx); err != nil {
     return thrift.PrependError("error writing list end: ", err)
   }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:valueList: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:activityList: ", p), err) }
   return err
 }
 
-func (p *TSQueryDataSet) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "bitmapList", thrift.LIST, 3); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:bitmapList: ", p), err) }
-  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.BitmapList)); err != nil {
+func (p *TSTracingInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "elapsedTimeList", thrift.LIST, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:elapsedTimeList: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ElapsedTimeList)); err != nil {
     return thrift.PrependError("error writing list begin: ", err)
   }
-  for _, v := range p.BitmapList {
-    if err := oprot.WriteBinary(ctx, v); err != nil {
+  for _, v := range p.ElapsedTimeList {
+    if err := oprot.WriteI64(ctx, int64(v)); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
   }
   if err := oprot.WriteListEnd(ctx); err != nil {
     return thrift.PrependError("error writing list end: ", err)
   }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 3:bitmapList: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:elapsedTimeList: ", p), err) }
   return err
 }
 
-func (p *TSQueryDataSet) Equals(other *TSQueryDataSet) bool {
-  if p == other {
-    return true
-  } else if p == nil || other == nil {
-    return false
+func (p *TSTracingInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSeriesPathNum() {
+    if err := oprot.WriteFieldBegin(ctx, "seriesPathNum", thrift.I32, 3); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:seriesPathNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.SeriesPathNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.seriesPathNum (3) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:seriesPathNum: ", p), err) }
   }
-  if bytes.Compare(p.Time, other.Time) != 0 { return false }
-  if len(p.ValueList) != len(other.ValueList) { return false }
-  for i, _tgt := range p.ValueList {
-    _src4 := other.ValueList[i]
-    if bytes.Compare(_tgt, _src4) != 0 { return false }
-  }
-  if len(p.BitmapList) != len(other.BitmapList) { return false }
-  for i, _tgt := range p.BitmapList {
-    _src5 := other.BitmapList[i]
-    if bytes.Compare(_tgt, _src5) != 0 { return false }
-  }
-  return true
+  return err
 }
 
-func (p *TSQueryDataSet) String() string {
-  if p == nil {
-    return "<nil>"
+func (p *TSTracingInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSeqFileNum() {
+    if err := oprot.WriteFieldBegin(ctx, "seqFileNum", thrift.I32, 4); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:seqFileNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.SeqFileNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.seqFileNum (4) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:seqFileNum: ", p), err) }
   }
-  return fmt.Sprintf("TSQueryDataSet(%+v)", *p)
-}
-
-// Attributes:
-//  - TimeList
-//  - ValueList
-type TSQueryNonAlignDataSet struct {
-  TimeList [][]byte `thrift:"timeList,1,required" db:"timeList" json:"timeList"`
-  ValueList [][]byte `thrift:"valueList,2,required" db:"valueList" json:"valueList"`
-}
-
-func NewTSQueryNonAlignDataSet() *TSQueryNonAlignDataSet {
-  return &TSQueryNonAlignDataSet{}
-}
-
-
-func (p *TSQueryNonAlignDataSet) GetTimeList() [][]byte {
-  return p.TimeList
-}
-
-func (p *TSQueryNonAlignDataSet) GetValueList() [][]byte {
-  return p.ValueList
+  return err
 }
-func (p *TSQueryNonAlignDataSet) Read(ctx context.Context, iprot thrift.TProtocol) error {
-  if _, err := iprot.ReadStructBegin(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
-  }
-
-  var issetTimeList bool = false;
-  var issetValueList bool = false;
 
-  for {
-    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
-    if err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
-    }
-    if fieldTypeId == thrift.STOP { break; }
-    switch fieldId {
-    case 1:
-      if fieldTypeId == thrift.LIST {
-        if err := p.ReadField1(ctx, iprot); err != nil {
-          return err
-        }
-        issetTimeList = true
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 2:
-      if fieldTypeId == thrift.LIST {
-        if err := p.ReadField2(ctx, iprot); err != nil {
-          return err
-        }
-        issetValueList = true
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    default:
-      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-        return err
-      }
-    }
-    if err := iprot.ReadFieldEnd(ctx); err != nil {
-      return err
-    }
-  }
-  if err := iprot.ReadStructEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
-  }
-  if !issetTimeList{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeList is not set"));
-  }
-  if !issetValueList{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValueList is not set"));
+func (p *TSTracingInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetUnSeqFileNum() {
+    if err := oprot.WriteFieldBegin(ctx, "unSeqFileNum", thrift.I32, 5); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:unSeqFileNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.UnSeqFileNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.unSeqFileNum (5) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 5:unSeqFileNum: ", p), err) }
   }
-  return nil
+  return err
 }
 
-func (p *TSQueryNonAlignDataSet)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  _, size, err := iprot.ReadListBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading list begin: ", err)
-  }
-  tSlice := make([][]byte, 0, size)
-  p.TimeList =  tSlice
-  for i := 0; i < size; i ++ {
-var _elem6 []byte
-    if v, err := iprot.ReadBinary(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    _elem6 = v
-}
-    p.TimeList = append(p.TimeList, _elem6)
-  }
-  if err := iprot.ReadListEnd(ctx); err != nil {
-    return thrift.PrependError("error reading list end: ", err)
+func (p *TSTracingInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSequenceChunkNum() {
+    if err := oprot.WriteFieldBegin(ctx, "sequenceChunkNum", thrift.I32, 6); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:sequenceChunkNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.SequenceChunkNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.sequenceChunkNum (6) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 6:sequenceChunkNum: ", p), err) }
   }
-  return nil
+  return err
 }
 
-func (p *TSQueryNonAlignDataSet)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
-  _, size, err := iprot.ReadListBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading list begin: ", err)
+func (p *TSTracingInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSequenceChunkPointNum() {
+    if err := oprot.WriteFieldBegin(ctx, "sequenceChunkPointNum", thrift.I64, 7); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:sequenceChunkPointNum: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.SequenceChunkPointNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.sequenceChunkPointNum (7) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 7:sequenceChunkPointNum: ", p), err) }
   }
-  tSlice := make([][]byte, 0, size)
-  p.ValueList =  tSlice
-  for i := 0; i < size; i ++ {
-var _elem7 []byte
-    if v, err := iprot.ReadBinary(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    _elem7 = v
+  return err
 }
-    p.ValueList = append(p.ValueList, _elem7)
-  }
-  if err := iprot.ReadListEnd(ctx); err != nil {
-    return thrift.PrependError("error reading list end: ", err)
+
+func (p *TSTracingInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetUnsequenceChunkNum() {
+    if err := oprot.WriteFieldBegin(ctx, "unsequenceChunkNum", thrift.I32, 8); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:unsequenceChunkNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.UnsequenceChunkNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.unsequenceChunkNum (8) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 8:unsequenceChunkNum: ", p), err) }
   }
-  return nil
+  return err
 }
 
-func (p *TSQueryNonAlignDataSet) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSQueryNonAlignDataSet"); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
-  if p != nil {
-    if err := p.writeField1(ctx, oprot); err != nil { return err }
-    if err := p.writeField2(ctx, oprot); err != nil { return err }
+func (p *TSTracingInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetUnsequenceChunkPointNum() {
+    if err := oprot.WriteFieldBegin(ctx, "unsequenceChunkPointNum", thrift.I64, 9); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:unsequenceChunkPointNum: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.UnsequenceChunkPointNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.unsequenceChunkPointNum (9) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 9:unsequenceChunkPointNum: ", p), err) }
   }
-  if err := oprot.WriteFieldStop(ctx); err != nil {
-    return thrift.PrependError("write field stop error: ", err) }
-  if err := oprot.WriteStructEnd(ctx); err != nil {
-    return thrift.PrependError("write struct stop error: ", err) }
-  return nil
+  return err
 }
 
-func (p *TSQueryNonAlignDataSet) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "timeList", thrift.LIST, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:timeList: ", p), err) }
-  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.TimeList)); err != nil {
-    return thrift.PrependError("error writing list begin: ", err)
-  }
-  for _, v := range p.TimeList {
-    if err := oprot.WriteBinary(ctx, v); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-  }
-  if err := oprot.WriteListEnd(ctx); err != nil {
-    return thrift.PrependError("error writing list end: ", err)
+func (p *TSTracingInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetTotalPageNum() {
+    if err := oprot.WriteFieldBegin(ctx, "totalPageNum", thrift.I32, 10); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:totalPageNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.TotalPageNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.totalPageNum (10) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 10:totalPageNum: ", p), err) }
   }
-  if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:timeList: ", p), err) }
   return err
 }
 
-func (p *TSQueryNonAlignDataSet) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "valueList", thrift.LIST, 2); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:valueList: ", p), err) }
-  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValueList)); err != nil {
-    return thrift.PrependError("error writing list begin: ", err)
-  }
-  for _, v := range p.ValueList {
-    if err := oprot.WriteBinary(ctx, v); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-  }
-  if err := oprot.WriteListEnd(ctx); err != nil {
-    return thrift.PrependError("error writing list end: ", err)
+func (p *TSTracingInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetOverlappedPageNum() {
+    if err := oprot.WriteFieldBegin(ctx, "overlappedPageNum", thrift.I32, 11); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:overlappedPageNum: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.OverlappedPageNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.overlappedPageNum (11) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 11:overlappedPageNum: ", p), err) }
   }
-  if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:valueList: ", p), err) }
   return err
 }
 
-func (p *TSQueryNonAlignDataSet) Equals(other *TSQueryNonAlignDataSet) bool {
+func (p *TSTracingInfo) Equals(other *TSTracingInfo) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
     return false
   }
-  if len(p.TimeList) != len(other.TimeList) { return false }
-  for i, _tgt := range p.TimeList {
-    _src8 := other.TimeList[i]
-    if bytes.Compare(_tgt, _src8) != 0 { return false }
+  if len(p.ActivityList) != len(other.ActivityList) { return false }
+  for i, _tgt := range p.ActivityList {
+    _src10 := other.ActivityList[i]
+    if _tgt != _src10 { return false }
   }
-  if len(p.ValueList) != len(other.ValueList) { return false }
-  for i, _tgt := range p.ValueList {
-    _src9 := other.ValueList[i]
-    if bytes.Compare(_tgt, _src9) != 0 { return false }
+  if len(p.ElapsedTimeList) != len(other.ElapsedTimeList) { return false }
+  for i, _tgt := range p.ElapsedTimeList {
+    _src11 := other.ElapsedTimeList[i]
+    if _tgt != _src11 { return false }
   }
-  return true
-}
-
-func (p *TSQueryNonAlignDataSet) String() string {
-  if p == nil {
-    return "<nil>"
+  if p.SeriesPathNum != other.SeriesPathNum {
+    if p.SeriesPathNum == nil || other.SeriesPathNum == nil {
+      return false
+    }
+    if (*p.SeriesPathNum) != (*other.SeriesPathNum) { return false }
   }
-  return fmt.Sprintf("TSQueryNonAlignDataSet(%+v)", *p)
-}
-
-// Attributes:
-//  - ActivityList
-//  - ElapsedTimeList
-//  - SeriesPathNum
-//  - SeqFileNum
-//  - UnSeqFileNum
-//  - SequenceChunkNum
-//  - SequenceChunkPointNum
-//  - UnsequenceChunkNum
-//  - UnsequenceChunkPointNum
-//  - TotalPageNum
-//  - OverlappedPageNum
-type TSTracingInfo struct {
-  ActivityList []string `thrift:"activityList,1,required" db:"activityList" json:"activityList"`
-  ElapsedTimeList []int64 `thrift:"elapsedTimeList,2,required" db:"elapsedTimeList" json:"elapsedTimeList"`
-  SeriesPathNum *int32 `thrift:"seriesPathNum,3" db:"seriesPathNum" json:"seriesPathNum,omitempty"`
-  SeqFileNum *int32 `thrift:"seqFileNum,4" db:"seqFileNum" json:"seqFileNum,omitempty"`
-  UnSeqFileNum *int32 `thrift:"unSeqFileNum,5" db:"unSeqFileNum" json:"unSeqFileNum,omitempty"`
-  SequenceChunkNum *int32 `thrift:"sequenceChunkNum,6" db:"sequenceChunkNum" json:"sequenceChunkNum,omitempty"`
-  SequenceChunkPointNum *int64 `thrift:"sequenceChunkPointNum,7" db:"sequenceChunkPointNum" json:"sequenceChunkPointNum,omitempty"`
-  UnsequenceChunkNum *int32 `thrift:"unsequenceChunkNum,8" db:"unsequenceChunkNum" json:"unsequenceChunkNum,omitempty"`
-  UnsequenceChunkPointNum *int64 `thrift:"unsequenceChunkPointNum,9" db:"unsequenceChunkPointNum" json:"unsequenceChunkPointNum,omitempty"`
-  TotalPageNum *int32 `thrift:"totalPageNum,10" db:"totalPageNum" json:"totalPageNum,omitempty"`
-  OverlappedPageNum *int32 `thrift:"overlappedPageNum,11" db:"overlappedPageNum" json:"overlappedPageNum,omitempty"`
+  if p.SeqFileNum != other.SeqFileNum {
+    if p.SeqFileNum == nil || other.SeqFileNum == nil {
+      return false
+    }
+    if (*p.SeqFileNum) != (*other.SeqFileNum) { return false }
+  }
+  if p.UnSeqFileNum != other.UnSeqFileNum {
+    if p.UnSeqFileNum == nil || other.UnSeqFileNum == nil {
+      return false
+    }
+    if (*p.UnSeqFileNum) != (*other.UnSeqFileNum) { return false }
+  }
+  if p.SequenceChunkNum != other.SequenceChunkNum {
+    if p.SequenceChunkNum == nil || other.SequenceChunkNum == nil {
+      return false
+    }
+    if (*p.SequenceChunkNum) != (*other.SequenceChunkNum) { return false }
+  }
+  if p.SequenceChunkPointNum != other.SequenceChunkPointNum {
+    if p.SequenceChunkPointNum == nil || other.SequenceChunkPointNum == nil {
+      return false
+    }
+    if (*p.SequenceChunkPointNum) != (*other.SequenceChunkPointNum) { return false }
+  }
+  if p.UnsequenceChunkNum != other.UnsequenceChunkNum {
+    if p.UnsequenceChunkNum == nil || other.UnsequenceChunkNum == nil {
+      return false
+    }
+    if (*p.UnsequenceChunkNum) != (*other.UnsequenceChunkNum) { return false }
+  }
+  if p.UnsequenceChunkPointNum != other.UnsequenceChunkPointNum {
+    if p.UnsequenceChunkPointNum == nil || other.UnsequenceChunkPointNum == nil {
+      return false
+    }
+    if (*p.UnsequenceChunkPointNum) != (*other.UnsequenceChunkPointNum) { return false }
+  }
+  if p.TotalPageNum != other.TotalPageNum {
+    if p.TotalPageNum == nil || other.TotalPageNum == nil {
+      return false
+    }
+    if (*p.TotalPageNum) != (*other.TotalPageNum) { return false }
+  }
+  if p.OverlappedPageNum != other.OverlappedPageNum {
+    if p.OverlappedPageNum == nil || other.OverlappedPageNum == nil {
+      return false
+    }
+    if (*p.OverlappedPageNum) != (*other.OverlappedPageNum) { return false }
+  }
+  return true
 }
 
-func NewTSTracingInfo() *TSTracingInfo {
-  return &TSTracingInfo{}
+func (p *TSTracingInfo) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSTracingInfo(%+v)", *p)
 }
 
-
-func (p *TSTracingInfo) GetActivityList() []string {
-  return p.ActivityList
+// Attributes:
+//  - Status
+//  - QueryId
+//  - Columns
+//  - OperationType
+//  - IgnoreTimeStamp
+//  - DataTypeList
+//  - QueryDataSet
+//  - NonAlignQueryDataSet
+//  - ColumnNameIndexMap
+//  - SgColumns
+//  - AliasColumns
+//  - TracingInfo
+//  - QueryResult_
+//  - MoreData
+type TSExecuteStatementResp struct {
+  Status *common.TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+  QueryId *int64 `thrift:"queryId,2" db:"queryId" json:"queryId,omitempty"`
+  Columns []string `thrift:"columns,3" db:"columns" json:"columns,omitempty"`
+  OperationType *string `thrift:"operationType,4" db:"operationType" json:"operationType,omitempty"`
+  IgnoreTimeStamp *bool `thrift:"ignoreTimeStamp,5" db:"ignoreTimeStamp" json:"ignoreTimeStamp,omitempty"`
+  DataTypeList []string `thrift:"dataTypeList,6" db:"dataTypeList" json:"dataTypeList,omitempty"`
+  QueryDataSet *TSQueryDataSet `thrift:"queryDataSet,7" db:"queryDataSet" json:"queryDataSet,omitempty"`
+  NonAlignQueryDataSet *TSQueryNonAlignDataSet `thrift:"nonAlignQueryDataSet,8" db:"nonAlignQueryDataSet" json:"nonAlignQueryDataSet,omitempty"`
+  ColumnNameIndexMap map[string]int32 `thrift:"columnNameIndexMap,9" db:"columnNameIndexMap" json:"columnNameIndexMap,omitempty"`
+  SgColumns []string `thrift:"sgColumns,10" db:"sgColumns" json:"sgColumns,omitempty"`
+  AliasColumns []int8 `thrift:"aliasColumns,11" db:"aliasColumns" json:"aliasColumns,omitempty"`
+  TracingInfo *TSTracingInfo `thrift:"tracingInfo,12" db:"tracingInfo" json:"tracingInfo,omitempty"`
+  QueryResult_ [][]byte `thrift:"queryResult,13" db:"queryResult" json:"queryResult,omitempty"`
+  MoreData *bool `thrift:"moreData,14" db:"moreData" json:"moreData,omitempty"`
 }
 
-func (p *TSTracingInfo) GetElapsedTimeList() []int64 {
-  return p.ElapsedTimeList
+func NewTSExecuteStatementResp() *TSExecuteStatementResp {
+  return &TSExecuteStatementResp{}
 }
-var TSTracingInfo_SeriesPathNum_DEFAULT int32
-func (p *TSTracingInfo) GetSeriesPathNum() int32 {
-  if !p.IsSetSeriesPathNum() {
-    return TSTracingInfo_SeriesPathNum_DEFAULT
+
+var TSExecuteStatementResp_Status_DEFAULT *common.TSStatus
+func (p *TSExecuteStatementResp) GetStatus() *common.TSStatus {
+  if !p.IsSetStatus() {
+    return TSExecuteStatementResp_Status_DEFAULT
   }
-return *p.SeriesPathNum
+return p.Status
 }
-var TSTracingInfo_SeqFileNum_DEFAULT int32
-func (p *TSTracingInfo) GetSeqFileNum() int32 {
-  if !p.IsSetSeqFileNum() {
-    return TSTracingInfo_SeqFileNum_DEFAULT
+var TSExecuteStatementResp_QueryId_DEFAULT int64
+func (p *TSExecuteStatementResp) GetQueryId() int64 {
+  if !p.IsSetQueryId() {
+    return TSExecuteStatementResp_QueryId_DEFAULT
   }
-return *p.SeqFileNum
+return *p.QueryId
 }
-var TSTracingInfo_UnSeqFileNum_DEFAULT int32
-func (p *TSTracingInfo) GetUnSeqFileNum() int32 {
-  if !p.IsSetUnSeqFileNum() {
-    return TSTracingInfo_UnSeqFileNum_DEFAULT
-  }
-return *p.UnSeqFileNum
+var TSExecuteStatementResp_Columns_DEFAULT []string
+
+func (p *TSExecuteStatementResp) GetColumns() []string {
+  return p.Columns
 }
-var TSTracingInfo_SequenceChunkNum_DEFAULT int32
-func (p *TSTracingInfo) GetSequenceChunkNum() int32 {
-  if !p.IsSetSequenceChunkNum() {
-    return TSTracingInfo_SequenceChunkNum_DEFAULT
+var TSExecuteStatementResp_OperationType_DEFAULT string
+func (p *TSExecuteStatementResp) GetOperationType() string {
+  if !p.IsSetOperationType() {
+    return TSExecuteStatementResp_OperationType_DEFAULT
   }
-return *p.SequenceChunkNum
+return *p.OperationType
 }
-var TSTracingInfo_SequenceChunkPointNum_DEFAULT int64
-func (p *TSTracingInfo) GetSequenceChunkPointNum() int64 {
-  if !p.IsSetSequenceChunkPointNum() {
-    return TSTracingInfo_SequenceChunkPointNum_DEFAULT
+var TSExecuteStatementResp_IgnoreTimeStamp_DEFAULT bool
+func (p *TSExecuteStatementResp) GetIgnoreTimeStamp() bool {
+  if !p.IsSetIgnoreTimeStamp() {
+    return TSExecuteStatementResp_IgnoreTimeStamp_DEFAULT
   }
-return *p.SequenceChunkPointNum
+return *p.IgnoreTimeStamp
 }
-var TSTracingInfo_UnsequenceChunkNum_DEFAULT int32
-func (p *TSTracingInfo) GetUnsequenceChunkNum() int32 {
-  if !p.IsSetUnsequenceChunkNum() {
-    return TSTracingInfo_UnsequenceChunkNum_DEFAULT
+var TSExecuteStatementResp_DataTypeList_DEFAULT []string
+
+func (p *TSExecuteStatementResp) GetDataTypeList() []string {
+  return p.DataTypeList
+}
+var TSExecuteStatementResp_QueryDataSet_DEFAULT *TSQueryDataSet
+func (p *TSExecuteStatementResp) GetQueryDataSet() *TSQueryDataSet {
+  if !p.IsSetQueryDataSet() {
+    return TSExecuteStatementResp_QueryDataSet_DEFAULT
   }
-return *p.UnsequenceChunkNum
+return p.QueryDataSet
 }
-var TSTracingInfo_UnsequenceChunkPointNum_DEFAULT int64
-func (p *TSTracingInfo) GetUnsequenceChunkPointNum() int64 {
-  if !p.IsSetUnsequenceChunkPointNum() {
-    return TSTracingInfo_UnsequenceChunkPointNum_DEFAULT
+var TSExecuteStatementResp_NonAlignQueryDataSet_DEFAULT *TSQueryNonAlignDataSet
+func (p *TSExecuteStatementResp) GetNonAlignQueryDataSet() *TSQueryNonAlignDataSet {
+  if !p.IsSetNonAlignQueryDataSet() {
+    return TSExecuteStatementResp_NonAlignQueryDataSet_DEFAULT
   }
-return *p.UnsequenceChunkPointNum
+return p.NonAlignQueryDataSet
 }
-var TSTracingInfo_TotalPageNum_DEFAULT int32
-func (p *TSTracingInfo) GetTotalPageNum() int32 {
-  if !p.IsSetTotalPageNum() {
-    return TSTracingInfo_TotalPageNum_DEFAULT
+var TSExecuteStatementResp_ColumnNameIndexMap_DEFAULT map[string]int32
+
+func (p *TSExecuteStatementResp) GetColumnNameIndexMap() map[string]int32 {
+  return p.ColumnNameIndexMap
+}
+var TSExecuteStatementResp_SgColumns_DEFAULT []string
+
+func (p *TSExecuteStatementResp) GetSgColumns() []string {
+  return p.SgColumns
+}
+var TSExecuteStatementResp_AliasColumns_DEFAULT []int8
+
+func (p *TSExecuteStatementResp) GetAliasColumns() []int8 {
+  return p.AliasColumns
+}
+var TSExecuteStatementResp_TracingInfo_DEFAULT *TSTracingInfo
+func (p *TSExecuteStatementResp) GetTracingInfo() *TSTracingInfo {
+  if !p.IsSetTracingInfo() {
+    return TSExecuteStatementResp_TracingInfo_DEFAULT
   }
-return *p.TotalPageNum
+return p.TracingInfo
 }
-var TSTracingInfo_OverlappedPageNum_DEFAULT int32
-func (p *TSTracingInfo) GetOverlappedPageNum() int32 {
-  if !p.IsSetOverlappedPageNum() {
-    return TSTracingInfo_OverlappedPageNum_DEFAULT
+var TSExecuteStatementResp_QueryResult__DEFAULT [][]byte
+
+func (p *TSExecuteStatementResp) GetQueryResult_() [][]byte {
+  return p.QueryResult_
+}
+var TSExecuteStatementResp_MoreData_DEFAULT bool
+func (p *TSExecuteStatementResp) GetMoreData() bool {
+  if !p.IsSetMoreData() {
+    return TSExecuteStatementResp_MoreData_DEFAULT
   }
-return *p.OverlappedPageNum
+return *p.MoreData
 }
-func (p *TSTracingInfo) IsSetSeriesPathNum() bool {
-  return p.SeriesPathNum != nil
+func (p *TSExecuteStatementResp) IsSetStatus() bool {
+  return p.Status != nil
 }
 
-func (p *TSTracingInfo) IsSetSeqFileNum() bool {
-  return p.SeqFileNum != nil
+func (p *TSExecuteStatementResp) IsSetQueryId() bool {
+  return p.QueryId != nil
 }
 
-func (p *TSTracingInfo) IsSetUnSeqFileNum() bool {
-  return p.UnSeqFileNum != nil
+func (p *TSExecuteStatementResp) IsSetColumns() bool {
+  return p.Columns != nil
 }
 
-func (p *TSTracingInfo) IsSetSequenceChunkNum() bool {
-  return p.SequenceChunkNum != nil
+func (p *TSExecuteStatementResp) IsSetOperationType() bool {
+  return p.OperationType != nil
 }
 
-func (p *TSTracingInfo) IsSetSequenceChunkPointNum() bool {
-  return p.SequenceChunkPointNum != nil
+func (p *TSExecuteStatementResp) IsSetIgnoreTimeStamp() bool {
+  return p.IgnoreTimeStamp != nil
 }
 
-func (p *TSTracingInfo) IsSetUnsequenceChunkNum() bool {
-  return p.UnsequenceChunkNum != nil
+func (p *TSExecuteStatementResp) IsSetDataTypeList() bool {
+  return p.DataTypeList != nil
 }
 
-func (p *TSTracingInfo) IsSetUnsequenceChunkPointNum() bool {
-  return p.UnsequenceChunkPointNum != nil
+func (p *TSExecuteStatementResp) IsSetQueryDataSet() bool {
+  return p.QueryDataSet != nil
 }
 
-func (p *TSTracingInfo) IsSetTotalPageNum() bool {
-  return p.TotalPageNum != nil
+func (p *TSExecuteStatementResp) IsSetNonAlignQueryDataSet() bool {
+  return p.NonAlignQueryDataSet != nil
 }
 
-func (p *TSTracingInfo) IsSetOverlappedPageNum() bool {
-  return p.OverlappedPageNum != nil
+func (p *TSExecuteStatementResp) IsSetColumnNameIndexMap() bool {
+  return p.ColumnNameIndexMap != nil
 }
 
-func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error {
-  if _, err := iprot.ReadStructBegin(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
-  }
-
-  var issetActivityList bool = false;
-  var issetElapsedTimeList bool = false;
+func (p *TSExecuteStatementResp) IsSetSgColumns() bool {
+  return p.SgColumns != nil
+}
+
+func (p *TSExecuteStatementResp) IsSetAliasColumns() bool {
+  return p.AliasColumns != nil
+}
+
+func (p *TSExecuteStatementResp) IsSetTracingInfo() bool {
+  return p.TracingInfo != nil
+}
+
+func (p *TSExecuteStatementResp) IsSetQueryResult_() bool {
+  return p.QueryResult_ != nil
+}
+
+func (p *TSExecuteStatementResp) IsSetMoreData() bool {
+  return p.MoreData != nil
+}
+
+func (p *TSExecuteStatementResp) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetStatus bool = false;
 
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
@@ -1085,29 +1421,28 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
     if fieldTypeId == thrift.STOP { break; }
     switch fieldId {
     case 1:
-      if fieldTypeId == thrift.LIST {
+      if fieldTypeId == thrift.STRUCT {
         if err := p.ReadField1(ctx, iprot); err != nil {
           return err
         }
-        issetActivityList = true
+        issetStatus = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 2:
-      if fieldTypeId == thrift.LIST {
+      if fieldTypeId == thrift.I64 {
         if err := p.ReadField2(ctx, iprot); err != nil {
           return err
         }
-        issetElapsedTimeList = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 3:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField3(ctx, iprot); err != nil {
           return err
         }
@@ -1117,7 +1452,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 4:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.STRING {
         if err := p.ReadField4(ctx, iprot); err != nil {
           return err
         }
@@ -1127,7 +1462,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 5:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.BOOL {
         if err := p.ReadField5(ctx, iprot); err != nil {
           return err
         }
@@ -1137,7 +1472,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 6:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField6(ctx, iprot); err != nil {
           return err
         }
@@ -1147,7 +1482,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 7:
-      if fieldTypeId == thrift.I64 {
+      if fieldTypeId == thrift.STRUCT {
         if err := p.ReadField7(ctx, iprot); err != nil {
           return err
         }
@@ -1157,7 +1492,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 8:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.STRUCT {
         if err := p.ReadField8(ctx, iprot); err != nil {
           return err
         }
@@ -1167,7 +1502,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 9:
-      if fieldTypeId == thrift.I64 {
+      if fieldTypeId == thrift.MAP {
         if err := p.ReadField9(ctx, iprot); err != nil {
           return err
         }
@@ -1177,7 +1512,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 10:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField10(ctx, iprot); err != nil {
           return err
         }
@@ -1187,7 +1522,7 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
         }
       }
     case 11:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.LIST {
         if err := p.ReadField11(ctx, iprot); err != nil {
           return err
         }
@@ -1196,6 +1531,36 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
           return err
         }
       }
+    case 12:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField12(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 13:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField13(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 14:
+      if fieldTypeId == thrift.BOOL {
+        if err := p.ReadField14(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
     default:
       if err := iprot.Skip(ctx, fieldTypeId); err != nil {
         return err
@@ -1208,30 +1573,44 @@ func (p *TSTracingInfo) Read(ctx context.Context, iprot thrift.TProtocol) error
   if err := iprot.ReadStructEnd(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   }
-  if !issetActivityList{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ActivityList is not set"));
+  if !issetStatus{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
   }
-  if !issetElapsedTimeList{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ElapsedTimeList is not set"));
+  return nil
+}
+
+func (p *TSExecuteStatementResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  p.Status = &common.TSStatus{}
+  if err := p.Status.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
   }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSExecuteStatementResp)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.QueryId = &v
+}
+  return nil
+}
+
+func (p *TSExecuteStatementResp)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
   _, size, err := iprot.ReadListBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading list begin: ", err)
   }
   tSlice := make([]string, 0, size)
-  p.ActivityList =  tSlice
+  p.Columns =  tSlice
   for i := 0; i < size; i ++ {
-var _elem10 string
+var _elem12 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem10 = v
+    _elem12 = v
 }
-    p.ActivityList = append(p.ActivityList, _elem10)
+    p.Columns = append(p.Columns, _elem12)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -1239,21 +1618,39 @@ var _elem10 string
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSExecuteStatementResp)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 4: ", err)
+} else {
+  p.OperationType = &v
+}
+  return nil
+}
+
+func (p *TSExecuteStatementResp)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadBool(ctx); err != nil {
+  return thrift.PrependError("error reading field 5: ", err)
+} else {
+  p.IgnoreTimeStamp = &v
+}
+  return nil
+}
+
+func (p *TSExecuteStatementResp)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
   _, size, err := iprot.ReadListBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading list begin: ", err)
   }
-  tSlice := make([]int64, 0, size)
-  p.ElapsedTimeList =  tSlice
+  tSlice := make([]string, 0, size)
+  p.DataTypeList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem11 int64
-    if v, err := iprot.ReadI64(ctx); err != nil {
+var _elem13 string
+    if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem11 = v
+    _elem13 = v
 }
-    p.ElapsedTimeList = append(p.ElapsedTimeList, _elem11)
+    p.DataTypeList = append(p.DataTypeList, _elem13)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -1261,89 +1658,136 @@ var _elem11 int64
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 3: ", err)
-} else {
-  p.SeriesPathNum = &v
-}
+func (p *TSExecuteStatementResp)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
+  p.QueryDataSet = &TSQueryDataSet{}
+  if err := p.QueryDataSet.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.QueryDataSet), err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 4: ", err)
-} else {
-  p.SeqFileNum = &v
-}
+func (p *TSExecuteStatementResp)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
+  p.NonAlignQueryDataSet = &TSQueryNonAlignDataSet{}
+  if err := p.NonAlignQueryDataSet.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.NonAlignQueryDataSet), err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 5: ", err)
+func (p *TSExecuteStatementResp)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
+  _, _, size, err := iprot.ReadMapBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading map begin: ", err)
+  }
+  tMap := make(map[string]int32, size)
+  p.ColumnNameIndexMap =  tMap
+  for i := 0; i < size; i ++ {
+var _key14 string
+    if v, err := iprot.ReadString(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
 } else {
-  p.UnSeqFileNum = &v
-}
-  return nil
+    _key14 = v
 }
-
-func (p *TSTracingInfo)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 6: ", err)
+var _val15 int32
+    if v, err := iprot.ReadI32(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
 } else {
-  p.SequenceChunkNum = &v
+    _val15 = v
 }
+    p.ColumnNameIndexMap[_key14] = _val15
+  }
+  if err := iprot.ReadMapEnd(ctx); err != nil {
+    return thrift.PrependError("error reading map end: ", err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI64(ctx); err != nil {
-  return thrift.PrependError("error reading field 7: ", err)
+func (p *TSExecuteStatementResp)  ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]string, 0, size)
+  p.SgColumns =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem16 string
+    if v, err := iprot.ReadString(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
 } else {
-  p.SequenceChunkPointNum = &v
+    _elem16 = v
 }
+    p.SgColumns = append(p.SgColumns, _elem16)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 8: ", err)
+func (p *TSExecuteStatementResp)  ReadField11(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]int8, 0, size)
+  p.AliasColumns =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem17 int8
+    if v, err := iprot.ReadByte(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
 } else {
-  p.UnsequenceChunkNum = &v
+    temp := int8(v)
+    _elem17 = temp
 }
+    p.AliasColumns = append(p.AliasColumns, _elem17)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI64(ctx); err != nil {
-  return thrift.PrependError("error reading field 9: ", err)
-} else {
-  p.UnsequenceChunkPointNum = &v
-}
+func (p *TSExecuteStatementResp)  ReadField12(ctx context.Context, iprot thrift.TProtocol) error {
+  p.TracingInfo = &TSTracingInfo{}
+  if err := p.TracingInfo.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TracingInfo), err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 10: ", err)
+func (p *TSExecuteStatementResp)  ReadField13(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([][]byte, 0, size)
+  p.QueryResult_ =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem18 []byte
+    if v, err := iprot.ReadBinary(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
 } else {
-  p.TotalPageNum = &v
+    _elem18 = v
 }
+    p.QueryResult_ = append(p.QueryResult_, _elem18)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
   return nil
 }
 
-func (p *TSTracingInfo)  ReadField11(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 11: ", err)
+func (p *TSExecuteStatementResp)  ReadField14(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadBool(ctx); err != nil {
+  return thrift.PrependError("error reading field 14: ", err)
 } else {
-  p.OverlappedPageNum = &v
+  p.MoreData = &v
 }
   return nil
 }
 
-func (p *TSTracingInfo) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSTracingInfo"); err != nil {
+func (p *TSExecuteStatementResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSExecuteStatementResp"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
@@ -1357,6 +1801,9 @@ func (p *TSTracingInfo) Write(ctx context.Context, oprot thrift.TProtocol) error
     if err := p.writeField9(ctx, oprot); err != nil { return err }
     if err := p.writeField10(ctx, oprot); err != nil { return err }
     if err := p.writeField11(ctx, oprot); err != nil { return err }
+    if err := p.writeField12(ctx, oprot); err != nil { return err }
+    if err := p.writeField13(ctx, oprot); err != nil { return err }
+    if err := p.writeField14(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -1365,390 +1812,360 @@ func (p *TSTracingInfo) Write(ctx context.Context, oprot thrift.TProtocol) error
   return nil
 }
 
-func (p *TSTracingInfo) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "activityList", thrift.LIST, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:activityList: ", p), err) }
-  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ActivityList)); err != nil {
-    return thrift.PrependError("error writing list begin: ", err)
-  }
-  for _, v := range p.ActivityList {
-    if err := oprot.WriteString(ctx, string(v)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-  }
-  if err := oprot.WriteListEnd(ctx); err != nil {
-    return thrift.PrependError("error writing list end: ", err)
+func (p *TSExecuteStatementResp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "status", thrift.STRUCT, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:status: ", p), err) }
+  if err := p.Status.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Status), err)
   }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:activityList: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), err) }
   return err
 }
 
-func (p *TSTracingInfo) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "elapsedTimeList", thrift.LIST, 2); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:elapsedTimeList: ", p), err) }
-  if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.ElapsedTimeList)); err != nil {
-    return thrift.PrependError("error writing list begin: ", err)
+func (p *TSExecuteStatementResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetQueryId() {
+    if err := oprot.WriteFieldBegin(ctx, "queryId", thrift.I64, 2); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:queryId: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.QueryId)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.queryId (2) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:queryId: ", p), err) }
   }
-  for _, v := range p.ElapsedTimeList {
-    if err := oprot.WriteI64(ctx, int64(v)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  return err
+}
+
+func (p *TSExecuteStatementResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetColumns() {
+    if err := oprot.WriteFieldBegin(ctx, "columns", thrift.LIST, 3); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columns: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Columns)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.Columns {
+      if err := oprot.WriteString(ctx, string(v)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columns: ", p), err) }
   }
-  if err := oprot.WriteListEnd(ctx); err != nil {
-    return thrift.PrependError("error writing list end: ", err)
+  return err
+}
+
+func (p *TSExecuteStatementResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetOperationType() {
+    if err := oprot.WriteFieldBegin(ctx, "operationType", thrift.STRING, 4); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:operationType: ", p), err) }
+    if err := oprot.WriteString(ctx, string(*p.OperationType)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.operationType (4) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:operationType: ", p), err) }
   }
-  if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:elapsedTimeList: ", p), err) }
   return err
 }
 
-func (p *TSTracingInfo) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSeriesPathNum() {
-    if err := oprot.WriteFieldBegin(ctx, "seriesPathNum", thrift.I32, 3); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:seriesPathNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.SeriesPathNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.seriesPathNum (3) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetIgnoreTimeStamp() {
+    if err := oprot.WriteFieldBegin(ctx, "ignoreTimeStamp", thrift.BOOL, 5); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:ignoreTimeStamp: ", p), err) }
+    if err := oprot.WriteBool(ctx, bool(*p.IgnoreTimeStamp)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.ignoreTimeStamp (5) field write error: ", p), err) }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:seriesPathNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 5:ignoreTimeStamp: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSeqFileNum() {
-    if err := oprot.WriteFieldBegin(ctx, "seqFileNum", thrift.I32, 4); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:seqFileNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.SeqFileNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.seqFileNum (4) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetDataTypeList() {
+    if err := oprot.WriteFieldBegin(ctx, "dataTypeList", thrift.LIST, 6); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:dataTypeList: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.DataTypeList)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.DataTypeList {
+      if err := oprot.WriteString(ctx, string(v)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:seqFileNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 6:dataTypeList: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetUnSeqFileNum() {
-    if err := oprot.WriteFieldBegin(ctx, "unSeqFileNum", thrift.I32, 5); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:unSeqFileNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.UnSeqFileNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.unSeqFileNum (5) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetQueryDataSet() {
+    if err := oprot.WriteFieldBegin(ctx, "queryDataSet", thrift.STRUCT, 7); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:queryDataSet: ", p), err) }
+    if err := p.QueryDataSet.Write(ctx, oprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.QueryDataSet), err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 5:unSeqFileNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 7:queryDataSet: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSequenceChunkNum() {
-    if err := oprot.WriteFieldBegin(ctx, "sequenceChunkNum", thrift.I32, 6); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:sequenceChunkNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.SequenceChunkNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.sequenceChunkNum (6) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetNonAlignQueryDataSet() {
+    if err := oprot.WriteFieldBegin(ctx, "nonAlignQueryDataSet", thrift.STRUCT, 8); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:nonAlignQueryDataSet: ", p), err) }
+    if err := p.NonAlignQueryDataSet.Write(ctx, oprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.NonAlignQueryDataSet), err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 6:sequenceChunkNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 8:nonAlignQueryDataSet: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSequenceChunkPointNum() {
-    if err := oprot.WriteFieldBegin(ctx, "sequenceChunkPointNum", thrift.I64, 7); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:sequenceChunkPointNum: ", p), err) }
-    if err := oprot.WriteI64(ctx, int64(*p.SequenceChunkPointNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.sequenceChunkPointNum (7) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetColumnNameIndexMap() {
+    if err := oprot.WriteFieldBegin(ctx, "columnNameIndexMap", thrift.MAP, 9); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:columnNameIndexMap: ", p), err) }
+    if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.ColumnNameIndexMap)); err != nil {
+      return thrift.PrependError("error writing map begin: ", err)
+    }
+    for k, v := range p.ColumnNameIndexMap {
+      if err := oprot.WriteString(ctx, string(k)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+      if err := oprot.WriteI32(ctx, int32(v)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteMapEnd(ctx); err != nil {
+      return thrift.PrependError("error writing map end: ", err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 7:sequenceChunkPointNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 9:columnNameIndexMap: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetUnsequenceChunkNum() {
-    if err := oprot.WriteFieldBegin(ctx, "unsequenceChunkNum", thrift.I32, 8); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:unsequenceChunkNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.UnsequenceChunkNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.unsequenceChunkNum (8) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSgColumns() {
+    if err := oprot.WriteFieldBegin(ctx, "sgColumns", thrift.LIST, 10); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:sgColumns: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.SgColumns)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.SgColumns {
+      if err := oprot.WriteString(ctx, string(v)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 8:unsequenceChunkNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 10:sgColumns: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetUnsequenceChunkPointNum() {
-    if err := oprot.WriteFieldBegin(ctx, "unsequenceChunkPointNum", thrift.I64, 9); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:unsequenceChunkPointNum: ", p), err) }
-    if err := oprot.WriteI64(ctx, int64(*p.UnsequenceChunkPointNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.unsequenceChunkPointNum (9) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetAliasColumns() {
+    if err := oprot.WriteFieldBegin(ctx, "aliasColumns", thrift.LIST, 11); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:aliasColumns: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.BYTE, len(p.AliasColumns)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.AliasColumns {
+      if err := oprot.WriteByte(ctx, int8(v)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 9:unsequenceChunkPointNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 11:aliasColumns: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetTotalPageNum() {
-    if err := oprot.WriteFieldBegin(ctx, "totalPageNum", thrift.I32, 10); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:totalPageNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.TotalPageNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.totalPageNum (10) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetTracingInfo() {
+    if err := oprot.WriteFieldBegin(ctx, "tracingInfo", thrift.STRUCT, 12); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:tracingInfo: ", p), err) }
+    if err := p.TracingInfo.Write(ctx, oprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TracingInfo), err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 10:totalPageNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 12:tracingInfo: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetOverlappedPageNum() {
-    if err := oprot.WriteFieldBegin(ctx, "overlappedPageNum", thrift.I32, 11); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:overlappedPageNum: ", p), err) }
-    if err := oprot.WriteI32(ctx, int32(*p.OverlappedPageNum)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.overlappedPageNum (11) field write error: ", p), err) }
+func (p *TSExecuteStatementResp) writeField13(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetQueryResult_() {
+    if err := oprot.WriteFieldBegin(ctx, "queryResult", thrift.LIST, 13); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 13:queryResult: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.QueryResult_)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.QueryResult_ {
+      if err := oprot.WriteBinary(ctx, v); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 11:overlappedPageNum: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 13:queryResult: ", p), err) }
   }
   return err
 }
 
-func (p *TSTracingInfo) Equals(other *TSTracingInfo) bool {
+func (p *TSExecuteStatementResp) writeField14(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetMoreData() {
+    if err := oprot.WriteFieldBegin(ctx, "moreData", thrift.BOOL, 14); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 14:moreData: ", p), err) }
+    if err := oprot.WriteBool(ctx, bool(*p.MoreData)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.moreData (14) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 14:moreData: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSExecuteStatementResp) Equals(other *TSExecuteStatementResp) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
     return false
   }
-  if len(p.ActivityList) != len(other.ActivityList) { return false }
-  for i, _tgt := range p.ActivityList {
-    _src12 := other.ActivityList[i]
-    if _tgt != _src12 { return false }
+  if !p.Status.Equals(other.Status) { return false }
+  if p.QueryId != other.QueryId {
+    if p.QueryId == nil || other.QueryId == nil {
+      return false
+    }
+    if (*p.QueryId) != (*other.QueryId) { return false }
   }
-  if len(p.ElapsedTimeList) != len(other.ElapsedTimeList) { return false }
-  for i, _tgt := range p.ElapsedTimeList {
-    _src13 := other.ElapsedTimeList[i]
-    if _tgt != _src13 { return false }
+  if len(p.Columns) != len(other.Columns) { return false }
+  for i, _tgt := range p.Columns {
+    _src19 := other.Columns[i]
+    if _tgt != _src19 { return false }
   }
-  if p.SeriesPathNum != other.SeriesPathNum {
-    if p.SeriesPathNum == nil || other.SeriesPathNum == nil {
+  if p.OperationType != other.OperationType {
+    if p.OperationType == nil || other.OperationType == nil {
       return false
     }
-    if (*p.SeriesPathNum) != (*other.SeriesPathNum) { return false }
+    if (*p.OperationType) != (*other.OperationType) { return false }
   }
-  if p.SeqFileNum != other.SeqFileNum {
-    if p.SeqFileNum == nil || other.SeqFileNum == nil {
+  if p.IgnoreTimeStamp != other.IgnoreTimeStamp {
+    if p.IgnoreTimeStamp == nil || other.IgnoreTimeStamp == nil {
       return false
     }
-    if (*p.SeqFileNum) != (*other.SeqFileNum) { return false }
+    if (*p.IgnoreTimeStamp) != (*other.IgnoreTimeStamp) { return false }
   }
-  if p.UnSeqFileNum != other.UnSeqFileNum {
-    if p.UnSeqFileNum == nil || other.UnSeqFileNum == nil {
-      return false
-    }
-    if (*p.UnSeqFileNum) != (*other.UnSeqFileNum) { return false }
-  }
-  if p.SequenceChunkNum != other.SequenceChunkNum {
-    if p.SequenceChunkNum == nil || other.SequenceChunkNum == nil {
-      return false
-    }
-    if (*p.SequenceChunkNum) != (*other.SequenceChunkNum) { return false }
+  if len(p.DataTypeList) != len(other.DataTypeList) { return false }
+  for i, _tgt := range p.DataTypeList {
+    _src20 := other.DataTypeList[i]
+    if _tgt != _src20 { return false }
   }
-  if p.SequenceChunkPointNum != other.SequenceChunkPointNum {
-    if p.SequenceChunkPointNum == nil || other.SequenceChunkPointNum == nil {
-      return false
-    }
-    if (*p.SequenceChunkPointNum) != (*other.SequenceChunkPointNum) { return false }
+  if !p.QueryDataSet.Equals(other.QueryDataSet) { return false }
+  if !p.NonAlignQueryDataSet.Equals(other.NonAlignQueryDataSet) { return false }
+  if len(p.ColumnNameIndexMap) != len(other.ColumnNameIndexMap) { return false }
+  for k, _tgt := range p.ColumnNameIndexMap {
+    _src21 := other.ColumnNameIndexMap[k]
+    if _tgt != _src21 { return false }
   }
-  if p.UnsequenceChunkNum != other.UnsequenceChunkNum {
-    if p.UnsequenceChunkNum == nil || other.UnsequenceChunkNum == nil {
-      return false
-    }
-    if (*p.UnsequenceChunkNum) != (*other.UnsequenceChunkNum) { return false }
+  if len(p.SgColumns) != len(other.SgColumns) { return false }
+  for i, _tgt := range p.SgColumns {
+    _src22 := other.SgColumns[i]
+    if _tgt != _src22 { return false }
   }
-  if p.UnsequenceChunkPointNum != other.UnsequenceChunkPointNum {
-    if p.UnsequenceChunkPointNum == nil || other.UnsequenceChunkPointNum == nil {
-      return false
-    }
-    if (*p.UnsequenceChunkPointNum) != (*other.UnsequenceChunkPointNum) { return false }
+  if len(p.AliasColumns) != len(other.AliasColumns) { return false }
+  for i, _tgt := range p.AliasColumns {
+    _src23 := other.AliasColumns[i]
+    if _tgt != _src23 { return false }
   }
-  if p.TotalPageNum != other.TotalPageNum {
-    if p.TotalPageNum == nil || other.TotalPageNum == nil {
-      return false
-    }
-    if (*p.TotalPageNum) != (*other.TotalPageNum) { return false }
+  if !p.TracingInfo.Equals(other.TracingInfo) { return false }
+  if len(p.QueryResult_) != len(other.QueryResult_) { return false }
+  for i, _tgt := range p.QueryResult_ {
+    _src24 := other.QueryResult_[i]
+    if bytes.Compare(_tgt, _src24) != 0 { return false }
   }
-  if p.OverlappedPageNum != other.OverlappedPageNum {
-    if p.OverlappedPageNum == nil || other.OverlappedPageNum == nil {
+  if p.MoreData != other.MoreData {
+    if p.MoreData == nil || other.MoreData == nil {
       return false
     }
-    if (*p.OverlappedPageNum) != (*other.OverlappedPageNum) { return false }
+    if (*p.MoreData) != (*other.MoreData) { return false }
   }
   return true
 }
 
-func (p *TSTracingInfo) String() string {
+func (p *TSExecuteStatementResp) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("TSTracingInfo(%+v)", *p)
+  return fmt.Sprintf("TSExecuteStatementResp(%+v)", *p)
 }
 
 // Attributes:
 //  - Status
-//  - QueryId
-//  - Columns
-//  - OperationType
-//  - IgnoreTimeStamp
-//  - DataTypeList
-//  - QueryDataSet
-//  - NonAlignQueryDataSet
-//  - ColumnNameIndexMap
-//  - SgColumns
-//  - AliasColumns
-//  - TracingInfo
-type TSExecuteStatementResp struct {
-  Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
-  QueryId *int64 `thrift:"queryId,2" db:"queryId" json:"queryId,omitempty"`
-  Columns []string `thrift:"columns,3" db:"columns" json:"columns,omitempty"`
-  OperationType *string `thrift:"operationType,4" db:"operationType" json:"operationType,omitempty"`
-  IgnoreTimeStamp *bool `thrift:"ignoreTimeStamp,5" db:"ignoreTimeStamp" json:"ignoreTimeStamp,omitempty"`
-  DataTypeList []string `thrift:"dataTypeList,6" db:"dataTypeList" json:"dataTypeList,omitempty"`
-  QueryDataSet *TSQueryDataSet `thrift:"queryDataSet,7" db:"queryDataSet" json:"queryDataSet,omitempty"`
-  NonAlignQueryDataSet *TSQueryNonAlignDataSet `thrift:"nonAlignQueryDataSet,8" db:"nonAlignQueryDataSet" json:"nonAlignQueryDataSet,omitempty"`
-  ColumnNameIndexMap map[string]int32 `thrift:"columnNameIndexMap,9" db:"columnNameIndexMap" json:"columnNameIndexMap,omitempty"`
-  SgColumns []string `thrift:"sgColumns,10" db:"sgColumns" json:"sgColumns,omitempty"`
-  AliasColumns []int8 `thrift:"aliasColumns,11" db:"aliasColumns" json:"aliasColumns,omitempty"`
-  TracingInfo *TSTracingInfo `thrift:"tracingInfo,12" db:"tracingInfo" json:"tracingInfo,omitempty"`
+//  - ServerProtocolVersion
+//  - SessionId
+//  - Configuration
+type TSOpenSessionResp struct {
+  Status *common.TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+  ServerProtocolVersion TSProtocolVersion `thrift:"serverProtocolVersion,2,required" db:"serverProtocolVersion" json:"serverProtocolVersion"`
+  SessionId *int64 `thrift:"sessionId,3" db:"sessionId" json:"sessionId,omitempty"`
+  Configuration map[string]string `thrift:"configuration,4" db:"configuration" json:"configuration,omitempty"`
 }
 
-func NewTSExecuteStatementResp() *TSExecuteStatementResp {
-  return &TSExecuteStatementResp{}
+func NewTSOpenSessionResp() *TSOpenSessionResp {
+  return &TSOpenSessionResp{
+ServerProtocolVersion: 0,
+}
 }
 
-var TSExecuteStatementResp_Status_DEFAULT *TSStatus
-func (p *TSExecuteStatementResp) GetStatus() *TSStatus {
+var TSOpenSessionResp_Status_DEFAULT *common.TSStatus
+func (p *TSOpenSessionResp) GetStatus() *common.TSStatus {
   if !p.IsSetStatus() {
-    return TSExecuteStatementResp_Status_DEFAULT
+    return TSOpenSessionResp_Status_DEFAULT
   }
 return p.Status
 }
-var TSExecuteStatementResp_QueryId_DEFAULT int64
-func (p *TSExecuteStatementResp) GetQueryId() int64 {
-  if !p.IsSetQueryId() {
-    return TSExecuteStatementResp_QueryId_DEFAULT
-  }
-return *p.QueryId
-}
-var TSExecuteStatementResp_Columns_DEFAULT []string
-
-func (p *TSExecuteStatementResp) GetColumns() []string {
-  return p.Columns
-}
-var TSExecuteStatementResp_OperationType_DEFAULT string
-func (p *TSExecuteStatementResp) GetOperationType() string {
-  if !p.IsSetOperationType() {
-    return TSExecuteStatementResp_OperationType_DEFAULT
-  }
-return *p.OperationType
-}
-var TSExecuteStatementResp_IgnoreTimeStamp_DEFAULT bool
-func (p *TSExecuteStatementResp) GetIgnoreTimeStamp() bool {
-  if !p.IsSetIgnoreTimeStamp() {
-    return TSExecuteStatementResp_IgnoreTimeStamp_DEFAULT
-  }
-return *p.IgnoreTimeStamp
-}
-var TSExecuteStatementResp_DataTypeList_DEFAULT []string
 
-func (p *TSExecuteStatementResp) GetDataTypeList() []string {
-  return p.DataTypeList
-}
-var TSExecuteStatementResp_QueryDataSet_DEFAULT *TSQueryDataSet
-func (p *TSExecuteStatementResp) GetQueryDataSet() *TSQueryDataSet {
-  if !p.IsSetQueryDataSet() {
-    return TSExecuteStatementResp_QueryDataSet_DEFAULT
-  }
-return p.QueryDataSet
+func (p *TSOpenSessionResp) GetServerProtocolVersion() TSProtocolVersion {
+  return p.ServerProtocolVersion
 }
-var TSExecuteStatementResp_NonAlignQueryDataSet_DEFAULT *TSQueryNonAlignDataSet
-func (p *TSExecuteStatementResp) GetNonAlignQueryDataSet() *TSQueryNonAlignDataSet {
-  if !p.IsSetNonAlignQueryDataSet() {
-    return TSExecuteStatementResp_NonAlignQueryDataSet_DEFAULT
+var TSOpenSessionResp_SessionId_DEFAULT int64
+func (p *TSOpenSessionResp) GetSessionId() int64 {
+  if !p.IsSetSessionId() {
+    return TSOpenSessionResp_SessionId_DEFAULT
   }
-return p.NonAlignQueryDataSet
-}
-var TSExecuteStatementResp_ColumnNameIndexMap_DEFAULT map[string]int32
-
-func (p *TSExecuteStatementResp) GetColumnNameIndexMap() map[string]int32 {
-  return p.ColumnNameIndexMap
-}
-var TSExecuteStatementResp_SgColumns_DEFAULT []string
-
-func (p *TSExecuteStatementResp) GetSgColumns() []string {
-  return p.SgColumns
+return *p.SessionId
 }
-var TSExecuteStatementResp_AliasColumns_DEFAULT []int8
+var TSOpenSessionResp_Configuration_DEFAULT map[string]string
 
-func (p *TSExecuteStatementResp) GetAliasColumns() []int8 {
-  return p.AliasColumns
-}
-var TSExecuteStatementResp_TracingInfo_DEFAULT *TSTracingInfo
-func (p *TSExecuteStatementResp) GetTracingInfo() *TSTracingInfo {
-  if !p.IsSetTracingInfo() {
-    return TSExecuteStatementResp_TracingInfo_DEFAULT
-  }
-return p.TracingInfo
+func (p *TSOpenSessionResp) GetConfiguration() map[string]string {
+  return p.Configuration
 }
-func (p *TSExecuteStatementResp) IsSetStatus() bool {
+func (p *TSOpenSessionResp) IsSetStatus() bool {
   return p.Status != nil
 }
 
-func (p *TSExecuteStatementResp) IsSetQueryId() bool {
-  return p.QueryId != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetColumns() bool {
-  return p.Columns != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetOperationType() bool {
-  return p.OperationType != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetIgnoreTimeStamp() bool {
-  return p.IgnoreTimeStamp != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetDataTypeList() bool {
-  return p.DataTypeList != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetQueryDataSet() bool {
-  return p.QueryDataSet != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetNonAlignQueryDataSet() bool {
-  return p.NonAlignQueryDataSet != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetColumnNameIndexMap() bool {
-  return p.ColumnNameIndexMap != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetSgColumns() bool {
-  return p.SgColumns != nil
-}
-
-func (p *TSExecuteStatementResp) IsSetAliasColumns() bool {
-  return p.AliasColumns != nil
+func (p *TSOpenSessionResp) IsSetSessionId() bool {
+  return p.SessionId != nil
 }
 
-func (p *TSExecuteStatementResp) IsSetTracingInfo() bool {
-  return p.TracingInfo != nil
+func (p *TSOpenSessionResp) IsSetConfiguration() bool {
+  return p.Configuration != nil
 }
 
-func (p *TSExecuteStatementResp) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSOpenSessionResp) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
 
   var issetStatus bool = false;
+  var issetServerProtocolVersion bool = false;
 
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
@@ -1769,17 +2186,18 @@ func (p *TSExecuteStatementResp) Read(ctx context.Context, iprot thrift.TProtoco
         }
       }
     case 2:
-      if fieldTypeId == thrift.I64 {
+      if fieldTypeId == thrift.I32 {
         if err := p.ReadField2(ctx, iprot); err != nil {
           return err
         }
+        issetServerProtocolVersion = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 3:
-      if fieldTypeId == thrift.LIST {
+      if fieldTypeId == thrift.I64 {
         if err := p.ReadField3(ctx, iprot); err != nil {
           return err
         }
@@ -1789,7 +2207,7 @@ func (p *TSExecuteStatementResp) Read(ctx context.Context, iprot thrift.TProtoco
         }
       }
     case 4:
-      if fieldTypeId == thrift.STRING {
+      if fieldTypeId == thrift.MAP {
         if err := p.ReadField4(ctx, iprot); err != nil {
           return err
         }
@@ -1798,89 +2216,9 @@ func (p *TSExecuteStatementResp) Read(ctx context.Context, iprot thrift.TProtoco
           return err
         }
       }
-    case 5:
-      if fieldTypeId == thrift.BOOL {
-        if err := p.ReadField5(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 6:
-      if fieldTypeId == thrift.LIST {
-        if err := p.ReadField6(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 7:
-      if fieldTypeId == thrift.STRUCT {
-        if err := p.ReadField7(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 8:
-      if fieldTypeId == thrift.STRUCT {
-        if err := p.ReadField8(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 9:
-      if fieldTypeId == thrift.MAP {
-        if err := p.ReadField9(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 10:
-      if fieldTypeId == thrift.LIST {
-        if err := p.ReadField10(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 11:
-      if fieldTypeId == thrift.LIST {
-        if err := p.ReadField11(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 12:
-      if fieldTypeId == thrift.STRUCT {
-        if err := p.ReadField12(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    default:
-      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-        return err
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
       }
     }
     if err := iprot.ReadFieldEnd(ctx); err != nil {
@@ -1893,125 +2231,60 @@ func (p *TSExecuteStatementResp) Read(ctx context.Context, iprot thrift.TProtoco
   if !issetStatus{
     return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
   }
+  if !issetServerProtocolVersion{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ServerProtocolVersion is not set"));
+  }
   return nil
 }
 
-func (p *TSExecuteStatementResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  p.Status = &TSStatus{}
+func (p *TSOpenSessionResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  p.Status = &common.TSStatus{}
   if err := p.Status.Read(ctx, iprot); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
   }
   return nil
 }
 
-func (p *TSExecuteStatementResp)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI64(ctx); err != nil {
+func (p *TSOpenSessionResp)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
   return thrift.PrependError("error reading field 2: ", err)
 } else {
-  p.QueryId = &v
-}
-  return nil
-}
-
-func (p *TSExecuteStatementResp)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
-  _, size, err := iprot.ReadListBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading list begin: ", err)
-  }
-  tSlice := make([]string, 0, size)
-  p.Columns =  tSlice
-  for i := 0; i < size; i ++ {
-var _elem14 string
-    if v, err := iprot.ReadString(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    _elem14 = v
-}
-    p.Columns = append(p.Columns, _elem14)
-  }
-  if err := iprot.ReadListEnd(ctx); err != nil {
-    return thrift.PrependError("error reading list end: ", err)
-  }
-  return nil
-}
-
-func (p *TSExecuteStatementResp)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadString(ctx); err != nil {
-  return thrift.PrependError("error reading field 4: ", err)
-} else {
-  p.OperationType = &v
-}
-  return nil
-}
-
-func (p *TSExecuteStatementResp)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadBool(ctx); err != nil {
-  return thrift.PrependError("error reading field 5: ", err)
-} else {
-  p.IgnoreTimeStamp = &v
+  temp := TSProtocolVersion(v)
+  p.ServerProtocolVersion = temp
 }
   return nil
 }
 
-func (p *TSExecuteStatementResp)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
-  _, size, err := iprot.ReadListBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading list begin: ", err)
-  }
-  tSlice := make([]string, 0, size)
-  p.DataTypeList =  tSlice
-  for i := 0; i < size; i ++ {
-var _elem15 string
-    if v, err := iprot.ReadString(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
+func (p *TSOpenSessionResp)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 3: ", err)
 } else {
-    _elem15 = v
-}
-    p.DataTypeList = append(p.DataTypeList, _elem15)
-  }
-  if err := iprot.ReadListEnd(ctx); err != nil {
-    return thrift.PrependError("error reading list end: ", err)
-  }
-  return nil
-}
-
-func (p *TSExecuteStatementResp)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
-  p.QueryDataSet = &TSQueryDataSet{}
-  if err := p.QueryDataSet.Read(ctx, iprot); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.QueryDataSet), err)
-  }
-  return nil
+  p.SessionId = &v
 }
-
-func (p *TSExecuteStatementResp)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
-  p.NonAlignQueryDataSet = &TSQueryNonAlignDataSet{}
-  if err := p.NonAlignQueryDataSet.Read(ctx, iprot); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.NonAlignQueryDataSet), err)
-  }
   return nil
 }
 
-func (p *TSExecuteStatementResp)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSOpenSessionResp)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
   _, _, size, err := iprot.ReadMapBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading map begin: ", err)
   }
-  tMap := make(map[string]int32, size)
-  p.ColumnNameIndexMap =  tMap
+  tMap := make(map[string]string, size)
+  p.Configuration =  tMap
   for i := 0; i < size; i ++ {
-var _key16 string
+var _key25 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _key16 = v
+    _key25 = v
 }
-var _val17 int32
-    if v, err := iprot.ReadI32(ctx); err != nil {
+var _val26 string
+    if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _val17 = v
+    _val26 = v
 }
-    p.ColumnNameIndexMap[_key16] = _val17
+    p.Configuration[_key25] = _val26
   }
   if err := iprot.ReadMapEnd(ctx); err != nil {
     return thrift.PrependError("error reading map end: ", err)
@@ -2019,75 +2292,14 @@ var _val17 int32
   return nil
 }
 
-func (p *TSExecuteStatementResp)  ReadField10(ctx context.Context, iprot thrift.TProtocol) error {
-  _, size, err := iprot.ReadListBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading list begin: ", err)
-  }
-  tSlice := make([]string, 0, size)
-  p.SgColumns =  tSlice
-  for i := 0; i < size; i ++ {
-var _elem18 string
-    if v, err := iprot.ReadString(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    _elem18 = v
-}
-    p.SgColumns = append(p.SgColumns, _elem18)
-  }
-  if err := iprot.ReadListEnd(ctx); err != nil {
-    return thrift.PrependError("error reading list end: ", err)
-  }
-  return nil
-}
-
-func (p *TSExecuteStatementResp)  ReadField11(ctx context.Context, iprot thrift.TProtocol) error {
-  _, size, err := iprot.ReadListBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading list begin: ", err)
-  }
-  tSlice := make([]int8, 0, size)
-  p.AliasColumns =  tSlice
-  for i := 0; i < size; i ++ {
-var _elem19 int8
-    if v, err := iprot.ReadByte(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    temp := int8(v)
-    _elem19 = temp
-}
-    p.AliasColumns = append(p.AliasColumns, _elem19)
-  }
-  if err := iprot.ReadListEnd(ctx); err != nil {
-    return thrift.PrependError("error reading list end: ", err)
-  }
-  return nil
-}
-
-func (p *TSExecuteStatementResp)  ReadField12(ctx context.Context, iprot thrift.TProtocol) error {
-  p.TracingInfo = &TSTracingInfo{}
-  if err := p.TracingInfo.Read(ctx, iprot); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.TracingInfo), err)
-  }
-  return nil
-}
-
-func (p *TSExecuteStatementResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSExecuteStatementResp"); err != nil {
+func (p *TSOpenSessionResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSOpenSessionResp"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
     if err := p.writeField2(ctx, oprot); err != nil { return err }
     if err := p.writeField3(ctx, oprot); err != nil { return err }
     if err := p.writeField4(ctx, oprot); err != nil { return err }
-    if err := p.writeField5(ctx, oprot); err != nil { return err }
-    if err := p.writeField6(ctx, oprot); err != nil { return err }
-    if err := p.writeField7(ctx, oprot); err != nil { return err }
-    if err := p.writeField8(ctx, oprot); err != nil { return err }
-    if err := p.writeField9(ctx, oprot); err != nil { return err }
-    if err := p.writeField10(ctx, oprot); err != nil { return err }
-    if err := p.writeField11(ctx, oprot); err != nil { return err }
-    if err := p.writeField12(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -2096,7 +2308,7 @@ func (p *TSExecuteStatementResp) Write(ctx context.Context, oprot thrift.TProtoc
   return nil
 }
 
-func (p *TSExecuteStatementResp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionResp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   if err := oprot.WriteFieldBegin(ctx, "status", thrift.STRUCT, 1); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:status: ", p), err) }
   if err := p.Status.Write(ctx, oprot); err != nil {
@@ -2107,307 +2319,140 @@ func (p *TSExecuteStatementResp) writeField1(ctx context.Context, oprot thrift.T
   return err
 }
 
-func (p *TSExecuteStatementResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetQueryId() {
-    if err := oprot.WriteFieldBegin(ctx, "queryId", thrift.I64, 2); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:queryId: ", p), err) }
-    if err := oprot.WriteI64(ctx, int64(*p.QueryId)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.queryId (2) field write error: ", p), err) }
+func (p *TSOpenSessionResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "serverProtocolVersion", thrift.I32, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:serverProtocolVersion: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.ServerProtocolVersion)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.serverProtocolVersion (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:serverProtocolVersion: ", p), err) }
+  return err
+}
+
+func (p *TSOpenSessionResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetSessionId() {
+    if err := oprot.WriteFieldBegin(ctx, "sessionId", thrift.I64, 3); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:sessionId: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.SessionId)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.sessionId (3) field write error: ", p), err) }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:queryId: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:sessionId: ", p), err) }
   }
   return err
 }
 
-func (p *TSExecuteStatementResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetColumns() {
-    if err := oprot.WriteFieldBegin(ctx, "columns", thrift.LIST, 3); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columns: ", p), err) }
-    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Columns)); err != nil {
-      return thrift.PrependError("error writing list begin: ", err)
+func (p *TSOpenSessionResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetConfiguration() {
+    if err := oprot.WriteFieldBegin(ctx, "configuration", thrift.MAP, 4); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:configuration: ", p), err) }
+    if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Configuration)); err != nil {
+      return thrift.PrependError("error writing map begin: ", err)
     }
-    for _, v := range p.Columns {
+    for k, v := range p.Configuration {
+      if err := oprot.WriteString(ctx, string(k)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
       if err := oprot.WriteString(ctx, string(v)); err != nil {
       return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
     }
-    if err := oprot.WriteListEnd(ctx); err != nil {
-      return thrift.PrependError("error writing list end: ", err)
+    if err := oprot.WriteMapEnd(ctx); err != nil {
+      return thrift.PrependError("error writing map end: ", err)
     }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columns: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:configuration: ", p), err) }
   }
   return err
 }
 
-func (p *TSExecuteStatementResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetOperationType() {
-    if err := oprot.WriteFieldBegin(ctx, "operationType", thrift.STRING, 4); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:operationType: ", p), err) }
-    if err := oprot.WriteString(ctx, string(*p.OperationType)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.operationType (4) field write error: ", p), err) }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:operationType: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetIgnoreTimeStamp() {
-    if err := oprot.WriteFieldBegin(ctx, "ignoreTimeStamp", thrift.BOOL, 5); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:ignoreTimeStamp: ", p), err) }
-    if err := oprot.WriteBool(ctx, bool(*p.IgnoreTimeStamp)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.ignoreTimeStamp (5) field write error: ", p), err) }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 5:ignoreTimeStamp: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetDataTypeList() {
-    if err := oprot.WriteFieldBegin(ctx, "dataTypeList", thrift.LIST, 6); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:dataTypeList: ", p), err) }
-    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.DataTypeList)); err != nil {
-      return thrift.PrependError("error writing list begin: ", err)
-    }
-    for _, v := range p.DataTypeList {
-      if err := oprot.WriteString(ctx, string(v)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-    }
-    if err := oprot.WriteListEnd(ctx); err != nil {
-      return thrift.PrependError("error writing list end: ", err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 6:dataTypeList: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetQueryDataSet() {
-    if err := oprot.WriteFieldBegin(ctx, "queryDataSet", thrift.STRUCT, 7); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:queryDataSet: ", p), err) }
-    if err := p.QueryDataSet.Write(ctx, oprot); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.QueryDataSet), err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 7:queryDataSet: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetNonAlignQueryDataSet() {
-    if err := oprot.WriteFieldBegin(ctx, "nonAlignQueryDataSet", thrift.STRUCT, 8); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:nonAlignQueryDataSet: ", p), err) }
-    if err := p.NonAlignQueryDataSet.Write(ctx, oprot); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.NonAlignQueryDataSet), err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 8:nonAlignQueryDataSet: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetColumnNameIndexMap() {
-    if err := oprot.WriteFieldBegin(ctx, "columnNameIndexMap", thrift.MAP, 9); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:columnNameIndexMap: ", p), err) }
-    if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.I32, len(p.ColumnNameIndexMap)); err != nil {
-      return thrift.PrependError("error writing map begin: ", err)
-    }
-    for k, v := range p.ColumnNameIndexMap {
-      if err := oprot.WriteString(ctx, string(k)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-      if err := oprot.WriteI32(ctx, int32(v)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-    }
-    if err := oprot.WriteMapEnd(ctx); err != nil {
-      return thrift.PrependError("error writing map end: ", err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 9:columnNameIndexMap: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField10(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSgColumns() {
-    if err := oprot.WriteFieldBegin(ctx, "sgColumns", thrift.LIST, 10); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 10:sgColumns: ", p), err) }
-    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.SgColumns)); err != nil {
-      return thrift.PrependError("error writing list begin: ", err)
-    }
-    for _, v := range p.SgColumns {
-      if err := oprot.WriteString(ctx, string(v)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-    }
-    if err := oprot.WriteListEnd(ctx); err != nil {
-      return thrift.PrependError("error writing list end: ", err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 10:sgColumns: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField11(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetAliasColumns() {
-    if err := oprot.WriteFieldBegin(ctx, "aliasColumns", thrift.LIST, 11); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 11:aliasColumns: ", p), err) }
-    if err := oprot.WriteListBegin(ctx, thrift.BYTE, len(p.AliasColumns)); err != nil {
-      return thrift.PrependError("error writing list begin: ", err)
-    }
-    for _, v := range p.AliasColumns {
-      if err := oprot.WriteByte(ctx, int8(v)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-    }
-    if err := oprot.WriteListEnd(ctx); err != nil {
-      return thrift.PrependError("error writing list end: ", err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 11:aliasColumns: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) writeField12(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetTracingInfo() {
-    if err := oprot.WriteFieldBegin(ctx, "tracingInfo", thrift.STRUCT, 12); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 12:tracingInfo: ", p), err) }
-    if err := p.TracingInfo.Write(ctx, oprot); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.TracingInfo), err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 12:tracingInfo: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSExecuteStatementResp) Equals(other *TSExecuteStatementResp) bool {
+func (p *TSOpenSessionResp) Equals(other *TSOpenSessionResp) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
     return false
   }
   if !p.Status.Equals(other.Status) { return false }
-  if p.QueryId != other.QueryId {
-    if p.QueryId == nil || other.QueryId == nil {
-      return false
-    }
-    if (*p.QueryId) != (*other.QueryId) { return false }
-  }
-  if len(p.Columns) != len(other.Columns) { return false }
-  for i, _tgt := range p.Columns {
-    _src20 := other.Columns[i]
-    if _tgt != _src20 { return false }
-  }
-  if p.OperationType != other.OperationType {
-    if p.OperationType == nil || other.OperationType == nil {
-      return false
-    }
-    if (*p.OperationType) != (*other.OperationType) { return false }
-  }
-  if p.IgnoreTimeStamp != other.IgnoreTimeStamp {
-    if p.IgnoreTimeStamp == nil || other.IgnoreTimeStamp == nil {
+  if p.ServerProtocolVersion != other.ServerProtocolVersion { return false }
+  if p.SessionId != other.SessionId {
+    if p.SessionId == nil || other.SessionId == nil {
       return false
     }
-    if (*p.IgnoreTimeStamp) != (*other.IgnoreTimeStamp) { return false }
-  }
-  if len(p.DataTypeList) != len(other.DataTypeList) { return false }
-  for i, _tgt := range p.DataTypeList {
-    _src21 := other.DataTypeList[i]
-    if _tgt != _src21 { return false }
-  }
-  if !p.QueryDataSet.Equals(other.QueryDataSet) { return false }
-  if !p.NonAlignQueryDataSet.Equals(other.NonAlignQueryDataSet) { return false }
-  if len(p.ColumnNameIndexMap) != len(other.ColumnNameIndexMap) { return false }
-  for k, _tgt := range p.ColumnNameIndexMap {
-    _src22 := other.ColumnNameIndexMap[k]
-    if _tgt != _src22 { return false }
-  }
-  if len(p.SgColumns) != len(other.SgColumns) { return false }
-  for i, _tgt := range p.SgColumns {
-    _src23 := other.SgColumns[i]
-    if _tgt != _src23 { return false }
+    if (*p.SessionId) != (*other.SessionId) { return false }
   }
-  if len(p.AliasColumns) != len(other.AliasColumns) { return false }
-  for i, _tgt := range p.AliasColumns {
-    _src24 := other.AliasColumns[i]
-    if _tgt != _src24 { return false }
+  if len(p.Configuration) != len(other.Configuration) { return false }
+  for k, _tgt := range p.Configuration {
+    _src27 := other.Configuration[k]
+    if _tgt != _src27 { return false }
   }
-  if !p.TracingInfo.Equals(other.TracingInfo) { return false }
   return true
 }
 
-func (p *TSExecuteStatementResp) String() string {
+func (p *TSOpenSessionResp) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("TSExecuteStatementResp(%+v)", *p)
+  return fmt.Sprintf("TSOpenSessionResp(%+v)", *p)
 }
 
 // Attributes:
-//  - Status
-//  - ServerProtocolVersion
-//  - SessionId
+//  - ClientProtocol
+//  - ZoneId
+//  - Username
+//  - Password
 //  - Configuration
-type TSOpenSessionResp struct {
-  Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
-  ServerProtocolVersion TSProtocolVersion `thrift:"serverProtocolVersion,2,required" db:"serverProtocolVersion" json:"serverProtocolVersion"`
-  SessionId *int64 `thrift:"sessionId,3" db:"sessionId" json:"sessionId,omitempty"`
-  Configuration map[string]string `thrift:"configuration,4" db:"configuration" json:"configuration,omitempty"`
+type TSOpenSessionReq struct {
+  ClientProtocol TSProtocolVersion `thrift:"client_protocol,1,required" db:"client_protocol" json:"client_protocol"`
+  ZoneId string `thrift:"zoneId,2,required" db:"zoneId" json:"zoneId"`
+  Username string `thrift:"username,3,required" db:"username" json:"username"`
+  Password *string `thrift:"password,4" db:"password" json:"password,omitempty"`
+  Configuration map[string]string `thrift:"configuration,5" db:"configuration" json:"configuration,omitempty"`
 }
 
-func NewTSOpenSessionResp() *TSOpenSessionResp {
-  return &TSOpenSessionResp{
-ServerProtocolVersion: 0,
+func NewTSOpenSessionReq() *TSOpenSessionReq {
+  return &TSOpenSessionReq{
+ClientProtocol: 2,
 }
 }
 
-var TSOpenSessionResp_Status_DEFAULT *TSStatus
-func (p *TSOpenSessionResp) GetStatus() *TSStatus {
-  if !p.IsSetStatus() {
-    return TSOpenSessionResp_Status_DEFAULT
-  }
-return p.Status
+
+func (p *TSOpenSessionReq) GetClientProtocol() TSProtocolVersion {
+  return p.ClientProtocol
 }
 
-func (p *TSOpenSessionResp) GetServerProtocolVersion() TSProtocolVersion {
-  return p.ServerProtocolVersion
+func (p *TSOpenSessionReq) GetZoneId() string {
+  return p.ZoneId
 }
-var TSOpenSessionResp_SessionId_DEFAULT int64
-func (p *TSOpenSessionResp) GetSessionId() int64 {
-  if !p.IsSetSessionId() {
-    return TSOpenSessionResp_SessionId_DEFAULT
+
+func (p *TSOpenSessionReq) GetUsername() string {
+  return p.Username
+}
+var TSOpenSessionReq_Password_DEFAULT string
+func (p *TSOpenSessionReq) GetPassword() string {
+  if !p.IsSetPassword() {
+    return TSOpenSessionReq_Password_DEFAULT
   }
-return *p.SessionId
+return *p.Password
 }
-var TSOpenSessionResp_Configuration_DEFAULT map[string]string
+var TSOpenSessionReq_Configuration_DEFAULT map[string]string
 
-func (p *TSOpenSessionResp) GetConfiguration() map[string]string {
+func (p *TSOpenSessionReq) GetConfiguration() map[string]string {
   return p.Configuration
 }
-func (p *TSOpenSessionResp) IsSetStatus() bool {
-  return p.Status != nil
-}
-
-func (p *TSOpenSessionResp) IsSetSessionId() bool {
-  return p.SessionId != nil
+func (p *TSOpenSessionReq) IsSetPassword() bool {
+  return p.Password != nil
 }
 
-func (p *TSOpenSessionResp) IsSetConfiguration() bool {
+func (p *TSOpenSessionReq) IsSetConfiguration() bool {
   return p.Configuration != nil
 }
 
-func (p *TSOpenSessionResp) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSOpenSessionReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
 
-  var issetStatus bool = false;
-  var issetServerProtocolVersion bool = false;
-
+  var issetClientProtocol bool = false;
+  var issetZoneId bool = false;
+  var issetUsername bool = false;
+
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
     if err != nil {
@@ -2416,39 +2461,40 @@ func (p *TSOpenSessionResp) Read(ctx context.Context, iprot thrift.TProtocol) er
     if fieldTypeId == thrift.STOP { break; }
     switch fieldId {
     case 1:
-      if fieldTypeId == thrift.STRUCT {
+      if fieldTypeId == thrift.I32 {
         if err := p.ReadField1(ctx, iprot); err != nil {
           return err
         }
-        issetStatus = true
+        issetClientProtocol = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 2:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.STRING {
         if err := p.ReadField2(ctx, iprot); err != nil {
           return err
         }
-        issetServerProtocolVersion = true
+        issetZoneId = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 3:
-      if fieldTypeId == thrift.I64 {
+      if fieldTypeId == thrift.STRING {
         if err := p.ReadField3(ctx, iprot); err != nil {
           return err
         }
+        issetUsername = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
     case 4:
-      if fieldTypeId == thrift.MAP {
+      if fieldTypeId == thrift.STRING {
         if err := p.ReadField4(ctx, iprot); err != nil {
           return err
         }
@@ -2457,6 +2503,16 @@ func (p *TSOpenSessionResp) Read(ctx context.Context, iprot thrift.TProtocol) er
           return err
         }
       }
+    case 5:
+      if fieldTypeId == thrift.MAP {
+        if err := p.ReadField5(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
     default:
       if err := iprot.Skip(ctx, fieldTypeId); err != nil {
         return err
@@ -2469,43 +2525,56 @@ func (p *TSOpenSessionResp) Read(ctx context.Context, iprot thrift.TProtocol) er
   if err := iprot.ReadStructEnd(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
   }
-  if !issetStatus{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
+  if !issetClientProtocol{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ClientProtocol is not set"));
   }
-  if !issetServerProtocolVersion{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ServerProtocolVersion is not set"));
+  if !issetZoneId{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ZoneId is not set"));
+  }
+  if !issetUsername{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Username is not set"));
   }
   return nil
 }
 
-func (p *TSOpenSessionResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  p.Status = &TSStatus{}
-  if err := p.Status.Read(ctx, iprot); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
-  }
+func (p *TSOpenSessionReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  temp := TSProtocolVersion(v)
+  p.ClientProtocol = temp
+}
   return nil
 }
 
-func (p *TSOpenSessionResp)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
+func (p *TSOpenSessionReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
   return thrift.PrependError("error reading field 2: ", err)
 } else {
-  temp := TSProtocolVersion(v)
-  p.ServerProtocolVersion = temp
+  p.ZoneId = v
 }
   return nil
 }
 
-func (p *TSOpenSessionResp)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI64(ctx); err != nil {
+func (p *TSOpenSessionReq)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
   return thrift.PrependError("error reading field 3: ", err)
 } else {
-  p.SessionId = &v
+  p.Username = v
 }
   return nil
 }
 
-func (p *TSOpenSessionResp)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSOpenSessionReq)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 4: ", err)
+} else {
+  p.Password = &v
+}
+  return nil
+}
+
+func (p *TSOpenSessionReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
   _, _, size, err := iprot.ReadMapBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading map begin: ", err)
@@ -2513,19 +2582,19 @@ func (p *TSOpenSessionResp)  ReadField4(ctx context.Context, iprot thrift.TProto
   tMap := make(map[string]string, size)
   p.Configuration =  tMap
   for i := 0; i < size; i ++ {
-var _key25 string
+var _key28 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _key25 = v
+    _key28 = v
 }
-var _val26 string
+var _val29 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _val26 = v
+    _val29 = v
 }
-    p.Configuration[_key25] = _val26
+    p.Configuration[_key28] = _val29
   }
   if err := iprot.ReadMapEnd(ctx); err != nil {
     return thrift.PrependError("error reading map end: ", err)
@@ -2533,14 +2602,15 @@ var _val26 string
   return nil
 }
 
-func (p *TSOpenSessionResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSOpenSessionResp"); err != nil {
+func (p *TSOpenSessionReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSOpenSessionReq"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
     if err := p.writeField2(ctx, oprot); err != nil { return err }
     if err := p.writeField3(ctx, oprot); err != nil { return err }
     if err := p.writeField4(ctx, oprot); err != nil { return err }
+    if err := p.writeField5(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -2549,43 +2619,52 @@ func (p *TSOpenSessionResp) Write(ctx context.Context, oprot thrift.TProtocol) e
   return nil
 }
 
-func (p *TSOpenSessionResp) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "status", thrift.STRUCT, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:status: ", p), err) }
-  if err := p.Status.Write(ctx, oprot); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Status), err)
-  }
+func (p *TSOpenSessionReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "client_protocol", thrift.I32, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:client_protocol: ", p), err) }
+  if err := oprot.WriteI32(ctx, int32(p.ClientProtocol)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.client_protocol (1) field write error: ", p), err) }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:client_protocol: ", p), err) }
   return err
 }
 
-func (p *TSOpenSessionResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "serverProtocolVersion", thrift.I32, 2); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:serverProtocolVersion: ", p), err) }
-  if err := oprot.WriteI32(ctx, int32(p.ServerProtocolVersion)); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.serverProtocolVersion (2) field write error: ", p), err) }
+func (p *TSOpenSessionReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "zoneId", thrift.STRING, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:zoneId: ", p), err) }
+  if err := oprot.WriteString(ctx, string(p.ZoneId)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.zoneId (2) field write error: ", p), err) }
   if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:serverProtocolVersion: ", p), err) }
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:zoneId: ", p), err) }
   return err
 }
 
-func (p *TSOpenSessionResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetSessionId() {
-    if err := oprot.WriteFieldBegin(ctx, "sessionId", thrift.I64, 3); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:sessionId: ", p), err) }
-    if err := oprot.WriteI64(ctx, int64(*p.SessionId)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.sessionId (3) field write error: ", p), err) }
+func (p *TSOpenSessionReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "username", thrift.STRING, 3); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:username: ", p), err) }
+  if err := oprot.WriteString(ctx, string(p.Username)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.username (3) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 3:username: ", p), err) }
+  return err
+}
+
+func (p *TSOpenSessionReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetPassword() {
+    if err := oprot.WriteFieldBegin(ctx, "password", thrift.STRING, 4); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:password: ", p), err) }
+    if err := oprot.WriteString(ctx, string(*p.Password)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.password (4) field write error: ", p), err) }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:sessionId: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:password: ", p), err) }
   }
   return err
 }
 
-func (p *TSOpenSessionResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
   if p.IsSetConfiguration() {
-    if err := oprot.WriteFieldBegin(ctx, "configuration", thrift.MAP, 4); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:configuration: ", p), err) }
+    if err := oprot.WriteFieldBegin(ctx, "configuration", thrift.MAP, 5); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:configuration: ", p), err) }
     if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Configuration)); err != nil {
       return thrift.PrependError("error writing map begin: ", err)
     }
@@ -2599,106 +2678,61 @@ func (p *TSOpenSessionResp) writeField4(ctx context.Context, oprot thrift.TProto
       return thrift.PrependError("error writing map end: ", err)
     }
     if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:configuration: ", p), err) }
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 5:configuration: ", p), err) }
   }
   return err
 }
 
-func (p *TSOpenSessionResp) Equals(other *TSOpenSessionResp) bool {
+func (p *TSOpenSessionReq) Equals(other *TSOpenSessionReq) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
     return false
   }
-  if !p.Status.Equals(other.Status) { return false }
-  if p.ServerProtocolVersion != other.ServerProtocolVersion { return false }
-  if p.SessionId != other.SessionId {
-    if p.SessionId == nil || other.SessionId == nil {
+  if p.ClientProtocol != other.ClientProtocol { return false }
+  if p.ZoneId != other.ZoneId { return false }
+  if p.Username != other.Username { return false }
+  if p.Password != other.Password {
+    if p.Password == nil || other.Password == nil {
       return false
     }
-    if (*p.SessionId) != (*other.SessionId) { return false }
+    if (*p.Password) != (*other.Password) { return false }
   }
   if len(p.Configuration) != len(other.Configuration) { return false }
   for k, _tgt := range p.Configuration {
-    _src27 := other.Configuration[k]
-    if _tgt != _src27 { return false }
+    _src30 := other.Configuration[k]
+    if _tgt != _src30 { return false }
   }
   return true
 }
 
-func (p *TSOpenSessionResp) String() string {
+func (p *TSOpenSessionReq) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("TSOpenSessionResp(%+v)", *p)
+  return fmt.Sprintf("TSOpenSessionReq(%+v)", *p)
 }
 
 // Attributes:
-//  - ClientProtocol
-//  - ZoneId
-//  - Username
-//  - Password
-//  - Configuration
-type TSOpenSessionReq struct {
-  ClientProtocol TSProtocolVersion `thrift:"client_protocol,1,required" db:"client_protocol" json:"client_protocol"`
-  ZoneId string `thrift:"zoneId,2,required" db:"zoneId" json:"zoneId"`
-  Username *string `thrift:"username,3" db:"username" json:"username,omitempty"`
-  Password *string `thrift:"password,4" db:"password" json:"password,omitempty"`
-  Configuration map[string]string `thrift:"configuration,5" db:"configuration" json:"configuration,omitempty"`
-}
-
-func NewTSOpenSessionReq() *TSOpenSessionReq {
-  return &TSOpenSessionReq{
-ClientProtocol: 2,
-}
-}
-
-
-func (p *TSOpenSessionReq) GetClientProtocol() TSProtocolVersion {
-  return p.ClientProtocol
-}
-
-func (p *TSOpenSessionReq) GetZoneId() string {
-  return p.ZoneId
-}
-var TSOpenSessionReq_Username_DEFAULT string
-func (p *TSOpenSessionReq) GetUsername() string {
-  if !p.IsSetUsername() {
-    return TSOpenSessionReq_Username_DEFAULT
-  }
-return *p.Username
-}
-var TSOpenSessionReq_Password_DEFAULT string
-func (p *TSOpenSessionReq) GetPassword() string {
-  if !p.IsSetPassword() {
-    return TSOpenSessionReq_Password_DEFAULT
-  }
-return *p.Password
+//  - SessionId
+type TSCloseSessionReq struct {
+  SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
 }
-var TSOpenSessionReq_Configuration_DEFAULT map[string]string
 
-func (p *TSOpenSessionReq) GetConfiguration() map[string]string {
-  return p.Configuration
-}
-func (p *TSOpenSessionReq) IsSetUsername() bool {
-  return p.Username != nil
+func NewTSCloseSessionReq() *TSCloseSessionReq {
+  return &TSCloseSessionReq{}
 }
 
-func (p *TSOpenSessionReq) IsSetPassword() bool {
-  return p.Password != nil
-}
 
-func (p *TSOpenSessionReq) IsSetConfiguration() bool {
-  return p.Configuration != nil
+func (p *TSCloseSessionReq) GetSessionId() int64 {
+  return p.SessionId
 }
-
-func (p *TSOpenSessionReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TSCloseSessionReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
 
-  var issetClientProtocol bool = false;
-  var issetZoneId bool = false;
+  var issetSessionId bool = false;
 
   for {
     _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
@@ -2708,303 +2742,19 @@ func (p *TSOpenSessionReq) Read(ctx context.Context, iprot thrift.TProtocol) err
     if fieldTypeId == thrift.STOP { break; }
     switch fieldId {
     case 1:
-      if fieldTypeId == thrift.I32 {
+      if fieldTypeId == thrift.I64 {
         if err := p.ReadField1(ctx, iprot); err != nil {
           return err
         }
-        issetClientProtocol = true
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 2:
-      if fieldTypeId == thrift.STRING {
-        if err := p.ReadField2(ctx, iprot); err != nil {
-          return err
-        }
-        issetZoneId = true
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 3:
-      if fieldTypeId == thrift.STRING {
-        if err := p.ReadField3(ctx, iprot); err != nil {
-          return err
-        }
+        issetSessionId = true
       } else {
         if err := iprot.Skip(ctx, fieldTypeId); err != nil {
           return err
         }
       }
-    case 4:
-      if fieldTypeId == thrift.STRING {
-        if err := p.ReadField4(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    case 5:
-      if fieldTypeId == thrift.MAP {
-        if err := p.ReadField5(ctx, iprot); err != nil {
-          return err
-        }
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    default:
-      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-        return err
-      }
-    }
-    if err := iprot.ReadFieldEnd(ctx); err != nil {
-      return err
-    }
-  }
-  if err := iprot.ReadStructEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
-  }
-  if !issetClientProtocol{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ClientProtocol is not set"));
-  }
-  if !issetZoneId{
-    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ZoneId is not set"));
-  }
-  return nil
-}
-
-func (p *TSOpenSessionReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadI32(ctx); err != nil {
-  return thrift.PrependError("error reading field 1: ", err)
-} else {
-  temp := TSProtocolVersion(v)
-  p.ClientProtocol = temp
-}
-  return nil
-}
-
-func (p *TSOpenSessionReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadString(ctx); err != nil {
-  return thrift.PrependError("error reading field 2: ", err)
-} else {
-  p.ZoneId = v
-}
-  return nil
-}
-
-func (p *TSOpenSessionReq)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadString(ctx); err != nil {
-  return thrift.PrependError("error reading field 3: ", err)
-} else {
-  p.Username = &v
-}
-  return nil
-}
-
-func (p *TSOpenSessionReq)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
-  if v, err := iprot.ReadString(ctx); err != nil {
-  return thrift.PrependError("error reading field 4: ", err)
-} else {
-  p.Password = &v
-}
-  return nil
-}
-
-func (p *TSOpenSessionReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
-  _, _, size, err := iprot.ReadMapBegin(ctx)
-  if err != nil {
-    return thrift.PrependError("error reading map begin: ", err)
-  }
-  tMap := make(map[string]string, size)
-  p.Configuration =  tMap
-  for i := 0; i < size; i ++ {
-var _key28 string
-    if v, err := iprot.ReadString(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    _key28 = v
-}
-var _val29 string
-    if v, err := iprot.ReadString(ctx); err != nil {
-    return thrift.PrependError("error reading field 0: ", err)
-} else {
-    _val29 = v
-}
-    p.Configuration[_key28] = _val29
-  }
-  if err := iprot.ReadMapEnd(ctx); err != nil {
-    return thrift.PrependError("error reading map end: ", err)
-  }
-  return nil
-}
-
-func (p *TSOpenSessionReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSOpenSessionReq"); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
-  if p != nil {
-    if err := p.writeField1(ctx, oprot); err != nil { return err }
-    if err := p.writeField2(ctx, oprot); err != nil { return err }
-    if err := p.writeField3(ctx, oprot); err != nil { return err }
-    if err := p.writeField4(ctx, oprot); err != nil { return err }
-    if err := p.writeField5(ctx, oprot); err != nil { return err }
-  }
-  if err := oprot.WriteFieldStop(ctx); err != nil {
-    return thrift.PrependError("write field stop error: ", err) }
-  if err := oprot.WriteStructEnd(ctx); err != nil {
-    return thrift.PrependError("write struct stop error: ", err) }
-  return nil
-}
-
-func (p *TSOpenSessionReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "client_protocol", thrift.I32, 1); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:client_protocol: ", p), err) }
-  if err := oprot.WriteI32(ctx, int32(p.ClientProtocol)); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.client_protocol (1) field write error: ", p), err) }
-  if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:client_protocol: ", p), err) }
-  return err
-}
-
-func (p *TSOpenSessionReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if err := oprot.WriteFieldBegin(ctx, "zoneId", thrift.STRING, 2); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:zoneId: ", p), err) }
-  if err := oprot.WriteString(ctx, string(p.ZoneId)); err != nil {
-  return thrift.PrependError(fmt.Sprintf("%T.zoneId (2) field write error: ", p), err) }
-  if err := oprot.WriteFieldEnd(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:zoneId: ", p), err) }
-  return err
-}
-
-func (p *TSOpenSessionReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetUsername() {
-    if err := oprot.WriteFieldBegin(ctx, "username", thrift.STRING, 3); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:username: ", p), err) }
-    if err := oprot.WriteString(ctx, string(*p.Username)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.username (3) field write error: ", p), err) }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:username: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSOpenSessionReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetPassword() {
-    if err := oprot.WriteFieldBegin(ctx, "password", thrift.STRING, 4); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:password: ", p), err) }
-    if err := oprot.WriteString(ctx, string(*p.Password)); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T.password (4) field write error: ", p), err) }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 4:password: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSOpenSessionReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
-  if p.IsSetConfiguration() {
-    if err := oprot.WriteFieldBegin(ctx, "configuration", thrift.MAP, 5); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:configuration: ", p), err) }
-    if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Configuration)); err != nil {
-      return thrift.PrependError("error writing map begin: ", err)
-    }
-    for k, v := range p.Configuration {
-      if err := oprot.WriteString(ctx, string(k)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-      if err := oprot.WriteString(ctx, string(v)); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
-    }
-    if err := oprot.WriteMapEnd(ctx); err != nil {
-      return thrift.PrependError("error writing map end: ", err)
-    }
-    if err := oprot.WriteFieldEnd(ctx); err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T write field end error 5:configuration: ", p), err) }
-  }
-  return err
-}
-
-func (p *TSOpenSessionReq) Equals(other *TSOpenSessionReq) bool {
-  if p == other {
-    return true
-  } else if p == nil || other == nil {
-    return false
-  }
-  if p.ClientProtocol != other.ClientProtocol { return false }
-  if p.ZoneId != other.ZoneId { return false }
-  if p.Username != other.Username {
-    if p.Username == nil || other.Username == nil {
-      return false
-    }
-    if (*p.Username) != (*other.Username) { return false }
-  }
-  if p.Password != other.Password {
-    if p.Password == nil || other.Password == nil {
-      return false
-    }
-    if (*p.Password) != (*other.Password) { return false }
-  }
-  if len(p.Configuration) != len(other.Configuration) { return false }
-  for k, _tgt := range p.Configuration {
-    _src30 := other.Configuration[k]
-    if _tgt != _src30 { return false }
-  }
-  return true
-}
-
-func (p *TSOpenSessionReq) String() string {
-  if p == nil {
-    return "<nil>"
-  }
-  return fmt.Sprintf("TSOpenSessionReq(%+v)", *p)
-}
-
-// Attributes:
-//  - SessionId
-type TSCloseSessionReq struct {
-  SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-}
-
-func NewTSCloseSessionReq() *TSCloseSessionReq {
-  return &TSCloseSessionReq{}
-}
-
-
-func (p *TSCloseSessionReq) GetSessionId() int64 {
-  return p.SessionId
-}
-func (p *TSCloseSessionReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
-  if _, err := iprot.ReadStructBegin(ctx); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
-  }
-
-  var issetSessionId bool = false;
-
-  for {
-    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
-    if err != nil {
-      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
-    }
-    if fieldTypeId == thrift.STOP { break; }
-    switch fieldId {
-    case 1:
-      if fieldTypeId == thrift.I64 {
-        if err := p.ReadField1(ctx, iprot); err != nil {
-          return err
-        }
-        issetSessionId = true
-      } else {
-        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-          return err
-        }
-      }
-    default:
-      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-        return err
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
       }
     }
     if err := iprot.ReadFieldEnd(ctx); err != nil {
@@ -4471,20 +4221,24 @@ func (p *TSFetchResultsReq) String() string {
 //  - IsAlign
 //  - QueryDataSet
 //  - NonAlignQueryDataSet
+//  - QueryResult_
+//  - MoreData
 type TSFetchResultsResp struct {
-  Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+  Status *common.TSStatus `thrift:"status,1,required" db:"status" json:"status"`
   HasResultSet bool `thrift:"hasResultSet,2,required" db:"hasResultSet" json:"hasResultSet"`
   IsAlign bool `thrift:"isAlign,3,required" db:"isAlign" json:"isAlign"`
   QueryDataSet *TSQueryDataSet `thrift:"queryDataSet,4" db:"queryDataSet" json:"queryDataSet,omitempty"`
   NonAlignQueryDataSet *TSQueryNonAlignDataSet `thrift:"nonAlignQueryDataSet,5" db:"nonAlignQueryDataSet" json:"nonAlignQueryDataSet,omitempty"`
+  QueryResult_ [][]byte `thrift:"queryResult,6" db:"queryResult" json:"queryResult,omitempty"`
+  MoreData *bool `thrift:"moreData,7" db:"moreData" json:"moreData,omitempty"`
 }
 
 func NewTSFetchResultsResp() *TSFetchResultsResp {
   return &TSFetchResultsResp{}
 }
 
-var TSFetchResultsResp_Status_DEFAULT *TSStatus
-func (p *TSFetchResultsResp) GetStatus() *TSStatus {
+var TSFetchResultsResp_Status_DEFAULT *common.TSStatus
+func (p *TSFetchResultsResp) GetStatus() *common.TSStatus {
   if !p.IsSetStatus() {
     return TSFetchResultsResp_Status_DEFAULT
   }
@@ -4512,6 +4266,18 @@ func (p *TSFetchResultsResp) GetNonAlignQueryDataSet() *TSQueryNonAlignDataSet {
   }
 return p.NonAlignQueryDataSet
 }
+var TSFetchResultsResp_QueryResult__DEFAULT [][]byte
+
+func (p *TSFetchResultsResp) GetQueryResult_() [][]byte {
+  return p.QueryResult_
+}
+var TSFetchResultsResp_MoreData_DEFAULT bool
+func (p *TSFetchResultsResp) GetMoreData() bool {
+  if !p.IsSetMoreData() {
+    return TSFetchResultsResp_MoreData_DEFAULT
+  }
+return *p.MoreData
+}
 func (p *TSFetchResultsResp) IsSetStatus() bool {
   return p.Status != nil
 }
@@ -4524,6 +4290,14 @@ func (p *TSFetchResultsResp) IsSetNonAlignQueryDataSet() bool {
   return p.NonAlignQueryDataSet != nil
 }
 
+func (p *TSFetchResultsResp) IsSetQueryResult_() bool {
+  return p.QueryResult_ != nil
+}
+
+func (p *TSFetchResultsResp) IsSetMoreData() bool {
+  return p.MoreData != nil
+}
+
 func (p *TSFetchResultsResp) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
@@ -4593,14 +4367,34 @@ func (p *TSFetchResultsResp) Read(ctx context.Context, iprot thrift.TProtocol) e
           return err
         }
       }
-    default:
-      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
-        return err
-      }
-    }
-    if err := iprot.ReadFieldEnd(ctx); err != nil {
-      return err
-    }
+    case 6:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField6(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 7:
+      if fieldTypeId == thrift.BOOL {
+        if err := p.ReadField7(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
   }
   if err := iprot.ReadStructEnd(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
@@ -4618,7 +4412,7 @@ func (p *TSFetchResultsResp) Read(ctx context.Context, iprot thrift.TProtocol) e
 }
 
 func (p *TSFetchResultsResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  p.Status = &TSStatus{}
+  p.Status = &common.TSStatus{}
   if err := p.Status.Read(ctx, iprot); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
   }
@@ -4659,6 +4453,37 @@ func (p *TSFetchResultsResp)  ReadField5(ctx context.Context, iprot thrift.TProt
   return nil
 }
 
+func (p *TSFetchResultsResp)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([][]byte, 0, size)
+  p.QueryResult_ =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem33 []byte
+    if v, err := iprot.ReadBinary(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem33 = v
+}
+    p.QueryResult_ = append(p.QueryResult_, _elem33)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSFetchResultsResp)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadBool(ctx); err != nil {
+  return thrift.PrependError("error reading field 7: ", err)
+} else {
+  p.MoreData = &v
+}
+  return nil
+}
+
 func (p *TSFetchResultsResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
   if err := oprot.WriteStructBegin(ctx, "TSFetchResultsResp"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
@@ -4668,6 +4493,8 @@ func (p *TSFetchResultsResp) Write(ctx context.Context, oprot thrift.TProtocol)
     if err := p.writeField3(ctx, oprot); err != nil { return err }
     if err := p.writeField4(ctx, oprot); err != nil { return err }
     if err := p.writeField5(ctx, oprot); err != nil { return err }
+    if err := p.writeField6(ctx, oprot); err != nil { return err }
+    if err := p.writeField7(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -4733,6 +4560,38 @@ func (p *TSFetchResultsResp) writeField5(ctx context.Context, oprot thrift.TProt
   return err
 }
 
+func (p *TSFetchResultsResp) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetQueryResult_() {
+    if err := oprot.WriteFieldBegin(ctx, "queryResult", thrift.LIST, 6); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:queryResult: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.QueryResult_)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.QueryResult_ {
+      if err := oprot.WriteBinary(ctx, v); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 6:queryResult: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSFetchResultsResp) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetMoreData() {
+    if err := oprot.WriteFieldBegin(ctx, "moreData", thrift.BOOL, 7); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:moreData: ", p), err) }
+    if err := oprot.WriteBool(ctx, bool(*p.MoreData)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.moreData (7) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 7:moreData: ", p), err) }
+  }
+  return err
+}
+
 func (p *TSFetchResultsResp) Equals(other *TSFetchResultsResp) bool {
   if p == other {
     return true
@@ -4744,6 +4603,17 @@ func (p *TSFetchResultsResp) Equals(other *TSFetchResultsResp) bool {
   if p.IsAlign != other.IsAlign { return false }
   if !p.QueryDataSet.Equals(other.QueryDataSet) { return false }
   if !p.NonAlignQueryDataSet.Equals(other.NonAlignQueryDataSet) { return false }
+  if len(p.QueryResult_) != len(other.QueryResult_) { return false }
+  for i, _tgt := range p.QueryResult_ {
+    _src34 := other.QueryResult_[i]
+    if bytes.Compare(_tgt, _src34) != 0 { return false }
+  }
+  if p.MoreData != other.MoreData {
+    if p.MoreData == nil || other.MoreData == nil {
+      return false
+    }
+    if (*p.MoreData) != (*other.MoreData) { return false }
+  }
   return true
 }
 
@@ -4760,7 +4630,7 @@ func (p *TSFetchResultsResp) String() string {
 //  - ColumnsList
 //  - DataType
 type TSFetchMetadataResp struct {
-  Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+  Status *common.TSStatus `thrift:"status,1,required" db:"status" json:"status"`
   MetadataInJson *string `thrift:"metadataInJson,2" db:"metadataInJson" json:"metadataInJson,omitempty"`
   ColumnsList []string `thrift:"columnsList,3" db:"columnsList" json:"columnsList,omitempty"`
   DataType *string `thrift:"dataType,4" db:"dataType" json:"dataType,omitempty"`
@@ -4770,8 +4640,8 @@ func NewTSFetchMetadataResp() *TSFetchMetadataResp {
   return &TSFetchMetadataResp{}
 }
 
-var TSFetchMetadataResp_Status_DEFAULT *TSStatus
-func (p *TSFetchMetadataResp) GetStatus() *TSStatus {
+var TSFetchMetadataResp_Status_DEFAULT *common.TSStatus
+func (p *TSFetchMetadataResp) GetStatus() *common.TSStatus {
   if !p.IsSetStatus() {
     return TSFetchMetadataResp_Status_DEFAULT
   }
@@ -4886,7 +4756,7 @@ func (p *TSFetchMetadataResp) Read(ctx context.Context, iprot thrift.TProtocol)
 }
 
 func (p *TSFetchMetadataResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  p.Status = &TSStatus{}
+  p.Status = &common.TSStatus{}
   if err := p.Status.Read(ctx, iprot); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
   }
@@ -4910,13 +4780,13 @@ func (p *TSFetchMetadataResp)  ReadField3(ctx context.Context, iprot thrift.TPro
   tSlice := make([]string, 0, size)
   p.ColumnsList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem33 string
+var _elem35 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem33 = v
+    _elem35 = v
 }
-    p.ColumnsList = append(p.ColumnsList, _elem33)
+    p.ColumnsList = append(p.ColumnsList, _elem35)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -5019,8 +4889,8 @@ func (p *TSFetchMetadataResp) Equals(other *TSFetchMetadataResp) bool {
   }
   if len(p.ColumnsList) != len(other.ColumnsList) { return false }
   for i, _tgt := range p.ColumnsList {
-    _src34 := other.ColumnsList[i]
-    if _tgt != _src34 { return false }
+    _src36 := other.ColumnsList[i]
+    if _tgt != _src36 { return false }
   }
   if p.DataType != other.DataType {
     if p.DataType == nil || other.DataType == nil {
@@ -5241,7 +5111,7 @@ func (p *TSFetchMetadataReq) String() string {
 //  - Status
 //  - TimeZone
 type TSGetTimeZoneResp struct {
-  Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+  Status *common.TSStatus `thrift:"status,1,required" db:"status" json:"status"`
   TimeZone string `thrift:"timeZone,2,required" db:"timeZone" json:"timeZone"`
 }
 
@@ -5249,8 +5119,8 @@ func NewTSGetTimeZoneResp() *TSGetTimeZoneResp {
   return &TSGetTimeZoneResp{}
 }
 
-var TSGetTimeZoneResp_Status_DEFAULT *TSStatus
-func (p *TSGetTimeZoneResp) GetStatus() *TSStatus {
+var TSGetTimeZoneResp_Status_DEFAULT *common.TSStatus
+func (p *TSGetTimeZoneResp) GetStatus() *common.TSStatus {
   if !p.IsSetStatus() {
     return TSGetTimeZoneResp_Status_DEFAULT
   }
@@ -5323,7 +5193,7 @@ func (p *TSGetTimeZoneResp) Read(ctx context.Context, iprot thrift.TProtocol) er
 }
 
 func (p *TSGetTimeZoneResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  p.Status = &TSStatus{}
+  p.Status = &common.TSStatus{}
   if err := p.Status.Read(ctx, iprot); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Status), err)
   }
@@ -5730,13 +5600,13 @@ func (p *TSInsertRecordReq)  ReadField3(ctx context.Context, iprot thrift.TProto
   tSlice := make([]string, 0, size)
   p.Measurements =  tSlice
   for i := 0; i < size; i ++ {
-var _elem35 string
+var _elem37 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem35 = v
+    _elem37 = v
 }
-    p.Measurements = append(p.Measurements, _elem35)
+    p.Measurements = append(p.Measurements, _elem37)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -5869,8 +5739,8 @@ func (p *TSInsertRecordReq) Equals(other *TSInsertRecordReq) bool {
   if p.PrefixPath != other.PrefixPath { return false }
   if len(p.Measurements) != len(other.Measurements) { return false }
   for i, _tgt := range p.Measurements {
-    _src36 := other.Measurements[i]
-    if _tgt != _src36 { return false }
+    _src38 := other.Measurements[i]
+    if _tgt != _src38 { return false }
   }
   if bytes.Compare(p.Values, other.Values) != 0 { return false }
   if p.Timestamp != other.Timestamp { return false }
@@ -5897,6 +5767,7 @@ func (p *TSInsertRecordReq) String() string {
 //  - Values
 //  - Timestamp
 //  - IsAligned
+//  - Timeout
 type TSInsertStringRecordReq struct {
   SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
   PrefixPath string `thrift:"prefixPath,2,required" db:"prefixPath" json:"prefixPath"`
@@ -5904,6 +5775,7 @@ type TSInsertStringRecordReq struct {
   Values []string `thrift:"values,4,required" db:"values" json:"values"`
   Timestamp int64 `thrift:"timestamp,5,required" db:"timestamp" json:"timestamp"`
   IsAligned *bool `thrift:"isAligned,6" db:"isAligned" json:"isAligned,omitempty"`
+  Timeout *int64 `thrift:"timeout,7" db:"timeout" json:"timeout,omitempty"`
 }
 
 func NewTSInsertStringRecordReq() *TSInsertStringRecordReq {
@@ -5937,10 +5809,21 @@ func (p *TSInsertStringRecordReq) GetIsAligned() bool {
   }
 return *p.IsAligned
 }
+var TSInsertStringRecordReq_Timeout_DEFAULT int64
+func (p *TSInsertStringRecordReq) GetTimeout() int64 {
+  if !p.IsSetTimeout() {
+    return TSInsertStringRecordReq_Timeout_DEFAULT
+  }
+return *p.Timeout
+}
 func (p *TSInsertStringRecordReq) IsSetIsAligned() bool {
   return p.IsAligned != nil
 }
 
+func (p *TSInsertStringRecordReq) IsSetTimeout() bool {
+  return p.Timeout != nil
+}
+
 func (p *TSInsertStringRecordReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
@@ -6024,6 +5907,16 @@ func (p *TSInsertStringRecordReq) Read(ctx context.Context, iprot thrift.TProtoc
           return err
         }
       }
+    case 7:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField7(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
     default:
       if err := iprot.Skip(ctx, fieldTypeId); err != nil {
         return err
@@ -6080,13 +5973,13 @@ func (p *TSInsertStringRecordReq)  ReadField3(ctx context.Context, iprot thrift.
   tSlice := make([]string, 0, size)
   p.Measurements =  tSlice
   for i := 0; i < size; i ++ {
-var _elem37 string
+var _elem39 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem37 = v
+    _elem39 = v
 }
-    p.Measurements = append(p.Measurements, _elem37)
+    p.Measurements = append(p.Measurements, _elem39)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -6102,13 +5995,13 @@ func (p *TSInsertStringRecordReq)  ReadField4(ctx context.Context, iprot thrift.
   tSlice := make([]string, 0, size)
   p.Values =  tSlice
   for i := 0; i < size; i ++ {
-var _elem38 string
+var _elem40 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem38 = v
+    _elem40 = v
 }
-    p.Values = append(p.Values, _elem38)
+    p.Values = append(p.Values, _elem40)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -6134,6 +6027,15 @@ func (p *TSInsertStringRecordReq)  ReadField6(ctx context.Context, iprot thrift.
   return nil
 }
 
+func (p *TSInsertStringRecordReq)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 7: ", err)
+} else {
+  p.Timeout = &v
+}
+  return nil
+}
+
 func (p *TSInsertStringRecordReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
   if err := oprot.WriteStructBegin(ctx, "TSInsertStringRecordReq"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
@@ -6144,6 +6046,7 @@ func (p *TSInsertStringRecordReq) Write(ctx context.Context, oprot thrift.TProto
     if err := p.writeField4(ctx, oprot); err != nil { return err }
     if err := p.writeField5(ctx, oprot); err != nil { return err }
     if err := p.writeField6(ctx, oprot); err != nil { return err }
+    if err := p.writeField7(ctx, oprot); err != nil { return err }
   }
   if err := oprot.WriteFieldStop(ctx); err != nil {
     return thrift.PrependError("write field stop error: ", err) }
@@ -6230,6 +6133,18 @@ func (p *TSInsertStringRecordReq) writeField6(ctx context.Context, oprot thrift.
   return err
 }
 
+func (p *TSInsertStringRecordReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetTimeout() {
+    if err := oprot.WriteFieldBegin(ctx, "timeout", thrift.I64, 7); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:timeout: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.Timeout)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.timeout (7) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 7:timeout: ", p), err) }
+  }
+  return err
+}
+
 func (p *TSInsertStringRecordReq) Equals(other *TSInsertStringRecordReq) bool {
   if p == other {
     return true
@@ -6240,13 +6155,13 @@ func (p *TSInsertStringRecordReq) Equals(other *TSInsertStringRecordReq) bool {
   if p.PrefixPath != other.PrefixPath { return false }
   if len(p.Measurements) != len(other.Measurements) { return false }
   for i, _tgt := range p.Measurements {
-    _src39 := other.Measurements[i]
-    if _tgt != _src39 { return false }
+    _src41 := other.Measurements[i]
+    if _tgt != _src41 { return false }
   }
   if len(p.Values) != len(other.Values) { return false }
   for i, _tgt := range p.Values {
-    _src40 := other.Values[i]
-    if _tgt != _src40 { return false }
+    _src42 := other.Values[i]
+    if _tgt != _src42 { return false }
   }
   if p.Timestamp != other.Timestamp { return false }
   if p.IsAligned != other.IsAligned {
@@ -6255,6 +6170,12 @@ func (p *TSInsertStringRecordReq) Equals(other *TSInsertStringRecordReq) bool {
     }
     if (*p.IsAligned) != (*other.IsAligned) { return false }
   }
+  if p.Timeout != other.Timeout {
+    if p.Timeout == nil || other.Timeout == nil {
+      return false
+    }
+    if (*p.Timeout) != (*other.Timeout) { return false }
+  }
   return true
 }
 
@@ -6497,13 +6418,13 @@ func (p *TSInsertTabletReq)  ReadField3(ctx context.Context, iprot thrift.TProto
   tSlice := make([]string, 0, size)
   p.Measurements =  tSlice
   for i := 0; i < size; i ++ {
-var _elem41 string
+var _elem43 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem41 = v
+    _elem43 = v
 }
-    p.Measurements = append(p.Measurements, _elem41)
+    p.Measurements = append(p.Measurements, _elem43)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -6537,13 +6458,13 @@ func (p *TSInsertTabletReq)  ReadField6(ctx context.Context, iprot thrift.TProto
   tSlice := make([]int32, 0, size)
   p.Types =  tSlice
   for i := 0; i < size; i ++ {
-var _elem42 int32
+var _elem44 int32
     if v, err := iprot.ReadI32(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem42 = v
+    _elem44 = v
 }
-    p.Types = append(p.Types, _elem42)
+    p.Types = append(p.Types, _elem44)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -6697,15 +6618,15 @@ func (p *TSInsertTabletReq) Equals(other *TSInsertTabletReq) bool {
   if p.PrefixPath != other.PrefixPath { return false }
   if len(p.Measurements) != len(other.Measurements) { return false }
   for i, _tgt := range p.Measurements {
-    _src43 := other.Measurements[i]
-    if _tgt != _src43 { return false }
+    _src45 := other.Measurements[i]
+    if _tgt != _src45 { return false }
   }
   if bytes.Compare(p.Values, other.Values) != 0 { return false }
   if bytes.Compare(p.Timestamps, other.Timestamps) != 0 { return false }
   if len(p.Types) != len(other.Types) { return false }
   for i, _tgt := range p.Types {
-    _src44 := other.Types[i]
-    if _tgt != _src44 { return false }
+    _src46 := other.Types[i]
+    if _tgt != _src46 { return false }
   }
   if p.Size != other.Size { return false }
   if p.IsAligned != other.IsAligned {
@@ -6947,13 +6868,13 @@ func (p *TSInsertTabletsReq)  ReadField2(ctx context.Context, iprot thrift.TProt
   tSlice := make([]string, 0, size)
   p.PrefixPaths =  tSlice
   for i := 0; i < size; i ++ {
-var _elem45 string
+var _elem47 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem45 = v
+    _elem47 = v
 }
-    p.PrefixPaths = append(p.PrefixPaths, _elem45)
+    p.PrefixPaths = append(p.PrefixPaths, _elem47)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -6974,20 +6895,20 @@ func (p *TSInsertTabletsReq)  ReadField3(ctx context.Context, iprot thrift.TProt
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem46 :=  tSlice
+    _elem48 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem47 string
+var _elem49 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem47 = v
+      _elem49 = v
 }
-      _elem46 = append(_elem46, _elem47)
+      _elem48 = append(_elem48, _elem49)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.MeasurementsList = append(p.MeasurementsList, _elem46)
+    p.MeasurementsList = append(p.MeasurementsList, _elem48)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7003,13 +6924,13 @@ func (p *TSInsertTabletsReq)  ReadField4(ctx context.Context, iprot thrift.TProt
   tSlice := make([][]byte, 0, size)
   p.ValuesList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem48 []byte
+var _elem50 []byte
     if v, err := iprot.ReadBinary(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem48 = v
+    _elem50 = v
 }
-    p.ValuesList = append(p.ValuesList, _elem48)
+    p.ValuesList = append(p.ValuesList, _elem50)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7025,13 +6946,13 @@ func (p *TSInsertTabletsReq)  ReadField5(ctx context.Context, iprot thrift.TProt
   tSlice := make([][]byte, 0, size)
   p.TimestampsList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem49 []byte
+var _elem51 []byte
     if v, err := iprot.ReadBinary(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem49 = v
+    _elem51 = v
 }
-    p.TimestampsList = append(p.TimestampsList, _elem49)
+    p.TimestampsList = append(p.TimestampsList, _elem51)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7052,20 +6973,20 @@ func (p *TSInsertTabletsReq)  ReadField6(ctx context.Context, iprot thrift.TProt
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]int32, 0, size)
-    _elem50 :=  tSlice
+    _elem52 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem51 int32
+var _elem53 int32
       if v, err := iprot.ReadI32(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem51 = v
+      _elem53 = v
 }
-      _elem50 = append(_elem50, _elem51)
+      _elem52 = append(_elem52, _elem53)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.TypesList = append(p.TypesList, _elem50)
+    p.TypesList = append(p.TypesList, _elem52)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7081,13 +7002,13 @@ func (p *TSInsertTabletsReq)  ReadField7(ctx context.Context, iprot thrift.TProt
   tSlice := make([]int32, 0, size)
   p.SizeList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem52 int32
+var _elem54 int32
     if v, err := iprot.ReadI32(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem52 = v
+    _elem54 = v
 }
-    p.SizeList = append(p.SizeList, _elem52)
+    p.SizeList = append(p.SizeList, _elem54)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7279,41 +7200,41 @@ func (p *TSInsertTabletsReq) Equals(other *TSInsertTabletsReq) bool {
   if p.SessionId != other.SessionId { return false }
   if len(p.PrefixPaths) != len(other.PrefixPaths) { return false }
   for i, _tgt := range p.PrefixPaths {
-    _src53 := other.PrefixPaths[i]
-    if _tgt != _src53 { return false }
+    _src55 := other.PrefixPaths[i]
+    if _tgt != _src55 { return false }
   }
   if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
   for i, _tgt := range p.MeasurementsList {
-    _src54 := other.MeasurementsList[i]
-    if len(_tgt) != len(_src54) { return false }
+    _src56 := other.MeasurementsList[i]
+    if len(_tgt) != len(_src56) { return false }
     for i, _tgt := range _tgt {
-      _src55 := _src54[i]
-      if _tgt != _src55 { return false }
+      _src57 := _src56[i]
+      if _tgt != _src57 { return false }
     }
   }
   if len(p.ValuesList) != len(other.ValuesList) { return false }
   for i, _tgt := range p.ValuesList {
-    _src56 := other.ValuesList[i]
-    if bytes.Compare(_tgt, _src56) != 0 { return false }
+    _src58 := other.ValuesList[i]
+    if bytes.Compare(_tgt, _src58) != 0 { return false }
   }
   if len(p.TimestampsList) != len(other.TimestampsList) { return false }
   for i, _tgt := range p.TimestampsList {
-    _src57 := other.TimestampsList[i]
-    if bytes.Compare(_tgt, _src57) != 0 { return false }
+    _src59 := other.TimestampsList[i]
+    if bytes.Compare(_tgt, _src59) != 0 { return false }
   }
   if len(p.TypesList) != len(other.TypesList) { return false }
   for i, _tgt := range p.TypesList {
-    _src58 := other.TypesList[i]
-    if len(_tgt) != len(_src58) { return false }
+    _src60 := other.TypesList[i]
+    if len(_tgt) != len(_src60) { return false }
     for i, _tgt := range _tgt {
-      _src59 := _src58[i]
-      if _tgt != _src59 { return false }
+      _src61 := _src60[i]
+      if _tgt != _src61 { return false }
     }
   }
   if len(p.SizeList) != len(other.SizeList) { return false }
   for i, _tgt := range p.SizeList {
-    _src60 := other.SizeList[i]
-    if _tgt != _src60 { return false }
+    _src62 := other.SizeList[i]
+    if _tgt != _src62 { return false }
   }
   if p.IsAligned != other.IsAligned {
     if p.IsAligned == nil || other.IsAligned == nil {
@@ -7512,13 +7433,13 @@ func (p *TSInsertRecordsReq)  ReadField2(ctx context.Context, iprot thrift.TProt
   tSlice := make([]string, 0, size)
   p.PrefixPaths =  tSlice
   for i := 0; i < size; i ++ {
-var _elem61 string
+var _elem63 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem61 = v
+    _elem63 = v
 }
-    p.PrefixPaths = append(p.PrefixPaths, _elem61)
+    p.PrefixPaths = append(p.PrefixPaths, _elem63)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7539,20 +7460,20 @@ func (p *TSInsertRecordsReq)  ReadField3(ctx context.Context, iprot thrift.TProt
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem62 :=  tSlice
+    _elem64 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem63 string
+var _elem65 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem63 = v
+      _elem65 = v
 }
-      _elem62 = append(_elem62, _elem63)
+      _elem64 = append(_elem64, _elem65)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.MeasurementsList = append(p.MeasurementsList, _elem62)
+    p.MeasurementsList = append(p.MeasurementsList, _elem64)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7568,13 +7489,13 @@ func (p *TSInsertRecordsReq)  ReadField4(ctx context.Context, iprot thrift.TProt
   tSlice := make([][]byte, 0, size)
   p.ValuesList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem64 []byte
+var _elem66 []byte
     if v, err := iprot.ReadBinary(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem64 = v
+    _elem66 = v
 }
-    p.ValuesList = append(p.ValuesList, _elem64)
+    p.ValuesList = append(p.ValuesList, _elem66)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7590,13 +7511,13 @@ func (p *TSInsertRecordsReq)  ReadField5(ctx context.Context, iprot thrift.TProt
   tSlice := make([]int64, 0, size)
   p.Timestamps =  tSlice
   for i := 0; i < size; i ++ {
-var _elem65 int64
+var _elem67 int64
     if v, err := iprot.ReadI64(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem65 = v
+    _elem67 = v
 }
-    p.Timestamps = append(p.Timestamps, _elem65)
+    p.Timestamps = append(p.Timestamps, _elem67)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -7742,27 +7663,27 @@ func (p *TSInsertRecordsReq) Equals(other *TSInsertRecordsReq) bool {
   if p.SessionId != other.SessionId { return false }
   if len(p.PrefixPaths) != len(other.PrefixPaths) { return false }
   for i, _tgt := range p.PrefixPaths {
-    _src66 := other.PrefixPaths[i]
-    if _tgt != _src66 { return false }
+    _src68 := other.PrefixPaths[i]
+    if _tgt != _src68 { return false }
   }
   if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
   for i, _tgt := range p.MeasurementsList {
-    _src67 := other.MeasurementsList[i]
-    if len(_tgt) != len(_src67) { return false }
+    _src69 := other.MeasurementsList[i]
+    if len(_tgt) != len(_src69) { return false }
     for i, _tgt := range _tgt {
-      _src68 := _src67[i]
-      if _tgt != _src68 { return false }
+      _src70 := _src69[i]
+      if _tgt != _src70 { return false }
     }
   }
   if len(p.ValuesList) != len(other.ValuesList) { return false }
   for i, _tgt := range p.ValuesList {
-    _src69 := other.ValuesList[i]
-    if bytes.Compare(_tgt, _src69) != 0 { return false }
+    _src71 := other.ValuesList[i]
+    if bytes.Compare(_tgt, _src71) != 0 { return false }
   }
   if len(p.Timestamps) != len(other.Timestamps) { return false }
   for i, _tgt := range p.Timestamps {
-    _src70 := other.Timestamps[i]
-    if _tgt != _src70 { return false }
+    _src72 := other.Timestamps[i]
+    if _tgt != _src72 { return false }
   }
   if p.IsAligned != other.IsAligned {
     if p.IsAligned == nil || other.IsAligned == nil {
@@ -7975,20 +7896,20 @@ func (p *TSInsertRecordsOfOneDeviceReq)  ReadField3(ctx context.Context, iprot t
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem71 :=  tSlice
+    _elem73 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem72 string
+var _elem74 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem72 = v
+      _elem74 = v
 }
-      _elem71 = append(_elem71, _elem72)
+      _elem73 = append(_elem73, _elem74)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.MeasurementsList = append(p.MeasurementsList, _elem71)
+    p.MeasurementsList = append(p.MeasurementsList, _elem73)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8004,13 +7925,13 @@ func (p *TSInsertRecordsOfOneDeviceReq)  ReadField4(ctx context.Context, iprot t
   tSlice := make([][]byte, 0, size)
   p.ValuesList =  tSlice
   for i := 0; i < size; i ++ {
-var _elem73 []byte
+var _elem75 []byte
     if v, err := iprot.ReadBinary(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem73 = v
+    _elem75 = v
 }
-    p.ValuesList = append(p.ValuesList, _elem73)
+    p.ValuesList = append(p.ValuesList, _elem75)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8026,13 +7947,13 @@ func (p *TSInsertRecordsOfOneDeviceReq)  ReadField5(ctx context.Context, iprot t
   tSlice := make([]int64, 0, size)
   p.Timestamps =  tSlice
   for i := 0; i < size; i ++ {
-var _elem74 int64
+var _elem76 int64
     if v, err := iprot.ReadI64(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem74 = v
+    _elem76 = v
 }
-    p.Timestamps = append(p.Timestamps, _elem74)
+    p.Timestamps = append(p.Timestamps, _elem76)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8171,22 +8092,22 @@ func (p *TSInsertRecordsOfOneDeviceReq) Equals(other *TSInsertRecordsOfOneDevice
   if p.PrefixPath != other.PrefixPath { return false }
   if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
   for i, _tgt := range p.MeasurementsList {
-    _src75 := other.MeasurementsList[i]
-    if len(_tgt) != len(_src75) { return false }
+    _src77 := other.MeasurementsList[i]
+    if len(_tgt) != len(_src77) { return false }
     for i, _tgt := range _tgt {
-      _src76 := _src75[i]
-      if _tgt != _src76 { return false }
+      _src78 := _src77[i]
+      if _tgt != _src78 { return false }
     }
   }
   if len(p.ValuesList) != len(other.ValuesList) { return false }
   for i, _tgt := range p.ValuesList {
-    _src77 := other.ValuesList[i]
-    if bytes.Compare(_tgt, _src77) != 0 { return false }
+    _src79 := other.ValuesList[i]
+    if bytes.Compare(_tgt, _src79) != 0 { return false }
   }
   if len(p.Timestamps) != len(other.Timestamps) { return false }
   for i, _tgt := range p.Timestamps {
-    _src78 := other.Timestamps[i]
-    if _tgt != _src78 { return false }
+    _src80 := other.Timestamps[i]
+    if _tgt != _src80 { return false }
   }
   if p.IsAligned != other.IsAligned {
     if p.IsAligned == nil || other.IsAligned == nil {
@@ -8399,20 +8320,20 @@ func (p *TSInsertStringRecordsOfOneDeviceReq)  ReadField3(ctx context.Context, i
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem79 :=  tSlice
+    _elem81 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem80 string
+var _elem82 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem80 = v
+      _elem82 = v
 }
-      _elem79 = append(_elem79, _elem80)
+      _elem81 = append(_elem81, _elem82)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.MeasurementsList = append(p.MeasurementsList, _elem79)
+    p.MeasurementsList = append(p.MeasurementsList, _elem81)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8433,20 +8354,20 @@ func (p *TSInsertStringRecordsOfOneDeviceReq)  ReadField4(ctx context.Context, i
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem81 :=  tSlice
+    _elem83 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem82 string
+var _elem84 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem82 = v
+      _elem84 = v
 }
-      _elem81 = append(_elem81, _elem82)
+      _elem83 = append(_elem83, _elem84)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.ValuesList = append(p.ValuesList, _elem81)
+    p.ValuesList = append(p.ValuesList, _elem83)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8462,13 +8383,13 @@ func (p *TSInsertStringRecordsOfOneDeviceReq)  ReadField5(ctx context.Context, i
   tSlice := make([]int64, 0, size)
   p.Timestamps =  tSlice
   for i := 0; i < size; i ++ {
-var _elem83 int64
+var _elem85 int64
     if v, err := iprot.ReadI64(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem83 = v
+    _elem85 = v
 }
-    p.Timestamps = append(p.Timestamps, _elem83)
+    p.Timestamps = append(p.Timestamps, _elem85)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8615,26 +8536,26 @@ func (p *TSInsertStringRecordsOfOneDeviceReq) Equals(other *TSInsertStringRecord
   if p.PrefixPath != other.PrefixPath { return false }
   if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
   for i, _tgt := range p.MeasurementsList {
-    _src84 := other.MeasurementsList[i]
-    if len(_tgt) != len(_src84) { return false }
+    _src86 := other.MeasurementsList[i]
+    if len(_tgt) != len(_src86) { return false }
     for i, _tgt := range _tgt {
-      _src85 := _src84[i]
-      if _tgt != _src85 { return false }
+      _src87 := _src86[i]
+      if _tgt != _src87 { return false }
     }
   }
   if len(p.ValuesList) != len(other.ValuesList) { return false }
   for i, _tgt := range p.ValuesList {
-    _src86 := other.ValuesList[i]
-    if len(_tgt) != len(_src86) { return false }
+    _src88 := other.ValuesList[i]
+    if len(_tgt) != len(_src88) { return false }
     for i, _tgt := range _tgt {
-      _src87 := _src86[i]
-      if _tgt != _src87 { return false }
+      _src89 := _src88[i]
+      if _tgt != _src89 { return false }
     }
   }
   if len(p.Timestamps) != len(other.Timestamps) { return false }
   for i, _tgt := range p.Timestamps {
-    _src88 := other.Timestamps[i]
-    if _tgt != _src88 { return false }
+    _src90 := other.Timestamps[i]
+    if _tgt != _src90 { return false }
   }
   if p.IsAligned != other.IsAligned {
     if p.IsAligned == nil || other.IsAligned == nil {
@@ -8833,13 +8754,13 @@ func (p *TSInsertStringRecordsReq)  ReadField2(ctx context.Context, iprot thrift
   tSlice := make([]string, 0, size)
   p.PrefixPaths =  tSlice
   for i := 0; i < size; i ++ {
-var _elem89 string
+var _elem91 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem89 = v
+    _elem91 = v
 }
-    p.PrefixPaths = append(p.PrefixPaths, _elem89)
+    p.PrefixPaths = append(p.PrefixPaths, _elem91)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8860,20 +8781,20 @@ func (p *TSInsertStringRecordsReq)  ReadField3(ctx context.Context, iprot thrift
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem90 :=  tSlice
+    _elem92 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem91 string
+var _elem93 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem91 = v
+      _elem93 = v
 }
-      _elem90 = append(_elem90, _elem91)
+      _elem92 = append(_elem92, _elem93)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.MeasurementsList = append(p.MeasurementsList, _elem90)
+    p.MeasurementsList = append(p.MeasurementsList, _elem92)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8894,20 +8815,20 @@ func (p *TSInsertStringRecordsReq)  ReadField4(ctx context.Context, iprot thrift
       return thrift.PrependError("error reading list begin: ", err)
     }
     tSlice := make([]string, 0, size)
-    _elem92 :=  tSlice
+    _elem94 :=  tSlice
     for i := 0; i < size; i ++ {
-var _elem93 string
+var _elem95 string
       if v, err := iprot.ReadString(ctx); err != nil {
       return thrift.PrependError("error reading field 0: ", err)
 } else {
-      _elem93 = v
+      _elem95 = v
 }
-      _elem92 = append(_elem92, _elem93)
+      _elem94 = append(_elem94, _elem95)
     }
     if err := iprot.ReadListEnd(ctx); err != nil {
       return thrift.PrependError("error reading list end: ", err)
     }
-    p.ValuesList = append(p.ValuesList, _elem92)
+    p.ValuesList = append(p.ValuesList, _elem94)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -8923,13 +8844,13 @@ func (p *TSInsertStringRecordsReq)  ReadField5(ctx context.Context, iprot thrift
   tSlice := make([]int64, 0, size)
   p.Timestamps =  tSlice
   for i := 0; i < size; i ++ {
-var _elem94 int64
+var _elem96 int64
     if v, err := iprot.ReadI64(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem94 = v
+    _elem96 = v
 }
-    p.Timestamps = append(p.Timestamps, _elem94)
+    p.Timestamps = append(p.Timestamps, _elem96)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -9083,31 +9004,31 @@ func (p *TSInsertStringRecordsReq) Equals(other *TSInsertStringRecordsReq) bool
   if p.SessionId != other.SessionId { return false }
   if len(p.PrefixPaths) != len(other.PrefixPaths) { return false }
   for i, _tgt := range p.PrefixPaths {
-    _src95 := other.PrefixPaths[i]
-    if _tgt != _src95 { return false }
+    _src97 := other.PrefixPaths[i]
+    if _tgt != _src97 { return false }
   }
   if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
   for i, _tgt := range p.MeasurementsList {
-    _src96 := other.MeasurementsList[i]
-    if len(_tgt) != len(_src96) { return false }
+    _src98 := other.MeasurementsList[i]
+    if len(_tgt) != len(_src98) { return false }
     for i, _tgt := range _tgt {
-      _src97 := _src96[i]
-      if _tgt != _src97 { return false }
+      _src99 := _src98[i]
+      if _tgt != _src99 { return false }
     }
   }
   if len(p.ValuesList) != len(other.ValuesList) { return false }
   for i, _tgt := range p.ValuesList {
-    _src98 := other.ValuesList[i]
-    if len(_tgt) != len(_src98) { return false }
+    _src100 := other.ValuesList[i]
+    if len(_tgt) != len(_src100) { return false }
     for i, _tgt := range _tgt {
-      _src99 := _src98[i]
-      if _tgt != _src99 { return false }
+      _src101 := _src100[i]
+      if _tgt != _src101 { return false }
     }
   }
   if len(p.Timestamps) != len(other.Timestamps) { return false }
   for i, _tgt := range p.Timestamps {
-    _src100 := other.Timestamps[i]
-    if _tgt != _src100 { return false }
+    _src102 := other.Timestamps[i]
+    if _tgt != _src102 { return false }
   }
   if p.IsAligned != other.IsAligned {
     if p.IsAligned == nil || other.IsAligned == nil {
@@ -9262,13 +9183,13 @@ func (p *TSDeleteDataReq)  ReadField2(ctx context.Context, iprot thrift.TProtoco
   tSlice := make([]string, 0, size)
   p.Paths =  tSlice
   for i := 0; i < size; i ++ {
-var _elem101 string
+var _elem103 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem101 = v
+    _elem103 = v
 }
-    p.Paths = append(p.Paths, _elem101)
+    p.Paths = append(p.Paths, _elem103)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -9367,8 +9288,8 @@ func (p *TSDeleteDataReq) Equals(other *TSDeleteDataReq) bool {
   if p.SessionId != other.SessionId { return false }
   if len(p.Paths) != len(other.Paths) { return false }
   for i, _tgt := range p.Paths {
-    _src102 := other.Paths[i]
-    if _tgt != _src102 { return false }
+    _src104 := other.Paths[i]
+    if _tgt != _src104 { return false }
   }
   if p.StartTime != other.StartTime { return false }
   if p.EndTime != other.EndTime { return false }
@@ -9662,19 +9583,19 @@ func (p *TSCreateTimeseriesReq)  ReadField6(ctx context.Context, iprot thrift.TP
   tMap := make(map[string]string, size)
   p.Props =  tMap
   for i := 0; i < size; i ++ {
-var _key103 string
+var _key105 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _key103 = v
+    _key105 = v
 }
-var _val104 string
+var _val106 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _val104 = v
+    _val106 = v
 }
-    p.Props[_key103] = _val104
+    p.Props[_key105] = _val106
   }
   if err := iprot.ReadMapEnd(ctx); err != nil {
     return thrift.PrependError("error reading map end: ", err)
@@ -9690,19 +9611,19 @@ func (p *TSCreateTimeseriesReq)  ReadField7(ctx context.Context, iprot thrift.TP
   tMap := make(map[string]string, size)
   p.Tags =  tMap
   for i := 0; i < size; i ++ {
-var _key105 string
+var _key107 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _key105 = v
+    _key107 = v
 }
-var _val106 string
+var _val108 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _val106 = v
+    _val108 = v
 }
-    p.Tags[_key105] = _val106
+    p.Tags[_key107] = _val108
   }
   if err := iprot.ReadMapEnd(ctx); err != nil {
     return thrift.PrependError("error reading map end: ", err)
@@ -9718,19 +9639,19 @@ func (p *TSCreateTimeseriesReq)  ReadField8(ctx context.Context, iprot thrift.TP
   tMap := make(map[string]string, size)
   p.Attributes =  tMap
   for i := 0; i < size; i ++ {
-var _key107 string
+var _key109 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _key107 = v
+    _key109 = v
 }
-var _val108 string
+var _val110 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _val108 = v
+    _val110 = v
 }
-    p.Attributes[_key107] = _val108
+    p.Attributes[_key109] = _val110
   }
   if err := iprot.ReadMapEnd(ctx); err != nil {
     return thrift.PrependError("error reading map end: ", err)
@@ -9909,18 +9830,18 @@ func (p *TSCreateTimeseriesReq) Equals(other *TSCreateTimeseriesReq) bool {
   if p.Compressor != other.Compressor { return false }
   if len(p.Props) != len(other.Props) { return false }
   for k, _tgt := range p.Props {
-    _src109 := other.Props[k]
-    if _tgt != _src109 { return false }
+    _src111 := other.Props[k]
+    if _tgt != _src111 { return false }
   }
   if len(p.Tags) != len(other.Tags) { return false }
   for k, _tgt := range p.Tags {
-    _src110 := other.Tags[k]
-    if _tgt != _src110 { return false }
+    _src112 := other.Tags[k]
+    if _tgt != _src112 { return false }
   }
   if len(p.Attributes) != len(other.Attributes) { return false }
   for k, _tgt := range p.Attributes {
-    _src111 := other.Attributes[k]
-    if _tgt != _src111 { return false }
+    _src113 := other.Attributes[k]
+    if _tgt != _src113 { return false }
   }
   if p.MeasurementAlias != other.MeasurementAlias {
     if p.MeasurementAlias == nil || other.MeasurementAlias == nil {
@@ -9946,6 +9867,8 @@ func (p *TSCreateTimeseriesReq) String() string {
 //  - Encodings
 //  - Compressors
 //  - MeasurementAlias
+//  - TagsList
+//  - AttributesList
 type TSCreateAlignedTimeseriesReq struct {
   SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
   PrefixPath string `thrift:"prefixPath,2,required" db:"prefixPath" json:"prefixPath"`
@@ -9954,6 +9877,8 @@ type TSCreateAlignedTimeseriesReq struct {
   Encodings []int32 `thrift:"encodings,5,required" db:"encodings" json:"encodings"`
   Compressors []int32 `thrift:"compressors,6,required" db:"compressors" json:"compressors"`
   MeasurementAlias []string `thrift:"measurementAlias,7" db:"measurementAlias" json:"measurementAlias,omitempty"`
+  TagsList []map[string]string `thrift:"tagsList,8" db:"tagsList" json:"tagsList,omitempty"`
+  AttributesList []map[string]string `thrift:"attributesList,9" db:"attributesList" json:"attributesList,omitempty"`
 }
 
 func NewTSCreateAlignedTimeseriesReq() *TSCreateAlignedTimeseriesReq {
@@ -9989,10 +9914,28 @@ var TSCreateAlignedTimeseriesReq_MeasurementAlias_DEFAULT []string
 func (p *TSCreateAlignedTimeseriesReq) GetMeasurementAlias() []string {
   return p.MeasurementAlias
 }
+var TSCreateAlignedTimeseriesReq_TagsList_DEFAULT []map[string]string
+
+func (p *TSCreateAlignedTimeseriesReq) GetTagsList() []map[string]string {
+  return p.TagsList
+}
+var TSCreateAlignedTimeseriesReq_AttributesList_DEFAULT []map[string]string
+
+func (p *TSCreateAlignedTimeseriesReq) GetAttributesList() []map[string]string {
+  return p.AttributesList
+}
 func (p *TSCreateAlignedTimeseriesReq) IsSetMeasurementAlias() bool {
   return p.MeasurementAlias != nil
 }
 
+func (p *TSCreateAlignedTimeseriesReq) IsSetTagsList() bool {
+  return p.TagsList != nil
+}
+
+func (p *TSCreateAlignedTimeseriesReq) IsSetAttributesList() bool {
+  return p.AttributesList != nil
+}
+
 func (p *TSCreateAlignedTimeseriesReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
@@ -10088,6 +10031,26 @@ func (p *TSCreateAlignedTimeseriesReq) Read(ctx context.Context, iprot thrift.TP
           return err
         }
       }
+    case 8:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField8(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 9:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField9(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
     default:
       if err := iprot.Skip(ctx, fieldTypeId); err != nil {
         return err
@@ -10147,13 +10110,13 @@ func (p *TSCreateAlignedTimeseriesReq)  ReadField3(ctx context.Context, iprot th
   tSlice := make([]string, 0, size)
   p.Measurements =  tSlice
   for i := 0; i < size; i ++ {
-var _elem112 string
+var _elem114 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem112 = v
+    _elem114 = v
 }
-    p.Measurements = append(p.Measurements, _elem112)
+    p.Measurements = append(p.Measurements, _elem114)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -10169,13 +10132,13 @@ func (p *TSCreateAlignedTimeseriesReq)  ReadField4(ctx context.Context, iprot th
   tSlice := make([]int32, 0, size)
   p.DataTypes =  tSlice
   for i := 0; i < size; i ++ {
-var _elem113 int32
+var _elem115 int32
     if v, err := iprot.ReadI32(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem113 = v
+    _elem115 = v
 }
-    p.DataTypes = append(p.DataTypes, _elem113)
+    p.DataTypes = append(p.DataTypes, _elem115)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -10191,13 +10154,13 @@ func (p *TSCreateAlignedTimeseriesReq)  ReadField5(ctx context.Context, iprot th
   tSlice := make([]int32, 0, size)
   p.Encodings =  tSlice
   for i := 0; i < size; i ++ {
-var _elem114 int32
+var _elem116 int32
     if v, err := iprot.ReadI32(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem114 = v
+    _elem116 = v
 }
-    p.Encodings = append(p.Encodings, _elem114)
+    p.Encodings = append(p.Encodings, _elem116)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -10213,13 +10176,13 @@ func (p *TSCreateAlignedTimeseriesReq)  ReadField6(ctx context.Context, iprot th
   tSlice := make([]int32, 0, size)
   p.Compressors =  tSlice
   for i := 0; i < size; i ++ {
-var _elem115 int32
+var _elem117 int32
     if v, err := iprot.ReadI32(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem115 = v
+    _elem117 = v
 }
-    p.Compressors = append(p.Compressors, _elem115)
+    p.Compressors = append(p.Compressors, _elem117)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -10235,13 +10198,13 @@ func (p *TSCreateAlignedTimeseriesReq)  ReadField7(ctx context.Context, iprot th
   tSlice := make([]string, 0, size)
   p.MeasurementAlias =  tSlice
   for i := 0; i < size; i ++ {
-var _elem116 string
+var _elem118 string
     if v, err := iprot.ReadString(ctx); err != nil {
     return thrift.PrependError("error reading field 0: ", err)
 } else {
-    _elem116 = v
+    _elem118 = v
 }
-    p.MeasurementAlias = append(p.MeasurementAlias, _elem116)
+    p.MeasurementAlias = append(p.MeasurementAlias, _elem118)
   }
   if err := iprot.ReadListEnd(ctx); err != nil {
     return thrift.PrependError("error reading list end: ", err)
@@ -10249,23 +10212,105 @@ var _elem116 string
   return nil
 }
 
-func (p *TSCreateAlignedTimeseriesReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TSCreateAlignedTimeseriesReq"); err != nil {
-    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
-  if p != nil {
-    if err := p.writeField1(ctx, oprot); err != nil { return err }
-    if err := p.writeField2(ctx, oprot); err != nil { return err }
-    if err := p.writeField3(ctx, oprot); err != nil { return err }
-    if err := p.writeField4(ctx, oprot); err != nil { return err }
-    if err := p.writeField5(ctx, oprot); err != nil { return err }
-    if err := p.writeField6(ctx, oprot); err != nil { return err }
-    if err := p.writeField7(ctx, oprot); err != nil { return err }
+func (p *TSCreateAlignedTimeseriesReq)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
   }
-  if err := oprot.WriteFieldStop(ctx); err != nil {
-    return thrift.PrependError("write field stop error: ", err) }
-  if err := oprot.WriteStructEnd(ctx); err != nil {
-    return thrift.PrependError("write struct stop error: ", err) }
-  return nil
+  tSlice := make([]map[string]string, 0, size)
+  p.TagsList =  tSlice
+  for i := 0; i < size; i ++ {
+    _, _, size, err := iprot.ReadMapBegin(ctx)
+    if err != nil {
+      return thrift.PrependError("error reading map begin: ", err)
+    }
+    tMap := make(map[string]string, size)
+    _elem119 :=  tMap
+    for i := 0; i < size; i ++ {
+var _key120 string
+      if v, err := iprot.ReadString(ctx); err != nil {
+      return thrift.PrependError("error reading field 0: ", err)
+} else {
+      _key120 = v
+}
+var _val121 string
+      if v, err := iprot.ReadString(ctx); err != nil {
+      return thrift.PrependError("error reading field 0: ", err)
+} else {
+      _val121 = v
+}
+      _elem119[_key120] = _val121
+    }
+    if err := iprot.ReadMapEnd(ctx); err != nil {
+      return thrift.PrependError("error reading map end: ", err)
+    }
+    p.TagsList = append(p.TagsList, _elem119)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSCreateAlignedTimeseriesReq)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]map[string]string, 0, size)
+  p.AttributesList =  tSlice
+  for i := 0; i < size; i ++ {
+    _, _, size, err := iprot.ReadMapBegin(ctx)
+    if err != nil {
+      return thrift.PrependError("error reading map begin: ", err)
+    }
+    tMap := make(map[string]string, size)
+    _elem122 :=  tMap
+    for i := 0; i < size; i ++ {
+var _key123 string
+      if v, err := iprot.ReadString(ctx); err != nil {
+      return thrift.PrependError("error reading field 0: ", err)
+} else {
+      _key123 = v
+}
+var _val124 string
+      if v, err := iprot.ReadString(ctx); err != nil {
+      return thrift.PrependError("error reading field 0: ", err)
+} else {
+      _val124 = v
+}
+      _elem122[_key123] = _val124
+    }
+    if err := iprot.ReadMapEnd(ctx); err != nil {
+      return thrift.PrependError("error reading map end: ", err)
+    }
+    p.AttributesList = append(p.AttributesList, _elem122)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSCreateAlignedTimeseriesReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSCreateAlignedTimeseriesReq"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
+    if err := p.writeField4(ctx, oprot); err != nil { return err }
+    if err := p.writeField5(ctx, oprot); err != nil { return err }
+    if err := p.writeField6(ctx, oprot); err != nil { return err }
+    if err := p.writeField7(ctx, oprot); err != nil { return err }
+    if err := p.writeField8(ctx, oprot); err != nil { return err }
+    if err := p.writeField9(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
 }
 
 func (p *TSCreateAlignedTimeseriesReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
@@ -10380,6 +10425,66 @@ func (p *TSCreateAlignedTimeseriesReq) writeField7(ctx context.Context, oprot th
   return err
 }
 
+func (p *TSCreateAlignedTimeseriesReq) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetTagsList() {
+    if err := oprot.WriteFieldBegin(ctx, "tagsList", thrift.LIST, 8); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:tagsList: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.TagsList)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.TagsList {
+      if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
+        return thrift.PrependError("error writing map begin: ", err)
+      }
+      for k, v := range v {
+        if err := oprot.WriteString(ctx, string(k)); err != nil {
+        return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+        if err := oprot.WriteString(ctx, string(v)); err != nil {
+        return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+      }
+      if err := oprot.WriteMapEnd(ctx); err != nil {
+        return thrift.PrependError("error writing map end: ", err)
+      }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 8:tagsList: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSCreateAlignedTimeseriesReq) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetAttributesList() {
+    if err := oprot.WriteFieldBegin(ctx, "attributesList", thrift.LIST, 9); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:attributesList: ", p), err) }
+    if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.AttributesList)); err != nil {
+      return thrift.PrependError("error writing list begin: ", err)
+    }
+    for _, v := range p.AttributesList {
+      if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
+        return thrift.PrependError("error writing map begin: ", err)
+      }
+      for k, v := range v {
+        if err := oprot.WriteString(ctx, string(k)); err != nil {
+        return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+        if err := oprot.WriteString(ctx, string(v)); err != nil {
+        return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+      }
+      if err := oprot.WriteMapEnd(ctx); err != nil {
+        return thrift.PrependError("error writing map end: ", err)
+      }
+    }
+    if err := oprot.WriteListEnd(ctx); err != nil {
+      return thrift.PrependError("error writing list end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 9:attributesList: ", p), err) }
+  }
+  return err
+}
+
 func (p *TSCreateAlignedTimeseriesReq) Equals(other *TSCreateAlignedTimeseriesReq) bool {
   if p == other {
     return true
@@ -10390,28 +10495,46 @@ func (p *TSCreateAlignedTimeseriesReq) Equals(other *TSCreateAlignedTimeseriesRe
   if p.PrefixPath != other.PrefixPath { return false }
   if len(p.Measurements) != len(other.Measurements) { return false }
   for i, _tgt := range p.Measurements {
-    _src117 := other.Measurements[i]
-    if _tgt != _src117 { return false }
+    _src125 := other.Measurements[i]
+    if _tgt != _src125 { return false }
   }
   if len(p.DataTypes) != len(other.DataTypes) { return false }
   for i, _tgt := range p.DataTypes {
-    _src118 := other.DataTypes[i]
-    if _tgt != _src118 { return false }
+    _src126 := other.DataTypes[i]
+    if _tgt != _src126 { return false }
   }
   if len(p.Encodings) != len(other.Encodings) { return false }
   for i, _tgt := range p.Encodings {
-    _src119 := other.Encodings[i]
-    if _tgt != _src119 { return false }
+    _src127 := other.Encodings[i]
+    if _tgt != _src127 { return false }
   }
   if len(p.Compressors) != len(other.Compressors) { return false }
   for i, _tgt := range p.Compressors {
-    _src120 := other.Compressors[i]
-    if _tgt != _src120 { return false }
+    _src128 := other.Compressors[i]
+    if _tgt != _src128 { return false }
   }
   if len(p.MeasurementAlias) != len(other.MeasurementAlias) { return false }
   for i, _tgt := range p.MeasurementAlias {
-    _src121 := other.MeasurementAlias[i]
-    if _tgt != _src121 { return false }
+    _src129 := other.MeasurementAlias[i]
+    if _tgt != _src129 { return false }
+  }
+  if len(p.TagsList) != len(other.TagsList) { return false }
+  for i, _tgt := range p.TagsList {
+    _src130 := other.TagsList[i]
+    if len(_tgt) != len(_src130) { return false }
+    for k, _tgt := range _tgt {
+      _src131 := _src130[k]
+      if _tgt != _src131 { return false }
+    }
+  }
+  if len(p.AttributesList) != len(other.AttributesList) { return false }
+  for i, _tgt := range p.AttributesList {
+    _src132 := other.AttributesList[i]
+    if len(_tgt) != len(_src132) { return false }
+    for k, _tgt := range _tgt {
+      _src133 := _src132[k]
+      if _tgt != _src133 { return false }
+    }
   }
   return true
 }
@@ -10432,6 +10555,7 @@ func (p *TSCreateAlignedTimeseriesReq) String() string {
 //  - StatementId
 //  - EnableRedirectQuery
 //  - JdbcQuery
+//  - Timeout
 type TSRawDataQueryReq struct {
   SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
   Paths []string `thrift:"paths,2,required" db:"paths" json:"paths"`
@@ -10441,6 +10565,7 @@ type TSRawDataQueryReq struct {
   StatementId int64 `thrift:"statementId,6,required" db:"statementId" json:"statementId"`
... 24324 lines suppressed ...


[iotdb-client-go] 02/02: iotdb-go-cliet fit 1.1

Posted by ca...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch beyyes/main
in repository https://gitbox.apache.org/repos/asf/iotdb-client-go.git

commit edd02e7617c2a2f460d0279387da4d5ef5338113
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Wed Apr 12 15:53:15 2023 +0800

    iotdb-go-cliet fit 1.1
---
 client/session.go          |   41 +-
 common/common.go           | 1156 ++++++++++++++++++++++++++++++++++++++++----
 example/session_example.go |   27 +-
 rpc/client.go              |  120 ++---
 4 files changed, 1174 insertions(+), 170 deletions(-)

diff --git a/client/session.go b/client/session.go
index 18bbdef..d3374c5 100644
--- a/client/session.go
+++ b/client/session.go
@@ -110,7 +110,7 @@ func (s *Session) Open(enableRPCCompression bool, connectionTimeoutInMs int) err
 	iprot := protocolFactory.GetProtocol(s.trans)
 	oprot := protocolFactory.GetProtocol(s.trans)
 	s.client = rpc.NewIClientRPCServiceClient(thrift.NewTStandardClient(iprot, oprot))
-	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: &s.config.UserName,
+	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: s.config.UserName,
 		Password: &s.config.Password}
 	resp, err := s.client.OpenSession(context.Background(), &req)
 	if err != nil {
@@ -161,7 +161,7 @@ func (s *Session) OpenCluster(enableRPCCompression bool) error {
 	iprot := protocolFactory.GetProtocol(s.trans)
 	oprot := protocolFactory.GetProtocol(s.trans)
 	s.client = rpc.NewIClientRPCServiceClient(thrift.NewTStandardClient(iprot, oprot))
-	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: &s.config.UserName,
+	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: s.config.UserName,
 		Password: &s.config.Password}
 
 	resp, err := s.client.OpenSession(context.Background(), &req)
@@ -481,6 +481,32 @@ func (s *Session) ExecuteQueryStatement(sql string, timeoutMs *int64) (*SessionD
 	}
 }
 
+func (s *Session) ExecuteAggregationQuery(paths []string, aggregations []common.TAggregationType,
+	startTime *int64, endTime *int64, interval *int64,
+	timeoutMs *int64) (*SessionDataSet, error) {
+
+	request := rpc.TSAggregationQueryReq{SessionId: s.sessionId, StatementId: s.requestStatementId, Paths: paths,
+		Aggregations: aggregations, StartTime: startTime, EndTime: endTime, Interval: interval, FetchSize: &s.config.FetchSize, Timeout: timeoutMs}
+	if resp, err := s.client.ExecuteAggregationQuery(context.Background(), &request); err == nil {
+		if statusErr := VerifySuccess(resp.Status); statusErr == nil {
+			return NewSessionDataSet("", resp.Columns, resp.DataTypeList, resp.ColumnNameIndexMap, *resp.QueryId, s.client, s.sessionId, resp.QueryDataSet, resp.IgnoreTimeStamp != nil && *resp.IgnoreTimeStamp, s.config.FetchSize, timeoutMs), err
+		} else {
+			return nil, statusErr
+		}
+	} else {
+		if s.reconnect() {
+			request.SessionId = s.sessionId
+			resp, err = s.client.ExecuteAggregationQuery(context.Background(), &request)
+			if statusErr := VerifySuccess(resp.Status); statusErr == nil {
+				return NewSessionDataSet("", resp.Columns, resp.DataTypeList, resp.ColumnNameIndexMap, *resp.QueryId, s.client, s.sessionId, resp.QueryDataSet, resp.IgnoreTimeStamp != nil && *resp.IgnoreTimeStamp, s.config.FetchSize, timeoutMs), err
+			} else {
+				return nil, statusErr
+			}
+		}
+		return nil, err
+	}
+}
+
 func (s *Session) genTSInsertRecordReq(deviceId string, time int64,
 	measurements []string,
 	types []TSDataType,
@@ -797,7 +823,14 @@ func (s *Session) ExecuteUpdateStatement(sql string) (*SessionDataSet, error) {
 }
 
 func (s *Session) genDataSet(sql string, resp *rpc.TSExecuteStatementResp) *SessionDataSet {
-	return NewSessionDataSet(sql, resp.Columns, resp.DataTypeList, resp.ColumnNameIndexMap, *resp.QueryId, s.client, s.sessionId, resp.QueryDataSet, resp.IgnoreTimeStamp != nil && *resp.IgnoreTimeStamp, s.config.FetchSize, nil)
+	var queryId int64
+	if resp.QueryId == nil {
+		queryId = 0
+	} else {
+		queryId = *resp.QueryId
+	}
+	return NewSessionDataSet(sql, resp.Columns, resp.DataTypeList, resp.ColumnNameIndexMap,
+		queryId, s.client, s.sessionId, resp.QueryDataSet, resp.IgnoreTimeStamp != nil && *resp.IgnoreTimeStamp, s.config.FetchSize, nil)
 }
 
 func (s *Session) genInsertTabletsReq(tablets []*Tablet, isAligned bool) (*rpc.TSInsertTabletsReq, error) {
@@ -1069,7 +1102,7 @@ func (s *Session) initClusterConn(node endPoint) error {
 	iprot := protocolFactory.GetProtocol(s.trans)
 	oprot := protocolFactory.GetProtocol(s.trans)
 	s.client = rpc.NewIClientRPCServiceClient(thrift.NewTStandardClient(iprot, oprot))
-	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: &s.config.UserName,
+	req := rpc.TSOpenSessionReq{ClientProtocol: rpc.TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, ZoneId: s.config.TimeZone, Username: s.config.UserName,
 		Password: &s.config.Password}
 
 	resp, err := s.client.OpenSession(context.Background(), &req)
diff --git a/common/common.go b/common/common.go
index cd4a191..80de2d6 100644
--- a/common/common.go
+++ b/common/common.go
@@ -2,14 +2,14 @@
 
 package common
 
-import (
-  "bytes"
-  "context"
-  "database/sql/driver"
-  "errors"
-  "fmt"
-  "github.com/apache/thrift/lib/go/thrift"
-  "time"
+import(
+	"bytes"
+	"context"
+	"database/sql/driver"
+	"errors"
+	"fmt"
+	"time"
+	"github.com/apache/thrift/lib/go/thrift"
 )
 
 // (needed to ensure safety because of naive import list construction.)
@@ -22,7 +22,7 @@ var _ = bytes.Equal
 type TConsensusGroupType int64
 const (
   TConsensusGroupType_ConfigRegion TConsensusGroupType = 0
-  TConsensusGroupType_DataRegion   TConsensusGroupType = 1
+  TConsensusGroupType_DataRegion TConsensusGroupType = 1
   TConsensusGroupType_SchemaRegion TConsensusGroupType = 2
 )
 
@@ -69,7 +69,7 @@ return errors.New("Scan value is not int64")
 return nil
 }
 
-func (p *TConsensusGroupType) Value() (driver.Value, error) {
+func (p * TConsensusGroupType) Value() (driver.Value, error) {
   if p == nil {
     return nil, nil
   }
@@ -77,11 +77,11 @@ return int64(*p), nil
 }
 type TRegionMigrateFailedType int64
 const (
-  TRegionMigrateFailedType_AddPeerFailed              TRegionMigrateFailedType = 0
-  TRegionMigrateFailedType_RemovePeerFailed           TRegionMigrateFailedType = 1
+  TRegionMigrateFailedType_AddPeerFailed TRegionMigrateFailedType = 0
+  TRegionMigrateFailedType_RemovePeerFailed TRegionMigrateFailedType = 1
   TRegionMigrateFailedType_RemoveConsensusGroupFailed TRegionMigrateFailedType = 2
-  TRegionMigrateFailedType_DeleteRegionFailed         TRegionMigrateFailedType = 3
-  TRegionMigrateFailedType_CreateRegionFailed         TRegionMigrateFailedType = 4
+  TRegionMigrateFailedType_DeleteRegionFailed TRegionMigrateFailedType = 3
+  TRegionMigrateFailedType_CreateRegionFailed TRegionMigrateFailedType = 4
 )
 
 func (p TRegionMigrateFailedType) String() string {
@@ -131,7 +131,72 @@ return errors.New("Scan value is not int64")
 return nil
 }
 
-func (p *TRegionMigrateFailedType) Value() (driver.Value, error) {
+func (p * TRegionMigrateFailedType) Value() (driver.Value, error) {
+  if p == nil {
+    return nil, nil
+  }
+return int64(*p), nil
+}
+type ThrottleType int64
+const (
+  ThrottleType_REQUEST_NUMBER ThrottleType = 0
+  ThrottleType_REQUEST_SIZE ThrottleType = 1
+  ThrottleType_WRITE_NUMBER ThrottleType = 2
+  ThrottleType_WRITE_SIZE ThrottleType = 3
+  ThrottleType_READ_NUMBER ThrottleType = 4
+  ThrottleType_READ_SIZE ThrottleType = 5
+)
+
+func (p ThrottleType) String() string {
+  switch p {
+  case ThrottleType_REQUEST_NUMBER: return "REQUEST_NUMBER"
+  case ThrottleType_REQUEST_SIZE: return "REQUEST_SIZE"
+  case ThrottleType_WRITE_NUMBER: return "WRITE_NUMBER"
+  case ThrottleType_WRITE_SIZE: return "WRITE_SIZE"
+  case ThrottleType_READ_NUMBER: return "READ_NUMBER"
+  case ThrottleType_READ_SIZE: return "READ_SIZE"
+  }
+  return "<UNSET>"
+}
+
+func ThrottleTypeFromString(s string) (ThrottleType, error) {
+  switch s {
+  case "REQUEST_NUMBER": return ThrottleType_REQUEST_NUMBER, nil 
+  case "REQUEST_SIZE": return ThrottleType_REQUEST_SIZE, nil 
+  case "WRITE_NUMBER": return ThrottleType_WRITE_NUMBER, nil 
+  case "WRITE_SIZE": return ThrottleType_WRITE_SIZE, nil 
+  case "READ_NUMBER": return ThrottleType_READ_NUMBER, nil 
+  case "READ_SIZE": return ThrottleType_READ_SIZE, nil 
+  }
+  return ThrottleType(0), fmt.Errorf("not a valid ThrottleType string")
+}
+
+
+func ThrottleTypePtr(v ThrottleType) *ThrottleType { return &v }
+
+func (p ThrottleType) MarshalText() ([]byte, error) {
+return []byte(p.String()), nil
+}
+
+func (p *ThrottleType) UnmarshalText(text []byte) error {
+q, err := ThrottleTypeFromString(string(text))
+if (err != nil) {
+return err
+}
+*p = q
+return nil
+}
+
+func (p *ThrottleType) Scan(value interface{}) error {
+v, ok := value.(int64)
+if !ok {
+return errors.New("Scan value is not int64")
+}
+*p = ThrottleType(v)
+return nil
+}
+
+func (p * ThrottleType) Value() (driver.Value, error) {
   if p == nil {
     return nil, nil
   }
@@ -139,19 +204,19 @@ return int64(*p), nil
 }
 type TAggregationType int64
 const (
-  TAggregationType_COUNT         TAggregationType = 0
-  TAggregationType_AVG           TAggregationType = 1
-  TAggregationType_SUM           TAggregationType = 2
-  TAggregationType_FIRST_VALUE   TAggregationType = 3
-  TAggregationType_LAST_VALUE    TAggregationType = 4
-  TAggregationType_MAX_TIME      TAggregationType = 5
-  TAggregationType_MIN_TIME      TAggregationType = 6
-  TAggregationType_MAX_VALUE     TAggregationType = 7
-  TAggregationType_MIN_VALUE     TAggregationType = 8
-  TAggregationType_EXTREME       TAggregationType = 9
-  TAggregationType_COUNT_IF      TAggregationType = 10
+  TAggregationType_COUNT TAggregationType = 0
+  TAggregationType_AVG TAggregationType = 1
+  TAggregationType_SUM TAggregationType = 2
+  TAggregationType_FIRST_VALUE TAggregationType = 3
+  TAggregationType_LAST_VALUE TAggregationType = 4
+  TAggregationType_MAX_TIME TAggregationType = 5
+  TAggregationType_MIN_TIME TAggregationType = 6
+  TAggregationType_MAX_VALUE TAggregationType = 7
+  TAggregationType_MIN_VALUE TAggregationType = 8
+  TAggregationType_EXTREME TAggregationType = 9
+  TAggregationType_COUNT_IF TAggregationType = 10
   TAggregationType_TIME_DURATION TAggregationType = 11
-  TAggregationType_MODE          TAggregationType = 12
+  TAggregationType_MODE TAggregationType = 12
 )
 
 func (p TAggregationType) String() string {
@@ -217,7 +282,7 @@ return errors.New("Scan value is not int64")
 return nil
 }
 
-func (p *TAggregationType) Value() (driver.Value, error) {
+func (p * TAggregationType) Value() (driver.Value, error) {
   if p == nil {
     return nil, nil
   }
@@ -225,10 +290,10 @@ return int64(*p), nil
 }
 type TrainingState int64
 const (
-  TrainingState_PENDING  TrainingState = 0
-  TrainingState_RUNNING  TrainingState = 1
+  TrainingState_PENDING TrainingState = 0
+  TrainingState_RUNNING TrainingState = 1
   TrainingState_FINISHED TrainingState = 2
-  TrainingState_FAILED   TrainingState = 3
+  TrainingState_FAILED TrainingState = 3
   TrainingState_DROPPING TrainingState = 4
 )
 
@@ -279,7 +344,7 @@ return errors.New("Scan value is not int64")
 return nil
 }
 
-func (p *TrainingState) Value() (driver.Value, error) {
+func (p * TrainingState) Value() (driver.Value, error) {
   if p == nil {
     return nil, nil
   }
@@ -329,63 +394,7 @@ return errors.New("Scan value is not int64")
 return nil
 }
 
-func (p *ModelTask) Value() (driver.Value, error) {
-  if p == nil {
-    return nil, nil
-  }
-return int64(*p), nil
-}
-type EvaluateMetric int64
-const (
-  EvaluateMetric_MSE  EvaluateMetric = 0
-  EvaluateMetric_MAE  EvaluateMetric = 1
-  EvaluateMetric_RMSE EvaluateMetric = 2
-)
-
-func (p EvaluateMetric) String() string {
-  switch p {
-  case EvaluateMetric_MSE: return "MSE"
-  case EvaluateMetric_MAE: return "MAE"
-  case EvaluateMetric_RMSE: return "RMSE"
-  }
-  return "<UNSET>"
-}
-
-func EvaluateMetricFromString(s string) (EvaluateMetric, error) {
-  switch s {
-  case "MSE": return EvaluateMetric_MSE, nil 
-  case "MAE": return EvaluateMetric_MAE, nil 
-  case "RMSE": return EvaluateMetric_RMSE, nil 
-  }
-  return EvaluateMetric(0), fmt.Errorf("not a valid EvaluateMetric string")
-}
-
-
-func EvaluateMetricPtr(v EvaluateMetric) *EvaluateMetric { return &v }
-
-func (p EvaluateMetric) MarshalText() ([]byte, error) {
-return []byte(p.String()), nil
-}
-
-func (p *EvaluateMetric) UnmarshalText(text []byte) error {
-q, err := EvaluateMetricFromString(string(text))
-if (err != nil) {
-return err
-}
-*p = q
-return nil
-}
-
-func (p *EvaluateMetric) Scan(value interface{}) error {
-v, ok := value.(int64)
-if !ok {
-return errors.New("Scan value is not int64")
-}
-*p = EvaluateMetric(v)
-return nil
-}
-
-func (p *EvaluateMetric) Value() (driver.Value, error) {
+func (p * ModelTask) Value() (driver.Value, error) {
   if p == nil {
     return nil, nil
   }
@@ -546,8 +555,8 @@ func (p *TEndPoint) String() string {
 //  - RedirectNode
 type TSStatus struct {
   Code int32 `thrift:"code,1,required" db:"code" json:"code"`
-  Message *string         `thrift:"message,2" db:"message" json:"message,omitempty"`
-  SubStatus []*TSStatus   `thrift:"subStatus,3" db:"subStatus" json:"subStatus,omitempty"`
+  Message *string `thrift:"message,2" db:"message" json:"message,omitempty"`
+  SubStatus []*TSStatus `thrift:"subStatus,3" db:"subStatus" json:"subStatus,omitempty"`
   RedirectNode *TEndPoint `thrift:"redirectNode,4" db:"redirectNode" json:"redirectNode,omitempty"`
 }
 
@@ -815,7 +824,7 @@ func (p *TSStatus) String() string {
 //  - ID
 type TConsensusGroupId struct {
   Type TConsensusGroupType `thrift:"type,1,required" db:"type" json:"type"`
-  ID   int32               `thrift:"id,2,required" db:"id" json:"id"`
+  ID int32 `thrift:"id,2,required" db:"id" json:"id"`
 }
 
 func NewTConsensusGroupId() *TConsensusGroupId {
@@ -1175,7 +1184,7 @@ func (p *TTimePartitionSlot) String() string {
 //  - RegionId
 //  - DataNodeLocations
 type TRegionReplicaSet struct {
-  RegionId *TConsensusGroupId            `thrift:"regionId,1,required" db:"regionId" json:"regionId"`
+  RegionId *TConsensusGroupId `thrift:"regionId,1,required" db:"regionId" json:"regionId"`
   DataNodeLocations []*TDataNodeLocation `thrift:"dataNodeLocations,2,required" db:"dataNodeLocations" json:"dataNodeLocations"`
 }
 
@@ -1503,8 +1512,8 @@ func (p *TNodeResource) String() string {
 //  - InternalEndPoint
 //  - ConsensusEndPoint
 type TConfigNodeLocation struct {
-  ConfigNodeId int32           `thrift:"configNodeId,1,required" db:"configNodeId" json:"configNodeId"`
-  InternalEndPoint *TEndPoint  `thrift:"internalEndPoint,2,required" db:"internalEndPoint" json:"internalEndPoint"`
+  ConfigNodeId int32 `thrift:"configNodeId,1,required" db:"configNodeId" json:"configNodeId"`
+  InternalEndPoint *TEndPoint `thrift:"internalEndPoint,2,required" db:"internalEndPoint" json:"internalEndPoint"`
   ConsensusEndPoint *TEndPoint `thrift:"consensusEndPoint,3,required" db:"consensusEndPoint" json:"consensusEndPoint"`
 }
 
@@ -1710,11 +1719,11 @@ func (p *TConfigNodeLocation) String() string {
 //  - DataRegionConsensusEndPoint
 //  - SchemaRegionConsensusEndPoint
 type TDataNodeLocation struct {
-  DataNodeId int32                         `thrift:"dataNodeId,1,required" db:"dataNodeId" json:"dataNodeId"`
-  ClientRpcEndPoint *TEndPoint             `thrift:"clientRpcEndPoint,2,required" db:"clientRpcEndPoint" json:"clientRpcEndPoint"`
-  InternalEndPoint *TEndPoint              `thrift:"internalEndPoint,3,required" db:"internalEndPoint" json:"internalEndPoint"`
-  MPPDataExchangeEndPoint *TEndPoint       `thrift:"mPPDataExchangeEndPoint,4,required" db:"mPPDataExchangeEndPoint" json:"mPPDataExchangeEndPoint"`
-  DataRegionConsensusEndPoint *TEndPoint   `thrift:"dataRegionConsensusEndPoint,5,required" db:"dataRegionConsensusEndPoint" json:"dataRegionConsensusEndPoint"`
+  DataNodeId int32 `thrift:"dataNodeId,1,required" db:"dataNodeId" json:"dataNodeId"`
+  ClientRpcEndPoint *TEndPoint `thrift:"clientRpcEndPoint,2,required" db:"clientRpcEndPoint" json:"clientRpcEndPoint"`
+  InternalEndPoint *TEndPoint `thrift:"internalEndPoint,3,required" db:"internalEndPoint" json:"internalEndPoint"`
+  MPPDataExchangeEndPoint *TEndPoint `thrift:"mPPDataExchangeEndPoint,4,required" db:"mPPDataExchangeEndPoint" json:"mPPDataExchangeEndPoint"`
+  DataRegionConsensusEndPoint *TEndPoint `thrift:"dataRegionConsensusEndPoint,5,required" db:"dataRegionConsensusEndPoint" json:"dataRegionConsensusEndPoint"`
   SchemaRegionConsensusEndPoint *TEndPoint `thrift:"schemaRegionConsensusEndPoint,6,required" db:"schemaRegionConsensusEndPoint" json:"schemaRegionConsensusEndPoint"`
 }
 
@@ -2058,7 +2067,7 @@ func (p *TDataNodeLocation) String() string {
 //  - Resource
 type TDataNodeConfiguration struct {
   Location *TDataNodeLocation `thrift:"location,1,required" db:"location" json:"location"`
-  Resource *TNodeResource     `thrift:"resource,2,required" db:"resource" json:"resource"`
+  Resource *TNodeResource `thrift:"resource,2,required" db:"resource" json:"resource"`
 }
 
 func NewTDataNodeConfiguration() *TDataNodeConfiguration {
@@ -3005,7 +3014,7 @@ func (p *TFile) String() string {
 //  - Files
 type TFilesResp struct {
   Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
-  Files []*TFile   `thrift:"files,2,required" db:"files" json:"files"`
+  Files []*TFile `thrift:"files,2,required" db:"files" json:"files"`
 }
 
 func NewTFilesResp() *TFilesResp {
@@ -3179,3 +3188,946 @@ func (p *TFilesResp) String() string {
   return fmt.Sprintf("TFilesResp(%+v)", *p)
 }
 
+// Attributes:
+//  - DiskSize
+//  - DeviceNum
+//  - TimeserieNum
+type TSpaceQuota struct {
+  DiskSize *int64 `thrift:"diskSize,1" db:"diskSize" json:"diskSize,omitempty"`
+  DeviceNum *int64 `thrift:"deviceNum,2" db:"deviceNum" json:"deviceNum,omitempty"`
+  TimeserieNum *int64 `thrift:"timeserieNum,3" db:"timeserieNum" json:"timeserieNum,omitempty"`
+}
+
+func NewTSpaceQuota() *TSpaceQuota {
+  return &TSpaceQuota{}
+}
+
+var TSpaceQuota_DiskSize_DEFAULT int64
+func (p *TSpaceQuota) GetDiskSize() int64 {
+  if !p.IsSetDiskSize() {
+    return TSpaceQuota_DiskSize_DEFAULT
+  }
+return *p.DiskSize
+}
+var TSpaceQuota_DeviceNum_DEFAULT int64
+func (p *TSpaceQuota) GetDeviceNum() int64 {
+  if !p.IsSetDeviceNum() {
+    return TSpaceQuota_DeviceNum_DEFAULT
+  }
+return *p.DeviceNum
+}
+var TSpaceQuota_TimeserieNum_DEFAULT int64
+func (p *TSpaceQuota) GetTimeserieNum() int64 {
+  if !p.IsSetTimeserieNum() {
+    return TSpaceQuota_TimeserieNum_DEFAULT
+  }
+return *p.TimeserieNum
+}
+func (p *TSpaceQuota) IsSetDiskSize() bool {
+  return p.DiskSize != nil
+}
+
+func (p *TSpaceQuota) IsSetDeviceNum() bool {
+  return p.DeviceNum != nil
+}
+
+func (p *TSpaceQuota) IsSetTimeserieNum() bool {
+  return p.TimeserieNum != nil
+}
+
+func (p *TSpaceQuota) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 3:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField3(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  return nil
+}
+
+func (p *TSpaceQuota)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.DiskSize = &v
+}
+  return nil
+}
+
+func (p *TSpaceQuota)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.DeviceNum = &v
+}
+  return nil
+}
+
+func (p *TSpaceQuota)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 3: ", err)
+} else {
+  p.TimeserieNum = &v
+}
+  return nil
+}
+
+func (p *TSpaceQuota) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSpaceQuota"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSpaceQuota) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetDiskSize() {
+    if err := oprot.WriteFieldBegin(ctx, "diskSize", thrift.I64, 1); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:diskSize: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.DiskSize)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.diskSize (1) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 1:diskSize: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSpaceQuota) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetDeviceNum() {
+    if err := oprot.WriteFieldBegin(ctx, "deviceNum", thrift.I64, 2); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceNum: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.DeviceNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.deviceNum (2) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceNum: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSpaceQuota) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetTimeserieNum() {
+    if err := oprot.WriteFieldBegin(ctx, "timeserieNum", thrift.I64, 3); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:timeserieNum: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.TimeserieNum)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.timeserieNum (3) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:timeserieNum: ", p), err) }
+  }
+  return err
+}
+
+func (p *TSpaceQuota) Equals(other *TSpaceQuota) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.DiskSize != other.DiskSize {
+    if p.DiskSize == nil || other.DiskSize == nil {
+      return false
+    }
+    if (*p.DiskSize) != (*other.DiskSize) { return false }
+  }
+  if p.DeviceNum != other.DeviceNum {
+    if p.DeviceNum == nil || other.DeviceNum == nil {
+      return false
+    }
+    if (*p.DeviceNum) != (*other.DeviceNum) { return false }
+  }
+  if p.TimeserieNum != other.TimeserieNum {
+    if p.TimeserieNum == nil || other.TimeserieNum == nil {
+      return false
+    }
+    if (*p.TimeserieNum) != (*other.TimeserieNum) { return false }
+  }
+  return true
+}
+
+func (p *TSpaceQuota) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSpaceQuota(%+v)", *p)
+}
+
+// Attributes:
+//  - TimeUnit
+//  - SoftLimit
+type TTimedQuota struct {
+  TimeUnit int64 `thrift:"timeUnit,1,required" db:"timeUnit" json:"timeUnit"`
+  SoftLimit int64 `thrift:"softLimit,2,required" db:"softLimit" json:"softLimit"`
+}
+
+func NewTTimedQuota() *TTimedQuota {
+  return &TTimedQuota{}
+}
+
+
+func (p *TTimedQuota) GetTimeUnit() int64 {
+  return p.TimeUnit
+}
+
+func (p *TTimedQuota) GetSoftLimit() int64 {
+  return p.SoftLimit
+}
+func (p *TTimedQuota) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetTimeUnit bool = false;
+  var issetSoftLimit bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetTimeUnit = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetSoftLimit = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetTimeUnit{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeUnit is not set"));
+  }
+  if !issetSoftLimit{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SoftLimit is not set"));
+  }
+  return nil
+}
+
+func (p *TTimedQuota)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.TimeUnit = v
+}
+  return nil
+}
+
+func (p *TTimedQuota)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.SoftLimit = v
+}
+  return nil
+}
+
+func (p *TTimedQuota) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TTimedQuota"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TTimedQuota) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "timeUnit", thrift.I64, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:timeUnit: ", p), err) }
+  if err := oprot.WriteI64(ctx, int64(p.TimeUnit)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.timeUnit (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:timeUnit: ", p), err) }
+  return err
+}
+
+func (p *TTimedQuota) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "softLimit", thrift.I64, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:softLimit: ", p), err) }
+  if err := oprot.WriteI64(ctx, int64(p.SoftLimit)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.softLimit (2) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:softLimit: ", p), err) }
+  return err
+}
+
+func (p *TTimedQuota) Equals(other *TTimedQuota) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.TimeUnit != other.TimeUnit { return false }
+  if p.SoftLimit != other.SoftLimit { return false }
+  return true
+}
+
+func (p *TTimedQuota) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TTimedQuota(%+v)", *p)
+}
+
+// Attributes:
+//  - ThrottleLimit
+//  - MemLimit
+//  - CpuLimit
+type TThrottleQuota struct {
+  ThrottleLimit map[ThrottleType]*TTimedQuota `thrift:"throttleLimit,1" db:"throttleLimit" json:"throttleLimit,omitempty"`
+  MemLimit *int64 `thrift:"memLimit,2" db:"memLimit" json:"memLimit,omitempty"`
+  CpuLimit *int32 `thrift:"cpuLimit,3" db:"cpuLimit" json:"cpuLimit,omitempty"`
+}
+
+func NewTThrottleQuota() *TThrottleQuota {
+  return &TThrottleQuota{}
+}
+
+var TThrottleQuota_ThrottleLimit_DEFAULT map[ThrottleType]*TTimedQuota
+
+func (p *TThrottleQuota) GetThrottleLimit() map[ThrottleType]*TTimedQuota {
+  return p.ThrottleLimit
+}
+var TThrottleQuota_MemLimit_DEFAULT int64
+func (p *TThrottleQuota) GetMemLimit() int64 {
+  if !p.IsSetMemLimit() {
+    return TThrottleQuota_MemLimit_DEFAULT
+  }
+return *p.MemLimit
+}
+var TThrottleQuota_CpuLimit_DEFAULT int32
+func (p *TThrottleQuota) GetCpuLimit() int32 {
+  if !p.IsSetCpuLimit() {
+    return TThrottleQuota_CpuLimit_DEFAULT
+  }
+return *p.CpuLimit
+}
+func (p *TThrottleQuota) IsSetThrottleLimit() bool {
+  return p.ThrottleLimit != nil
+}
+
+func (p *TThrottleQuota) IsSetMemLimit() bool {
+  return p.MemLimit != nil
+}
+
+func (p *TThrottleQuota) IsSetCpuLimit() bool {
+  return p.CpuLimit != nil
+}
+
+func (p *TThrottleQuota) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.MAP {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.I64 {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 3:
+      if fieldTypeId == thrift.I32 {
+        if err := p.ReadField3(ctx, iprot); err != nil {
+          return err
+        }
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  return nil
+}
+
+func (p *TThrottleQuota)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  _, _, size, err := iprot.ReadMapBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading map begin: ", err)
+  }
+  tMap := make(map[ThrottleType]*TTimedQuota, size)
+  p.ThrottleLimit =  tMap
+  for i := 0; i < size; i ++ {
+var _key12 ThrottleType
+    if v, err := iprot.ReadI32(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    temp := ThrottleType(v)
+    _key12 = temp
+}
+    _val13 := &TTimedQuota{}
+    if err := _val13.Read(ctx, iprot); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _val13), err)
+    }
+    p.ThrottleLimit[_key12] = _val13
+  }
+  if err := iprot.ReadMapEnd(ctx); err != nil {
+    return thrift.PrependError("error reading map end: ", err)
+  }
+  return nil
+}
+
+func (p *TThrottleQuota)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI64(ctx); err != nil {
+  return thrift.PrependError("error reading field 2: ", err)
+} else {
+  p.MemLimit = &v
+}
+  return nil
+}
+
+func (p *TThrottleQuota)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadI32(ctx); err != nil {
+  return thrift.PrependError("error reading field 3: ", err)
+} else {
+  p.CpuLimit = &v
+}
+  return nil
+}
+
+func (p *TThrottleQuota) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TThrottleQuota"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+    if err := p.writeField3(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TThrottleQuota) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetThrottleLimit() {
+    if err := oprot.WriteFieldBegin(ctx, "throttleLimit", thrift.MAP, 1); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:throttleLimit: ", p), err) }
+    if err := oprot.WriteMapBegin(ctx, thrift.I32, thrift.STRUCT, len(p.ThrottleLimit)); err != nil {
+      return thrift.PrependError("error writing map begin: ", err)
+    }
+    for k, v := range p.ThrottleLimit {
+      if err := oprot.WriteI32(ctx, int32(k)); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+      if err := v.Write(ctx, oprot); err != nil {
+        return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
+      }
+    }
+    if err := oprot.WriteMapEnd(ctx); err != nil {
+      return thrift.PrependError("error writing map end: ", err)
+    }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 1:throttleLimit: ", p), err) }
+  }
+  return err
+}
+
+func (p *TThrottleQuota) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetMemLimit() {
+    if err := oprot.WriteFieldBegin(ctx, "memLimit", thrift.I64, 2); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:memLimit: ", p), err) }
+    if err := oprot.WriteI64(ctx, int64(*p.MemLimit)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.memLimit (2) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 2:memLimit: ", p), err) }
+  }
+  return err
+}
+
+func (p *TThrottleQuota) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if p.IsSetCpuLimit() {
+    if err := oprot.WriteFieldBegin(ctx, "cpuLimit", thrift.I32, 3); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:cpuLimit: ", p), err) }
+    if err := oprot.WriteI32(ctx, int32(*p.CpuLimit)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T.cpuLimit (3) field write error: ", p), err) }
+    if err := oprot.WriteFieldEnd(ctx); err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T write field end error 3:cpuLimit: ", p), err) }
+  }
+  return err
+}
+
+func (p *TThrottleQuota) Equals(other *TThrottleQuota) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if len(p.ThrottleLimit) != len(other.ThrottleLimit) { return false }
+  for k, _tgt := range p.ThrottleLimit {
+    _src14 := other.ThrottleLimit[k]
+    if !_tgt.Equals(_src14) { return false }
+  }
+  if p.MemLimit != other.MemLimit {
+    if p.MemLimit == nil || other.MemLimit == nil {
+      return false
+    }
+    if (*p.MemLimit) != (*other.MemLimit) { return false }
+  }
+  if p.CpuLimit != other.CpuLimit {
+    if p.CpuLimit == nil || other.CpuLimit == nil {
+      return false
+    }
+    if (*p.CpuLimit) != (*other.CpuLimit) { return false }
+  }
+  return true
+}
+
+func (p *TThrottleQuota) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TThrottleQuota(%+v)", *p)
+}
+
+// Attributes:
+//  - Database
+//  - SpaceLimit
+type TSetSpaceQuotaReq struct {
+  Database []string `thrift:"database,1,required" db:"database" json:"database"`
+  SpaceLimit *TSpaceQuota `thrift:"spaceLimit,2,required" db:"spaceLimit" json:"spaceLimit"`
+}
+
+func NewTSetSpaceQuotaReq() *TSetSpaceQuotaReq {
+  return &TSetSpaceQuotaReq{}
+}
+
+
+func (p *TSetSpaceQuotaReq) GetDatabase() []string {
+  return p.Database
+}
+var TSetSpaceQuotaReq_SpaceLimit_DEFAULT *TSpaceQuota
+func (p *TSetSpaceQuotaReq) GetSpaceLimit() *TSpaceQuota {
+  if !p.IsSetSpaceLimit() {
+    return TSetSpaceQuotaReq_SpaceLimit_DEFAULT
+  }
+return p.SpaceLimit
+}
+func (p *TSetSpaceQuotaReq) IsSetSpaceLimit() bool {
+  return p.SpaceLimit != nil
+}
+
+func (p *TSetSpaceQuotaReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetDatabase bool = false;
+  var issetSpaceLimit bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.LIST {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetDatabase = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetSpaceLimit = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetDatabase{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Database is not set"));
+  }
+  if !issetSpaceLimit{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SpaceLimit is not set"));
+  }
+  return nil
+}
+
+func (p *TSetSpaceQuotaReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  _, size, err := iprot.ReadListBegin(ctx)
+  if err != nil {
+    return thrift.PrependError("error reading list begin: ", err)
+  }
+  tSlice := make([]string, 0, size)
+  p.Database =  tSlice
+  for i := 0; i < size; i ++ {
+var _elem15 string
+    if v, err := iprot.ReadString(ctx); err != nil {
+    return thrift.PrependError("error reading field 0: ", err)
+} else {
+    _elem15 = v
+}
+    p.Database = append(p.Database, _elem15)
+  }
+  if err := iprot.ReadListEnd(ctx); err != nil {
+    return thrift.PrependError("error reading list end: ", err)
+  }
+  return nil
+}
+
+func (p *TSetSpaceQuotaReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  p.SpaceLimit = &TSpaceQuota{}
+  if err := p.SpaceLimit.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.SpaceLimit), err)
+  }
+  return nil
+}
+
+func (p *TSetSpaceQuotaReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSetSpaceQuotaReq"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSetSpaceQuotaReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "database", thrift.LIST, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:database: ", p), err) }
+  if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Database)); err != nil {
+    return thrift.PrependError("error writing list begin: ", err)
+  }
+  for _, v := range p.Database {
+    if err := oprot.WriteString(ctx, string(v)); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
+  }
+  if err := oprot.WriteListEnd(ctx); err != nil {
+    return thrift.PrependError("error writing list end: ", err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:database: ", p), err) }
+  return err
+}
+
+func (p *TSetSpaceQuotaReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "spaceLimit", thrift.STRUCT, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:spaceLimit: ", p), err) }
+  if err := p.SpaceLimit.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.SpaceLimit), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:spaceLimit: ", p), err) }
+  return err
+}
+
+func (p *TSetSpaceQuotaReq) Equals(other *TSetSpaceQuotaReq) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if len(p.Database) != len(other.Database) { return false }
+  for i, _tgt := range p.Database {
+    _src16 := other.Database[i]
+    if _tgt != _src16 { return false }
+  }
+  if !p.SpaceLimit.Equals(other.SpaceLimit) { return false }
+  return true
+}
+
+func (p *TSetSpaceQuotaReq) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSetSpaceQuotaReq(%+v)", *p)
+}
+
+// Attributes:
+//  - UserName
+//  - ThrottleQuota
+type TSetThrottleQuotaReq struct {
+  UserName string `thrift:"userName,1,required" db:"userName" json:"userName"`
+  ThrottleQuota *TThrottleQuota `thrift:"throttleQuota,2,required" db:"throttleQuota" json:"throttleQuota"`
+}
+
+func NewTSetThrottleQuotaReq() *TSetThrottleQuotaReq {
+  return &TSetThrottleQuotaReq{}
+}
+
+
+func (p *TSetThrottleQuotaReq) GetUserName() string {
+  return p.UserName
+}
+var TSetThrottleQuotaReq_ThrottleQuota_DEFAULT *TThrottleQuota
+func (p *TSetThrottleQuotaReq) GetThrottleQuota() *TThrottleQuota {
+  if !p.IsSetThrottleQuota() {
+    return TSetThrottleQuotaReq_ThrottleQuota_DEFAULT
+  }
+return p.ThrottleQuota
+}
+func (p *TSetThrottleQuotaReq) IsSetThrottleQuota() bool {
+  return p.ThrottleQuota != nil
+}
+
+func (p *TSetThrottleQuotaReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+  if _, err := iprot.ReadStructBegin(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
+  }
+
+  var issetUserName bool = false;
+  var issetThrottleQuota bool = false;
+
+  for {
+    _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin(ctx)
+    if err != nil {
+      return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err)
+    }
+    if fieldTypeId == thrift.STOP { break; }
+    switch fieldId {
+    case 1:
+      if fieldTypeId == thrift.STRING {
+        if err := p.ReadField1(ctx, iprot); err != nil {
+          return err
+        }
+        issetUserName = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    case 2:
+      if fieldTypeId == thrift.STRUCT {
+        if err := p.ReadField2(ctx, iprot); err != nil {
+          return err
+        }
+        issetThrottleQuota = true
+      } else {
+        if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+          return err
+        }
+      }
+    default:
+      if err := iprot.Skip(ctx, fieldTypeId); err != nil {
+        return err
+      }
+    }
+    if err := iprot.ReadFieldEnd(ctx); err != nil {
+      return err
+    }
+  }
+  if err := iprot.ReadStructEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
+  }
+  if !issetUserName{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field UserName is not set"));
+  }
+  if !issetThrottleQuota{
+    return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ThrottleQuota is not set"));
+  }
+  return nil
+}
+
+func (p *TSetThrottleQuotaReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  if v, err := iprot.ReadString(ctx); err != nil {
+  return thrift.PrependError("error reading field 1: ", err)
+} else {
+  p.UserName = v
+}
+  return nil
+}
+
+func (p *TSetThrottleQuotaReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+  p.ThrottleQuota = &TThrottleQuota{}
+  if err := p.ThrottleQuota.Read(ctx, iprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.ThrottleQuota), err)
+  }
+  return nil
+}
+
+func (p *TSetThrottleQuotaReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TSetThrottleQuotaReq"); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+  if p != nil {
+    if err := p.writeField1(ctx, oprot); err != nil { return err }
+    if err := p.writeField2(ctx, oprot); err != nil { return err }
+  }
+  if err := oprot.WriteFieldStop(ctx); err != nil {
+    return thrift.PrependError("write field stop error: ", err) }
+  if err := oprot.WriteStructEnd(ctx); err != nil {
+    return thrift.PrependError("write struct stop error: ", err) }
+  return nil
+}
+
+func (p *TSetThrottleQuotaReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "userName", thrift.STRING, 1); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:userName: ", p), err) }
+  if err := oprot.WriteString(ctx, string(p.UserName)); err != nil {
+  return thrift.PrependError(fmt.Sprintf("%T.userName (1) field write error: ", p), err) }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 1:userName: ", p), err) }
+  return err
+}
+
+func (p *TSetThrottleQuotaReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+  if err := oprot.WriteFieldBegin(ctx, "throttleQuota", thrift.STRUCT, 2); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:throttleQuota: ", p), err) }
+  if err := p.ThrottleQuota.Write(ctx, oprot); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.ThrottleQuota), err)
+  }
+  if err := oprot.WriteFieldEnd(ctx); err != nil {
+    return thrift.PrependError(fmt.Sprintf("%T write field end error 2:throttleQuota: ", p), err) }
+  return err
+}
+
+func (p *TSetThrottleQuotaReq) Equals(other *TSetThrottleQuotaReq) bool {
+  if p == other {
+    return true
+  } else if p == nil || other == nil {
+    return false
+  }
+  if p.UserName != other.UserName { return false }
+  if !p.ThrottleQuota.Equals(other.ThrottleQuota) { return false }
+  return true
+}
+
+func (p *TSetThrottleQuotaReq) String() string {
+  if p == nil {
+    return "<nil>"
+  }
+  return fmt.Sprintf("TSetThrottleQuotaReq(%+v)", *p)
+}
+
diff --git a/example/session_example.go b/example/session_example.go
index 574c8f4..fffb251 100644
--- a/example/session_example.go
+++ b/example/session_example.go
@@ -113,6 +113,11 @@ func main() {
 	executeRawDataQuery()
 	executeBatchStatement()
 
+	var startTime int64 = 1
+	var endTime int64 = 10
+	var interval int64 = 2
+	executeAggregationQueryStatement([]string{"root.ln.wf02.wt02.s5"}, []common.TAggregationType{common.TAggregationType_COUNT}, &startTime, &endTime, &interval)
+
 	deleteTimeseries("root.sg1.dev1.status")
 	deleteTimeseries("root.ln.wf02.wt02.s5")
 
@@ -169,7 +174,7 @@ func printDevice1(sds *client.SessionDataSet) {
 		// var description string
 		// var status string
 
-		if err := sds.Scan(&restartCount, &price, &tickCount, &temperature, &description, &status); err != nil {
+		if err := sds.Scan(&restartCount, &tickCount, &price, &temperature, &description, &status); err != nil {
 			log.Fatal(err)
 		}
 
@@ -609,12 +614,26 @@ func executeQueryStatement(sql string) {
 	}
 }
 
+func executeAggregationQueryStatement(paths []string, aggregations []common.TAggregationType,
+	startTime *int64, endTime *int64, interval *int64) {
+	fmt.Printf("====ExecuteAggregationQuery Begin====\n")
+	var timeout int64 = 1000
+	sessionDataSet, err := session.ExecuteAggregationQuery(paths, aggregations, startTime, endTime, interval, &timeout)
+	if err == nil {
+		printDataSet1(sessionDataSet)
+		sessionDataSet.Close()
+	} else {
+		log.Println(err)
+	}
+	fmt.Printf("====ExecuteAggregationQuery End====\n")
+}
+
 func executeRawDataQuery() {
 	session.ExecuteUpdateStatement("insert into root.ln.wf02.wt02(time,s5) values(1,true)")
 	var (
-		paths     []string = []string{"root.ln.wf02.wt02.s5"}
-		startTime int64    = 1
-		endTime   int64    = 200
+		paths           = []string{"root.ln.wf02.wt02.s5"}
+		startTime int64 = 1
+		endTime   int64 = 200
 	)
 	sessionDataSet, err := session.ExecuteRawDataQuery(paths, startTime, endTime)
 	if err == nil {
diff --git a/rpc/client.go b/rpc/client.go
index edf60e0..f7d3410 100644
--- a/rpc/client.go
+++ b/rpc/client.go
@@ -15441,24 +15441,24 @@ func (p *TSDropSchemaTemplateReq) String() string {
 // Attributes:
 //  - SessionId
 //  - DevicePathList
-type TCreateTimeseriesOfSchemaTemplateReq struct {
+type TCreateTimeseriesUsingSchemaTemplateReq struct {
   SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
   DevicePathList []string `thrift:"devicePathList,2,required" db:"devicePathList" json:"devicePathList"`
 }
 
-func NewTCreateTimeseriesOfSchemaTemplateReq() *TCreateTimeseriesOfSchemaTemplateReq {
-  return &TCreateTimeseriesOfSchemaTemplateReq{}
+func NewTCreateTimeseriesUsingSchemaTemplateReq() *TCreateTimeseriesUsingSchemaTemplateReq {
+  return &TCreateTimeseriesUsingSchemaTemplateReq{}
 }
 
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) GetSessionId() int64 {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) GetSessionId() int64 {
   return p.SessionId
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) GetDevicePathList() []string {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) GetDevicePathList() []string {
   return p.DevicePathList
 }
-func (p *TCreateTimeseriesOfSchemaTemplateReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
@@ -15516,7 +15516,7 @@ func (p *TCreateTimeseriesOfSchemaTemplateReq) Read(ctx context.Context, iprot t
   return nil
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
   if v, err := iprot.ReadI64(ctx); err != nil {
   return thrift.PrependError("error reading field 1: ", err)
 } else {
@@ -15525,7 +15525,7 @@ func (p *TCreateTimeseriesOfSchemaTemplateReq)  ReadField1(ctx context.Context,
   return nil
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
   _, size, err := iprot.ReadListBegin(ctx)
   if err != nil {
     return thrift.PrependError("error reading list begin: ", err)
@@ -15547,8 +15547,8 @@ var _elem179 string
   return nil
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "TCreateTimeseriesOfSchemaTemplateReq"); err != nil {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "TCreateTimeseriesUsingSchemaTemplateReq"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
@@ -15561,7 +15561,7 @@ func (p *TCreateTimeseriesOfSchemaTemplateReq) Write(ctx context.Context, oprot
   return nil
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   if err := oprot.WriteFieldBegin(ctx, "sessionId", thrift.I64, 1); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err) }
   if err := oprot.WriteI64(ctx, int64(p.SessionId)); err != nil {
@@ -15571,7 +15571,7 @@ func (p *TCreateTimeseriesOfSchemaTemplateReq) writeField1(ctx context.Context,
   return err
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
   if err := oprot.WriteFieldBegin(ctx, "devicePathList", thrift.LIST, 2); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:devicePathList: ", p), err) }
   if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.DevicePathList)); err != nil {
@@ -15589,7 +15589,7 @@ func (p *TCreateTimeseriesOfSchemaTemplateReq) writeField2(ctx context.Context,
   return err
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) Equals(other *TCreateTimeseriesOfSchemaTemplateReq) bool {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) Equals(other *TCreateTimeseriesUsingSchemaTemplateReq) bool {
   if p == other {
     return true
   } else if p == nil || other == nil {
@@ -15604,11 +15604,11 @@ func (p *TCreateTimeseriesOfSchemaTemplateReq) Equals(other *TCreateTimeseriesOf
   return true
 }
 
-func (p *TCreateTimeseriesOfSchemaTemplateReq) String() string {
+func (p *TCreateTimeseriesUsingSchemaTemplateReq) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("TCreateTimeseriesOfSchemaTemplateReq(%+v)", *p)
+  return fmt.Sprintf("TCreateTimeseriesUsingSchemaTemplateReq(%+v)", *p)
 }
 
 // Attributes:
@@ -16783,7 +16783,7 @@ type IClientRPCService interface {
   DropSchemaTemplate(ctx context.Context, req *TSDropSchemaTemplateReq) (_r *common.TSStatus, _err error)
   // Parameters:
   //  - Req
-  CreateTimeseriesOfSchemaTemplate(ctx context.Context, req *TCreateTimeseriesOfSchemaTemplateReq) (_r *common.TSStatus, _err error)
+  CreateTimeseriesUsingSchemaTemplate(ctx context.Context, req *TCreateTimeseriesUsingSchemaTemplateReq) (_r *common.TSStatus, _err error)
   // Parameters:
   //  - Info
   Handshake(ctx context.Context, info *TSyncIdentityInfo) (_r *common.TSStatus, _err error)
@@ -17633,12 +17633,12 @@ func (p *IClientRPCServiceClient) DropSchemaTemplate(ctx context.Context, req *T
 
 // Parameters:
 //  - Req
-func (p *IClientRPCServiceClient) CreateTimeseriesOfSchemaTemplate(ctx context.Context, req *TCreateTimeseriesOfSchemaTemplateReq) (_r *common.TSStatus, _err error) {
-  var _args342 IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs
+func (p *IClientRPCServiceClient) CreateTimeseriesUsingSchemaTemplate(ctx context.Context, req *TCreateTimeseriesUsingSchemaTemplateReq) (_r *common.TSStatus, _err error) {
+  var _args342 IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs
   _args342.Req = req
-  var _result344 IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult
+  var _result344 IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult
   var _meta343 thrift.ResponseMeta
-  _meta343, _err = p.Client_().Call(ctx, "createTimeseriesOfSchemaTemplate", &_args342, &_result344)
+  _meta343, _err = p.Client_().Call(ctx, "createTimeseriesUsingSchemaTemplate", &_args342, &_result344)
   p.SetLastResponseMeta_(_meta343)
   if _err != nil {
     return
@@ -17791,7 +17791,7 @@ func NewIClientRPCServiceProcessor(handler IClientRPCService) *IClientRPCService
   self360.processorMap["setSchemaTemplate"] = &iClientRPCServiceProcessorSetSchemaTemplate{handler:handler}
   self360.processorMap["unsetSchemaTemplate"] = &iClientRPCServiceProcessorUnsetSchemaTemplate{handler:handler}
   self360.processorMap["dropSchemaTemplate"] = &iClientRPCServiceProcessorDropSchemaTemplate{handler:handler}
-  self360.processorMap["createTimeseriesOfSchemaTemplate"] = &iClientRPCServiceProcessorCreateTimeseriesOfSchemaTemplate{handler:handler}
+  self360.processorMap["createTimeseriesUsingSchemaTemplate"] = &iClientRPCServiceProcessorCreateTimeseriesUsingSchemaTemplate{handler:handler}
   self360.processorMap["handshake"] = &iClientRPCServiceProcessorHandshake{handler:handler}
   self360.processorMap["sendPipeData"] = &iClientRPCServiceProcessorSendPipeData{handler:handler}
   self360.processorMap["sendFile"] = &iClientRPCServiceProcessorSendFile{handler:handler}
@@ -22004,17 +22004,17 @@ func (p *iClientRPCServiceProcessorDropSchemaTemplate) Process(ctx context.Conte
   return true, err
 }
 
-type iClientRPCServiceProcessorCreateTimeseriesOfSchemaTemplate struct {
+type iClientRPCServiceProcessorCreateTimeseriesUsingSchemaTemplate struct {
   handler IClientRPCService
 }
 
-func (p *iClientRPCServiceProcessorCreateTimeseriesOfSchemaTemplate) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
-  args := IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs{}
+func (p *iClientRPCServiceProcessorCreateTimeseriesUsingSchemaTemplate) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
+  args := IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs{}
   var err2 error
   if err2 = args.Read(ctx, iprot); err2 != nil {
     iprot.ReadMessageEnd(ctx)
     x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
-    oprot.WriteMessageBegin(ctx, "createTimeseriesOfSchemaTemplate", thrift.EXCEPTION, seqId)
+    oprot.WriteMessageBegin(ctx, "createTimeseriesUsingSchemaTemplate", thrift.EXCEPTION, seqId)
     x.Write(ctx, oprot)
     oprot.WriteMessageEnd(ctx)
     oprot.Flush(ctx)
@@ -22048,15 +22048,15 @@ func (p *iClientRPCServiceProcessorCreateTimeseriesOfSchemaTemplate) Process(ctx
     }(tickerCtx, cancel)
   }
 
-  result := IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult{}
+  result := IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult{}
   var retval *common.TSStatus
-  if retval, err2 = p.handler.CreateTimeseriesOfSchemaTemplate(ctx, args.Req); err2 != nil {
+  if retval, err2 = p.handler.CreateTimeseriesUsingSchemaTemplate(ctx, args.Req); err2 != nil {
     tickerCancel()
     if err2 == thrift.ErrAbandonRequest {
       return false, thrift.WrapTException(err2)
     }
-    x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createTimeseriesOfSchemaTemplate: " + err2.Error())
-    oprot.WriteMessageBegin(ctx, "createTimeseriesOfSchemaTemplate", thrift.EXCEPTION, seqId)
+    x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createTimeseriesUsingSchemaTemplate: " + err2.Error())
+    oprot.WriteMessageBegin(ctx, "createTimeseriesUsingSchemaTemplate", thrift.EXCEPTION, seqId)
     x.Write(ctx, oprot)
     oprot.WriteMessageEnd(ctx)
     oprot.Flush(ctx)
@@ -22065,7 +22065,7 @@ func (p *iClientRPCServiceProcessorCreateTimeseriesOfSchemaTemplate) Process(ctx
     result.Success = retval
   }
   tickerCancel()
-  if err2 = oprot.WriteMessageBegin(ctx, "createTimeseriesOfSchemaTemplate", thrift.REPLY, seqId); err2 != nil {
+  if err2 = oprot.WriteMessageBegin(ctx, "createTimeseriesUsingSchemaTemplate", thrift.REPLY, seqId); err2 != nil {
     err = thrift.WrapTException(err2)
   }
   if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
@@ -33049,26 +33049,26 @@ func (p *IClientRPCServiceDropSchemaTemplateResult) String() string {
 
 // Attributes:
 //  - Req
-type IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs struct {
-  Req *TCreateTimeseriesOfSchemaTemplateReq `thrift:"req,1" db:"req" json:"req"`
+type IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs struct {
+  Req *TCreateTimeseriesUsingSchemaTemplateReq `thrift:"req,1" db:"req" json:"req"`
 }
 
-func NewIClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs() *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs {
-  return &IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs{}
+func NewIClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs() *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs {
+  return &IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs{}
 }
 
-var IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs_Req_DEFAULT *TCreateTimeseriesOfSchemaTemplateReq
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) GetReq() *TCreateTimeseriesOfSchemaTemplateReq {
+var IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs_Req_DEFAULT *TCreateTimeseriesUsingSchemaTemplateReq
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs) GetReq() *TCreateTimeseriesUsingSchemaTemplateReq {
   if !p.IsSetReq() {
-    return IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs_Req_DEFAULT
+    return IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs_Req_DEFAULT
   }
 return p.Req
 }
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) IsSetReq() bool {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs) IsSetReq() bool {
   return p.Req != nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
@@ -33106,16 +33106,16 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) Read(ctx context
   return nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
-  p.Req = &TCreateTimeseriesOfSchemaTemplateReq{}
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
+  p.Req = &TCreateTimeseriesUsingSchemaTemplateReq{}
   if err := p.Req.Read(ctx, iprot); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
   }
   return nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "createTimeseriesOfSchemaTemplate_args"); err != nil {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "createTimeseriesUsingSchemaTemplate_args"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField1(ctx, oprot); err != nil { return err }
@@ -33127,7 +33127,7 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) Write(ctx contex
   return nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
   if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
   if err := p.Req.Write(ctx, oprot); err != nil {
@@ -33138,35 +33138,35 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) writeField1(ctx
   return err
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs) String() string {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("IClientRPCServiceCreateTimeseriesOfSchemaTemplateArgs(%+v)", *p)
+  return fmt.Sprintf("IClientRPCServiceCreateTimeseriesUsingSchemaTemplateArgs(%+v)", *p)
 }
 
 // Attributes:
 //  - Success
-type IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult struct {
+type IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult struct {
   Success *common.TSStatus `thrift:"success,0" db:"success" json:"success,omitempty"`
 }
 
-func NewIClientRPCServiceCreateTimeseriesOfSchemaTemplateResult() *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult {
-  return &IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult{}
+func NewIClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult() *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult {
+  return &IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult{}
 }
 
-var IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult_Success_DEFAULT *common.TSStatus
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) GetSuccess() *common.TSStatus {
+var IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult_Success_DEFAULT *common.TSStatus
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult) GetSuccess() *common.TSStatus {
   if !p.IsSetSuccess() {
-    return IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult_Success_DEFAULT
+    return IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult_Success_DEFAULT
   }
 return p.Success
 }
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) IsSetSuccess() bool {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult) IsSetSuccess() bool {
   return p.Success != nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
   if _, err := iprot.ReadStructBegin(ctx); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
   }
@@ -33204,7 +33204,7 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) Read(ctx conte
   return nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
   p.Success = &common.TSStatus{}
   if err := p.Success.Read(ctx, iprot); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
@@ -33212,8 +33212,8 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult)  ReadField0(ct
   return nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
-  if err := oprot.WriteStructBegin(ctx, "createTimeseriesOfSchemaTemplate_result"); err != nil {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+  if err := oprot.WriteStructBegin(ctx, "createTimeseriesUsingSchemaTemplate_result"); err != nil {
     return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
   if p != nil {
     if err := p.writeField0(ctx, oprot); err != nil { return err }
@@ -33225,7 +33225,7 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) Write(ctx cont
   return nil
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
   if p.IsSetSuccess() {
     if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
       return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
@@ -33238,11 +33238,11 @@ func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) writeField0(ct
   return err
 }
 
-func (p *IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult) String() string {
+func (p *IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult) String() string {
   if p == nil {
     return "<nil>"
   }
-  return fmt.Sprintf("IClientRPCServiceCreateTimeseriesOfSchemaTemplateResult(%+v)", *p)
+  return fmt.Sprintf("IClientRPCServiceCreateTimeseriesUsingSchemaTemplateResult(%+v)", *p)
 }
 
 // Attributes: