You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ch...@apache.org on 2021/07/08 07:14:10 UTC

[iotdb-client-go] branch main updated: Upgrade thrift to v0.14.1 to match IoTDB v0.12.1 (#22)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new b4f7d3f  Upgrade thrift to v0.14.1 to match IoTDB v0.12.1 (#22)
b4f7d3f is described below

commit b4f7d3f64db79d7074b31de200be843ec2339132
Author: Haonan <hh...@outlook.com>
AuthorDate: Thu Jul 8 15:14:02 2021 +0800

    Upgrade thrift to v0.14.1 to match IoTDB v0.12.1 (#22)
---
 LICENSE-binary    |     2 +-
 Makefile          |     6 +-
 README.md         |     6 +-
 README_ZH.md      |     6 +-
 client/session.go |     5 +-
 go.mod            |     2 +-
 go.sum            |     4 +-
 rpc/rpc.go        | 15556 +++++++++++++++++++++++++++-------------------------
 8 files changed, 8001 insertions(+), 7586 deletions(-)

diff --git a/LICENSE-binary b/LICENSE-binary
index 4c5ac5d..6620f9a 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -215,4 +215,4 @@ following license. See licenses/ for text of these licenses.
 
 Apache Software Foundation License 2.0
 --------------------------------------
-github.com/apache/thrift@v0.13.0
+github.com/apache/thrift@v0.14.1
diff --git a/Makefile b/Makefile
index 2808b27..9109054 100644
--- a/Makefile
+++ b/Makefile
@@ -24,12 +24,12 @@ generate:
 	fi
 
 	@if ! command -v thrift &> /dev/null; then \
-		echo "thrift could not be found, please install thrift 0.13.0"; \
+		echo "thrift could not be found, please install thrift 0.14.1"; \
 		exit 1; \
 	fi
 
-	@if [[ "`thrift --version|grep -o '0.13.[0-9]'`" == "" ]]; then \
-		echo "please install thrift 0.13.0"; \
+	@if [[ "`thrift --version|grep -o '0.14.[0-9]'`" == "" ]]; then \
+		echo "please install thrift 0.14.1"; \
 		exit 1; \
 	fi
 
diff --git a/README.md b/README.md
index 891386c..7fa62f9 100644
--- a/README.md
+++ b/README.md
@@ -72,10 +72,10 @@ go run session_example.go
 Without go mod
 
 ```sh
-# get thrift 0.13.0
+# get thrift 0.14.1
 go get github.com/apache/thrift
 cd $GOPATH/src/github.com/apache/thrift
-git checkout 0.13.0
+git checkout 0.14.1
 
 mkdir -p $GOPATH/src/iotdb-client-go-example/session_example
 cd $GOPATH/src/iotdb-client-go-example/session_example
@@ -96,4 +96,4 @@ go run session_example.go
 * golang >= 1.13
 * make >= 3.0
 * curl >= 7.1.1
-* thrift 0.13.x
+* thrift 0.14.1
diff --git a/README_ZH.md b/README_ZH.md
index c415b78..4f0dedb 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -54,10 +54,10 @@ go run session_example.go
 不使用go mod,采用GOPATH
 
 ```sh
-# get thrift 0.13.0
+# get thrift 0.14.1
 go get github.com/apache/thrift
 cd $GOPATH/src/github.com/apache/thrift
-git checkout 0.13.0
+git checkout 0.14.1
 
 mkdir -p $GOPATH/src/iotdb-client-go-example/session_example
 cd $GOPATH/src/iotdb-client-go-example/session_example
@@ -77,4 +77,4 @@ go run session_example.go
 * golang >= 1.13
 * make   >= 3.0
 * curl   >= 7.1.1
-* thrift 0.13.x
+* thrift 0.14.1
diff --git a/client/session.go b/client/session.go
index e345f57..9c89662 100644
--- a/client/session.go
+++ b/client/session.go
@@ -68,7 +68,10 @@ func (s *Session) Open(enableRPCCompression bool, connectionTimeoutInMs int) err
 
 	var protocolFactory thrift.TProtocolFactory
 	var err error
-	s.trans, err = thrift.NewTSocketTimeout(net.JoinHostPort(s.config.Host, s.config.Port), time.Duration(connectionTimeoutInMs))
+
+	s.trans, err = thrift.NewTSocketConf(net.JoinHostPort(s.config.Host, s.config.Port), &thrift.TConfiguration{
+         ConnectTimeout: time.Duration(connectionTimeoutInMs), // Use 0 for no timeout
+	})
 	if err != nil {
 		return err
 	}
diff --git a/go.mod b/go.mod
index a87f66a..9f433aa 100644
--- a/go.mod
+++ b/go.mod
@@ -3,6 +3,6 @@ module github.com/apache/iotdb-client-go
 go 1.13
 
 require (
-	github.com/apache/thrift v0.13.0
+	github.com/apache/thrift v0.14.1
 	github.com/stretchr/testify v1.7.0
 )
diff --git a/go.sum b/go.sum
index 8639507..765cd50 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-github.com/apache/thrift v0.13.0 h1:5hryIiq9gtn+MiLVn0wP37kb/uTeRZgN08WoCsAhIhI=
-github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
+github.com/apache/thrift v0.14.1 h1:Yh8v0hpCj63p5edXOLaqTJW0IJ1p+eMW6+YSOqw1d6s=
+github.com/apache/thrift v0.14.1/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ=
 github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
diff --git a/rpc/rpc.go b/rpc/rpc.go
index 3c9fbca..e001f86 100644
--- a/rpc/rpc.go
+++ b/rpc/rpc.go
@@ -1,27 +1,25 @@
-// Autogenerated by Thrift Compiler (0.13.0)
-// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+// Code generated by Thrift Compiler (0.14.1). DO NOT EDIT.
 
 package rpc
 
-import (
+import(
 	"bytes"
 	"context"
 	"database/sql/driver"
 	"errors"
 	"fmt"
+	"time"
 	"github.com/apache/thrift/lib/go/thrift"
-	"reflect"
 )
 
 // (needed to ensure safety because of naive import list construction.)
 var _ = thrift.ZERO
 var _ = fmt.Printf
 var _ = context.Background
-var _ = reflect.DeepEqual
+var _ = time.Now
 var _ = bytes.Equal
 
 type TSProtocolVersion int64
-
 const (
 	TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V1 TSProtocolVersion = 0
 	TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V2 TSProtocolVersion = 1
@@ -30,28 +28,23 @@ const (
 
 func (p TSProtocolVersion) String() string {
 	switch p {
-	case TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V1:
-		return "IOTDB_SERVICE_PROTOCOL_V1"
-	case TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V2:
-		return "IOTDB_SERVICE_PROTOCOL_V2"
-	case TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3:
-		return "IOTDB_SERVICE_PROTOCOL_V3"
+	case TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V1: return "IOTDB_SERVICE_PROTOCOL_V1"
+	case TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V2: return "IOTDB_SERVICE_PROTOCOL_V2"
+	case TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3: return "IOTDB_SERVICE_PROTOCOL_V3"
 	}
 	return "<UNSET>"
 }
 
 func TSProtocolVersionFromString(s string) (TSProtocolVersion, error) {
 	switch s {
-	case "IOTDB_SERVICE_PROTOCOL_V1":
-		return TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V1, nil
-	case "IOTDB_SERVICE_PROTOCOL_V2":
-		return TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V2, nil
-	case "IOTDB_SERVICE_PROTOCOL_V3":
-		return TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, nil
+	case "IOTDB_SERVICE_PROTOCOL_V1": return TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V1, nil
+	case "IOTDB_SERVICE_PROTOCOL_V2": return TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V2, nil
+	case "IOTDB_SERVICE_PROTOCOL_V3": return TSProtocolVersion_IOTDB_SERVICE_PROTOCOL_V3, nil
 	}
 	return TSProtocolVersion(0), fmt.Errorf("not a valid TSProtocolVersion string")
 }
 
+
 func TSProtocolVersionPtr(v TSProtocolVersion) *TSProtocolVersion { return &v }
 
 func (p TSProtocolVersion) MarshalText() ([]byte, error) {
@@ -60,7 +53,7 @@ func (p TSProtocolVersion) MarshalText() ([]byte, error) {
 
 func (p *TSProtocolVersion) UnmarshalText(text []byte) error {
 	q, err := TSProtocolVersionFromString(string(text))
-	if err != nil {
+	if (err != nil) {
 		return err
 	}
 	*p = q
@@ -76,25 +69,25 @@ func (p *TSProtocolVersion) Scan(value interface{}) error {
 	return nil
 }
 
-func (p *TSProtocolVersion) Value() (driver.Value, error) {
+func (p * TSProtocolVersion) 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"`
+	IP string `thrift:"ip,1,required" db:"ip" json:"ip"`
+	Port int32 `thrift:"port,2,required" db:"port" json:"port"`
 }
 
 func NewEndPoint() *EndPoint {
 	return &EndPoint{}
 }
 
+
 func (p *EndPoint) GetIP() string {
 	return p.IP
 }
@@ -102,68 +95,66 @@ func (p *EndPoint) GetIP() string {
 func (p *EndPoint) GetPort() int32 {
 	return p.Port
 }
-func (p *EndPoint) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *EndPoint) 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 issetIP bool = false;
+	var issetPort bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetIP = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetPort = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !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"))
+	if !issetPort{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Port is not set"));
 	}
 	return nil
 }
 
-func (p *EndPoint) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *EndPoint)  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
@@ -171,8 +162,8 @@ func (p *EndPoint) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *EndPoint) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != 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)
 	} else {
 		p.Port = v
@@ -180,53 +171,51 @@ func (p *EndPoint) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *EndPoint) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("EndPoint"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *EndPoint) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "EndPoint"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *EndPoint) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("ip", thrift.STRING, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:ip: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.IP)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.ip (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:ip: ", p), err)
-	}
+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) }
+	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 *EndPoint) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("port", thrift.I32, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:port: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.Port)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.port (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:port: ", p), 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) }
+	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 *EndPoint) Equals(other *EndPoint) 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 *EndPoint) String() string {
 	if p == nil {
 		return "<nil>"
@@ -240,37 +229,33 @@ func (p *EndPoint) String() string {
 //  - 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"`
+	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{}
 }
 
+
 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 *EndPoint
-
 func (p *TSStatus) GetRedirectNode() *EndPoint {
 	if !p.IsSetRedirectNode() {
 		return TSStatus_RedirectNode_DEFAULT
@@ -289,83 +274,81 @@ func (p *TSStatus) IsSetRedirectNode() bool {
 	return p.RedirectNode != nil
 }
 
-func (p *TSStatus) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != 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
+	var issetCode bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetCode = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !issetCode{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Code is not set"));
 	}
 	return nil
 }
 
-func (p *TSStatus) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != 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
@@ -373,8 +356,8 @@ func (p *TSStatus) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSStatus) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != 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
@@ -382,127 +365,128 @@ func (p *TSStatus) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSStatus) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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++ {
+	p.SubStatus =  tSlice
+	for i := 0; i < size; i ++ {
 		_elem0 := &TSStatus{}
-		if err := _elem0.Read(iprot); err != nil {
+		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(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSStatus) ReadField4(iprot thrift.TProtocol) error {
+func (p *TSStatus)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
 	p.RedirectNode = &EndPoint{}
-	if err := p.RedirectNode.Read(iprot); err != nil {
+	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(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSStatus"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("code", thrift.I32, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:code: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.Code)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.code (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:code: ", p), err)
-	}
+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(oprot thrift.TProtocol) (err error) {
+func (p *TSStatus) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetMessage() {
-		if err := oprot.WriteFieldBegin("message", thrift.STRING, 2); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:message: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.Message)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.message (2) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 2:message: ", p), err)
-		}
+		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(oprot thrift.TProtocol) (err error) {
+func (p *TSStatus) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSubStatus() {
-		if err := oprot.WriteFieldBegin("subStatus", thrift.LIST, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:subStatus: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.STRUCT, len(p.SubStatus)); err != nil {
+		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(oprot); err != nil {
+			if err := v.Write(ctx, oprot); err != nil {
 				return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err)
 			}
 		}
-		if err := oprot.WriteListEnd(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:subStatus: ", p), 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(oprot thrift.TProtocol) (err error) {
+func (p *TSStatus) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetRedirectNode() {
-		if err := oprot.WriteFieldBegin("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(oprot); err != nil {
+		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(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:redirectNode: ", p), 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>"
@@ -515,8 +499,8 @@ func (p *TSStatus) String() string {
 //  - 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"`
+	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"`
 }
 
@@ -524,6 +508,7 @@ func NewTSQueryDataSet() *TSQueryDataSet {
 	return &TSQueryDataSet{}
 }
 
+
 func (p *TSQueryDataSet) GetTime() []byte {
 	return p.Time
 }
@@ -535,83 +520,81 @@ func (p *TSQueryDataSet) GetValueList() [][]byte {
 func (p *TSQueryDataSet) GetBitmapList() [][]byte {
 	return p.BitmapList
 }
-func (p *TSQueryDataSet) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+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 issetTime bool = false
-	var issetValueList bool = false
-	var issetBitmapList bool = false
+	var issetTime bool = false;
+	var issetValueList bool = false;
+	var issetBitmapList bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetTime = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetValueList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetBitmapList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !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 !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"))
+	if !issetBitmapList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field BitmapList is not set"));
 	}
 	return nil
 }
 
-func (p *TSQueryDataSet) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBinary(); 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.Time = v
@@ -619,129 +602,131 @@ func (p *TSQueryDataSet) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSQueryDataSet) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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 _elem1 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	p.ValueList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem2 []byte
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem1 = v
+			_elem2 = v
 		}
-		p.ValueList = append(p.ValueList, _elem1)
+		p.ValueList = append(p.ValueList, _elem2)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSQueryDataSet) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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 _elem2 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	p.BitmapList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem3 []byte
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem2 = v
+			_elem3 = v
 		}
-		p.BitmapList = append(p.BitmapList, _elem2)
+		p.BitmapList = append(p.BitmapList, _elem3)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSQueryDataSet) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSQueryDataSet"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSQueryDataSet) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("time", thrift.STRING, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:time: ", p), err)
-	}
-	if err := oprot.WriteBinary(p.Time); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.time (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:time: ", 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(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("valueList", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:valueList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.ValueList)); err != nil {
+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(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:valueList: ", 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 *TSQueryDataSet) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("bitmapList", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:bitmapList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.BitmapList)); err != nil {
+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(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:bitmapList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:bitmapList: ", p), err) }
 	return err
 }
 
+func (p *TSQueryDataSet) Equals(other *TSQueryDataSet) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		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 {
+		_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
+}
+
 func (p *TSQueryDataSet) String() string {
 	if p == nil {
 		return "<nil>"
@@ -753,7 +738,7 @@ func (p *TSQueryDataSet) String() string {
 //  - TimeList
 //  - ValueList
 type TSQueryNonAlignDataSet struct {
-	TimeList  [][]byte `thrift:"timeList,1,required" db:"timeList" json:"timeList"`
+	TimeList [][]byte `thrift:"timeList,1,required" db:"timeList" json:"timeList"`
 	ValueList [][]byte `thrift:"valueList,2,required" db:"valueList" json:"valueList"`
 }
 
@@ -761,6 +746,7 @@ func NewTSQueryNonAlignDataSet() *TSQueryNonAlignDataSet {
 	return &TSQueryNonAlignDataSet{}
 }
 
+
 func (p *TSQueryNonAlignDataSet) GetTimeList() [][]byte {
 	return p.TimeList
 }
@@ -768,173 +754,177 @@ func (p *TSQueryNonAlignDataSet) GetTimeList() [][]byte {
 func (p *TSQueryNonAlignDataSet) GetValueList() [][]byte {
 	return p.ValueList
 }
-func (p *TSQueryNonAlignDataSet) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+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
+	var issetTimeList bool = false;
+	var issetValueList bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimeList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetValueList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !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"))
+	if !issetValueList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValueList is not set"));
 	}
 	return nil
 }
 
-func (p *TSQueryNonAlignDataSet) ReadField1(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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 _elem3 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	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 {
-			_elem3 = v
+			_elem6 = v
 		}
-		p.TimeList = append(p.TimeList, _elem3)
+		p.TimeList = append(p.TimeList, _elem6)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSQueryNonAlignDataSet) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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)
 	}
 	tSlice := make([][]byte, 0, size)
-	p.ValueList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem4 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	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 {
-			_elem4 = v
+			_elem7 = v
 		}
-		p.ValueList = append(p.ValueList, _elem4)
+		p.ValueList = append(p.ValueList, _elem7)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSQueryNonAlignDataSet) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSQueryNonAlignDataSet"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), 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(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSQueryNonAlignDataSet) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timeList", thrift.LIST, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:timeList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.TimeList)); err != nil {
+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(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:timeList: ", 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(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("valueList", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:valueList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.ValueList)); err != nil {
+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(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:valueList: ", 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 {
+	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.ValueList) != len(other.ValueList) { return false }
+	for i, _tgt := range p.ValueList {
+		_src9 := other.ValueList[i]
+		if bytes.Compare(_tgt, _src9) != 0 { return false }
+	}
+	return true
+}
+
 func (p *TSQueryNonAlignDataSet) String() string {
 	if p == nil {
 		return "<nil>"
@@ -953,15 +943,15 @@ func (p *TSQueryNonAlignDataSet) String() string {
 //  - NonAlignQueryDataSet
 //  - ColumnNameIndexMap
 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"`
+	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"`
+	ColumnNameIndexMap map[string]int32 `thrift:"columnNameIndexMap,9" db:"columnNameIndexMap" json:"columnNameIndexMap,omitempty"`
 }
 
 func NewTSExecuteStatementResp() *TSExecuteStatementResp {
@@ -969,71 +959,57 @@ func NewTSExecuteStatementResp() *TSExecuteStatementResp {
 }
 
 var TSExecuteStatementResp_Status_DEFAULT *TSStatus
-
 func (p *TSExecuteStatementResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSExecuteStatementResp_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
 }
-
 var TSExecuteStatementResp_NonAlignQueryDataSet_DEFAULT *TSQueryNonAlignDataSet
-
 func (p *TSExecuteStatementResp) GetNonAlignQueryDataSet() *TSQueryNonAlignDataSet {
 	if !p.IsSetNonAlignQueryDataSet() {
 		return TSExecuteStatementResp_NonAlignQueryDataSet_DEFAULT
 	}
 	return p.NonAlignQueryDataSet
 }
-
 var TSExecuteStatementResp_ColumnNameIndexMap_DEFAULT map[string]int32
 
 func (p *TSExecuteStatementResp) GetColumnNameIndexMap() map[string]int32 {
@@ -1075,141 +1051,139 @@ func (p *TSExecuteStatementResp) IsSetColumnNameIndexMap() bool {
 	return p.ColumnNameIndexMap != nil
 }
 
-func (p *TSExecuteStatementResp) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != 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
+	var issetStatus bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatus = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.BOOL {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 6:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField6(iprot); err != nil {
+				if err := p.ReadField6(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 7:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField7(iprot); err != nil {
+				if err := p.ReadField7(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 8:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField8(iprot); err != nil {
+				if err := p.ReadField8(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 9:
 			if fieldTypeId == thrift.MAP {
-				if err := p.ReadField9(iprot); err != nil {
+				if err := p.ReadField9(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !issetStatus{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
 	}
 	return nil
 }
 
-func (p *TSExecuteStatementResp) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSExecuteStatementResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Status = &TSStatus{}
-	if err := p.Status.Read(iprot); err != nil {
+	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(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+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
@@ -1217,30 +1191,30 @@ func (p *TSExecuteStatementResp) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementResp) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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 _elem5 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Columns =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem10 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem5 = v
+			_elem10 = v
 		}
-		p.Columns = append(p.Columns, _elem5)
+		p.Columns = append(p.Columns, _elem10)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSExecuteStatementResp) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != 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
@@ -1248,8 +1222,8 @@ func (p *TSExecuteStatementResp) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementResp) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBool(); err != 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
@@ -1257,274 +1231,273 @@ func (p *TSExecuteStatementResp) ReadField5(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementResp) ReadField6(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+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 _elem6 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.DataTypeList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem11 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem6 = v
+			_elem11 = v
 		}
-		p.DataTypeList = append(p.DataTypeList, _elem6)
+		p.DataTypeList = append(p.DataTypeList, _elem11)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSExecuteStatementResp) ReadField7(iprot thrift.TProtocol) error {
+func (p *TSExecuteStatementResp)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
 	p.QueryDataSet = &TSQueryDataSet{}
-	if err := p.QueryDataSet.Read(iprot); err != nil {
+	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 *TSExecuteStatementResp) ReadField8(iprot thrift.TProtocol) error {
+func (p *TSExecuteStatementResp)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
 	p.NonAlignQueryDataSet = &TSQueryNonAlignDataSet{}
-	if err := p.NonAlignQueryDataSet.Read(iprot); err != nil {
+	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(iprot thrift.TProtocol) error {
-	_, _, size, err := iprot.ReadMapBegin()
+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 _key7 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.ColumnNameIndexMap =  tMap
+	for i := 0; i < size; i ++ {
+		var _key12 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_key7 = v
+			_key12 = v
 		}
-		var _val8 int32
-		if v, err := iprot.ReadI32(); err != nil {
+		var _val13 int32
+		if v, err := iprot.ReadI32(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_val8 = v
+			_val13 = v
 		}
-		p.ColumnNameIndexMap[_key7] = _val8
+		p.ColumnNameIndexMap[_key12] = _val13
 	}
-	if err := iprot.ReadMapEnd(); err != nil {
+	if err := iprot.ReadMapEnd(ctx); err != nil {
 		return thrift.PrependError("error reading map end: ", err)
 	}
 	return nil
 }
 
-func (p *TSExecuteStatementResp) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSExecuteStatementResp"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField6(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField7(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField8(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField9(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSExecuteStatementResp) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("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(oprot); err != 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 *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(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), 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 *TSExecuteStatementResp) writeField2(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetQueryId() {
-		if err := oprot.WriteFieldBegin("queryId", thrift.I64, 2); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:queryId: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.QueryId)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.queryId (2) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 2:queryId: ", p), err)
-		}
+		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) }
 	}
 	return err
 }
 
-func (p *TSExecuteStatementResp) writeField3(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetColumns() {
-		if err := oprot.WriteFieldBegin("columns", thrift.LIST, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columns: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.STRING, len(p.Columns)); err != nil {
+		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(string(v)); 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(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columns: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columns: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSExecuteStatementResp) writeField4(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetOperationType() {
-		if err := oprot.WriteFieldBegin("operationType", thrift.STRING, 4); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:operationType: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.OperationType)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.operationType (4) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:operationType: ", p), err)
-		}
+		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(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetIgnoreTimeStamp() {
-		if err := oprot.WriteFieldBegin("ignoreTimeStamp", thrift.BOOL, 5); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:ignoreTimeStamp: ", p), err)
-		}
-		if err := oprot.WriteBool(bool(*p.IgnoreTimeStamp)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.ignoreTimeStamp (5) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 5:ignoreTimeStamp: ", p), err)
-		}
+		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(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetDataTypeList() {
-		if err := oprot.WriteFieldBegin("dataTypeList", thrift.LIST, 6); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:dataTypeList: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.STRING, len(p.DataTypeList)); err != nil {
+		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(string(v)); 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(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:dataTypeList: ", p), 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(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetQueryDataSet() {
-		if err := oprot.WriteFieldBegin("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(oprot); err != nil {
+		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(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 7:queryDataSet: ", p), 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(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetNonAlignQueryDataSet() {
-		if err := oprot.WriteFieldBegin("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(oprot); err != nil {
+		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(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 8:nonAlignQueryDataSet: ", p), 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(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementResp) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetColumnNameIndexMap() {
-		if err := oprot.WriteFieldBegin("columnNameIndexMap", thrift.MAP, 9); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:columnNameIndexMap: ", p), err)
-		}
-		if err := oprot.WriteMapBegin(thrift.STRING, thrift.I32, len(p.ColumnNameIndexMap)); err != nil {
+		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(string(k)); err != nil {
-				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-			}
-			if err := oprot.WriteI32(int32(v)); err != nil {
-				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-			}
+			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(); err != nil {
+		if err := oprot.WriteMapEnd(ctx); err != nil {
 			return thrift.PrependError("error writing map end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 9:columnNameIndexMap: ", p), 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) Equals(other *TSExecuteStatementResp) 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 {
+		_src14 := other.Columns[i]
+		if _tgt != _src14 { 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 {
+			return false
+		}
+		if (*p.IgnoreTimeStamp) != (*other.IgnoreTimeStamp) { return false }
+	}
+	if len(p.DataTypeList) != len(other.DataTypeList) { return false }
+	for i, _tgt := range p.DataTypeList {
+		_src15 := other.DataTypeList[i]
+		if _tgt != _src15 { 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 {
+		_src16 := other.ColumnNameIndexMap[k]
+		if _tgt != _src16 { return false }
+	}
+	return true
+}
+
 func (p *TSExecuteStatementResp) String() string {
 	if p == nil {
 		return "<nil>"
@@ -1538,10 +1511,10 @@ func (p *TSExecuteStatementResp) String() string {
 //  - SessionId
 //  - Configuration
 type TSOpenSessionResp struct {
-	Status                *TSStatus         `thrift:"status,1,required" db:"status" json:"status"`
+	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"`
+	SessionId *int64 `thrift:"sessionId,3" db:"sessionId" json:"sessionId,omitempty"`
+	Configuration map[string]string `thrift:"configuration,4" db:"configuration" json:"configuration,omitempty"`
 }
 
 func NewTSOpenSessionResp() *TSOpenSessionResp {
@@ -1551,7 +1524,6 @@ func NewTSOpenSessionResp() *TSOpenSessionResp {
 }
 
 var TSOpenSessionResp_Status_DEFAULT *TSStatus
-
 func (p *TSOpenSessionResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSOpenSessionResp_Status_DEFAULT
@@ -1562,16 +1534,13 @@ func (p *TSOpenSessionResp) GetStatus() *TSStatus {
 func (p *TSOpenSessionResp) GetServerProtocolVersion() TSProtocolVersion {
 	return p.ServerProtocolVersion
 }
-
 var TSOpenSessionResp_SessionId_DEFAULT int64
-
 func (p *TSOpenSessionResp) GetSessionId() int64 {
 	if !p.IsSetSessionId() {
 		return TSOpenSessionResp_SessionId_DEFAULT
 	}
 	return *p.SessionId
 }
-
 var TSOpenSessionResp_Configuration_DEFAULT map[string]string
 
 func (p *TSOpenSessionResp) GetConfiguration() map[string]string {
@@ -1589,96 +1558,94 @@ func (p *TSOpenSessionResp) IsSetConfiguration() bool {
 	return p.Configuration != nil
 }
 
-func (p *TSOpenSessionResp) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+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
+	var issetStatus bool = false;
+	var issetServerProtocolVersion bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatus = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetServerProtocolVersion = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.MAP {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !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"))
+	if !issetServerProtocolVersion{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ServerProtocolVersion is not set"));
 	}
 	return nil
 }
 
-func (p *TSOpenSessionResp) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSOpenSessionResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Status = &TSStatus{}
-	if err := p.Status.Read(iprot); err != nil {
+	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 *TSOpenSessionResp) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); 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 {
 		temp := TSProtocolVersion(v)
@@ -1687,8 +1654,8 @@ func (p *TSOpenSessionResp) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSOpenSessionResp) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+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 {
 		p.SessionId = &v
@@ -1696,128 +1663,127 @@ func (p *TSOpenSessionResp) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSOpenSessionResp) ReadField4(iprot thrift.TProtocol) error {
-	_, _, size, err := iprot.ReadMapBegin()
+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]string, size)
-	p.Configuration = tMap
-	for i := 0; i < size; i++ {
-		var _key9 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Configuration =  tMap
+	for i := 0; i < size; i ++ {
+		var _key17 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_key9 = v
+			_key17 = v
 		}
-		var _val10 string
-		if v, err := iprot.ReadString(); err != nil {
+		var _val18 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_val10 = v
+			_val18 = v
 		}
-		p.Configuration[_key9] = _val10
+		p.Configuration[_key17] = _val18
 	}
-	if err := iprot.ReadMapEnd(); err != nil {
+	if err := iprot.ReadMapEnd(ctx); err != nil {
 		return thrift.PrependError("error reading map end: ", err)
 	}
 	return nil
 }
 
-func (p *TSOpenSessionResp) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSOpenSessionResp"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSOpenSessionResp) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("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(oprot); err != 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)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), 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 *TSOpenSessionResp) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("serverProtocolVersion", thrift.I32, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:serverProtocolVersion: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.ServerProtocolVersion)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.serverProtocolVersion (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:serverProtocolVersion: ", 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(oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSessionId() {
-		if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:sessionId: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.SessionId)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.sessionId (3) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:sessionId: ", p), err)
-		}
+		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 3:sessionId: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSOpenSessionResp) writeField4(oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetConfiguration() {
-		if err := oprot.WriteFieldBegin("configuration", thrift.MAP, 4); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:configuration: ", p), err)
-		}
-		if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Configuration)); err != nil {
+		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 k, v := range p.Configuration {
-			if err := oprot.WriteString(string(k)); err != nil {
-				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-			}
-			if err := oprot.WriteString(string(v)); err != nil {
-				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-			}
+			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(); err != nil {
+		if err := oprot.WriteMapEnd(ctx); err != nil {
 			return thrift.PrependError("error writing map end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:configuration: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:configuration: ", p), err) }
 	}
 	return err
 }
 
+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.ServerProtocolVersion != other.ServerProtocolVersion { return false }
+	if p.SessionId != other.SessionId {
+		if p.SessionId == nil || other.SessionId == nil {
+			return false
+		}
+		if (*p.SessionId) != (*other.SessionId) { return false }
+	}
+	if len(p.Configuration) != len(other.Configuration) { return false }
+	for k, _tgt := range p.Configuration {
+		_src19 := other.Configuration[k]
+		if _tgt != _src19 { return false }
+	}
+	return true
+}
+
 func (p *TSOpenSessionResp) String() string {
 	if p == nil {
 		return "<nil>"
@@ -1833,10 +1799,10 @@ func (p *TSOpenSessionResp) String() string {
 //  - 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"`
+	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 {
@@ -1845,6 +1811,7 @@ func NewTSOpenSessionReq() *TSOpenSessionReq {
 	}
 }
 
+
 func (p *TSOpenSessionReq) GetClientProtocol() TSProtocolVersion {
 	return p.ClientProtocol
 }
@@ -1852,25 +1819,20 @@ func (p *TSOpenSessionReq) GetClientProtocol() TSProtocolVersion {
 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
 }
-
 var TSOpenSessionReq_Configuration_DEFAULT map[string]string
 
 func (p *TSOpenSessionReq) GetConfiguration() map[string]string {
@@ -1888,98 +1850,96 @@ func (p *TSOpenSessionReq) IsSetConfiguration() bool {
 	return p.Configuration != nil
 }
 
-func (p *TSOpenSessionReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+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 issetClientProtocol bool = false
-	var issetZoneId bool = false
+	var issetClientProtocol bool = false;
+	var issetZoneId bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetClientProtocol = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetZoneId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.MAP {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !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"))
+	if !issetZoneId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ZoneId is not set"));
 	}
 	return nil
 }
 
-func (p *TSOpenSessionReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != 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)
@@ -1988,8 +1948,8 @@ func (p *TSOpenSessionReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSOpenSessionReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); 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 {
 		p.ZoneId = v
@@ -1997,8 +1957,8 @@ func (p *TSOpenSessionReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSOpenSessionReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); 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.Username = &v
@@ -2006,8 +1966,8 @@ func (p *TSOpenSessionReq) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSOpenSessionReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != 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
@@ -2015,146 +1975,145 @@ func (p *TSOpenSessionReq) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSOpenSessionReq) ReadField5(iprot thrift.TProtocol) error {
-	_, _, size, err := iprot.ReadMapBegin()
+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 _key11 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Configuration =  tMap
+	for i := 0; i < size; i ++ {
+		var _key20 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_key11 = v
+			_key20 = v
 		}
-		var _val12 string
-		if v, err := iprot.ReadString(); err != nil {
+		var _val21 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_val12 = v
+			_val21 = v
 		}
-		p.Configuration[_key11] = _val12
+		p.Configuration[_key20] = _val21
 	}
-	if err := iprot.ReadMapEnd(); err != nil {
+	if err := iprot.ReadMapEnd(ctx); err != nil {
 		return thrift.PrependError("error reading map end: ", err)
 	}
 	return nil
 }
 
-func (p *TSOpenSessionReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSOpenSessionReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSOpenSessionReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("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(int32(p.ClientProtocol)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.client_protocol (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:client_protocol: ", p), err)
-	}
+		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(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("zoneId", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:zoneId: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.ZoneId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.zoneId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:zoneId: ", 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:zoneId: ", p), err) }
 	return err
 }
 
-func (p *TSOpenSessionReq) writeField3(oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetUsername() {
-		if err := oprot.WriteFieldBegin("username", thrift.STRING, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:username: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.Username)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.username (3) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:username: ", p), err)
-		}
+		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(oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetPassword() {
-		if err := oprot.WriteFieldBegin("password", thrift.STRING, 4); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:password: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.Password)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.password (4) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:password: ", p), err)
-		}
+		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(oprot thrift.TProtocol) (err error) {
+func (p *TSOpenSessionReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetConfiguration() {
-		if err := oprot.WriteFieldBegin("configuration", thrift.MAP, 5); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:configuration: ", p), err)
-		}
-		if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Configuration)); err != nil {
+		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(string(k)); err != nil {
-				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-			}
-			if err := oprot.WriteString(string(v)); err != nil {
-				return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-			}
+			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(); err != nil {
+		if err := oprot.WriteMapEnd(ctx); err != nil {
 			return thrift.PrependError("error writing map end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 5:configuration: ", p), 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 {
+		_src22 := other.Configuration[k]
+		if _tgt != _src22 { return false }
+	}
+	return true
+}
+
 func (p *TSOpenSessionReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -2172,56 +2131,55 @@ func NewTSCloseSessionReq() *TSCloseSessionReq {
 	return &TSCloseSessionReq{}
 }
 
+
 func (p *TSCloseSessionReq) GetSessionId() int64 {
 	return p.SessionId
 }
-func (p *TSCloseSessionReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+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
+	var issetSessionId bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
 	return nil
 }
 
-func (p *TSCloseSessionReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCloseSessionReq)  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.SessionId = v
@@ -2229,37 +2187,39 @@ func (p *TSCloseSessionReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSCloseSessionReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSCloseSessionReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSCloseSessionReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSCloseSessionReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSCloseSessionReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSCloseSessionReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
+func (p *TSCloseSessionReq) Equals(other *TSCloseSessionReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	return true
+}
+
 func (p *TSCloseSessionReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -2275,18 +2235,19 @@ func (p *TSCloseSessionReq) String() string {
 //  - Timeout
 //  - EnableRedirectQuery
 type TSExecuteStatementReq struct {
-	SessionId           int64  `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	Statement           string `thrift:"statement,2,required" db:"statement" json:"statement"`
-	StatementId         int64  `thrift:"statementId,3,required" db:"statementId" json:"statementId"`
-	FetchSize           *int32 `thrift:"fetchSize,4" db:"fetchSize" json:"fetchSize,omitempty"`
-	Timeout             *int64 `thrift:"timeout,5" db:"timeout" json:"timeout,omitempty"`
-	EnableRedirectQuery *bool  `thrift:"enableRedirectQuery,6" db:"enableRedirectQuery" json:"enableRedirectQuery,omitempty"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	Statement string `thrift:"statement,2,required" db:"statement" json:"statement"`
+	StatementId int64 `thrift:"statementId,3,required" db:"statementId" json:"statementId"`
+	FetchSize *int32 `thrift:"fetchSize,4" db:"fetchSize" json:"fetchSize,omitempty"`
+	Timeout *int64 `thrift:"timeout,5" db:"timeout" json:"timeout,omitempty"`
+	EnableRedirectQuery *bool `thrift:"enableRedirectQuery,6" db:"enableRedirectQuery" json:"enableRedirectQuery,omitempty"`
 }
 
 func NewTSExecuteStatementReq() *TSExecuteStatementReq {
 	return &TSExecuteStatementReq{}
 }
 
+
 func (p *TSExecuteStatementReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -2298,27 +2259,21 @@ func (p *TSExecuteStatementReq) GetStatement() string {
 func (p *TSExecuteStatementReq) GetStatementId() int64 {
 	return p.StatementId
 }
-
 var TSExecuteStatementReq_FetchSize_DEFAULT int32
-
 func (p *TSExecuteStatementReq) GetFetchSize() int32 {
 	if !p.IsSetFetchSize() {
 		return TSExecuteStatementReq_FetchSize_DEFAULT
 	}
 	return *p.FetchSize
 }
-
 var TSExecuteStatementReq_Timeout_DEFAULT int64
-
 func (p *TSExecuteStatementReq) GetTimeout() int64 {
 	if !p.IsSetTimeout() {
 		return TSExecuteStatementReq_Timeout_DEFAULT
 	}
 	return *p.Timeout
 }
-
 var TSExecuteStatementReq_EnableRedirectQuery_DEFAULT bool
-
 func (p *TSExecuteStatementReq) GetEnableRedirectQuery() bool {
 	if !p.IsSetEnableRedirectQuery() {
 		return TSExecuteStatementReq_EnableRedirectQuery_DEFAULT
@@ -2337,113 +2292,111 @@ func (p *TSExecuteStatementReq) IsSetEnableRedirectQuery() bool {
 	return p.EnableRedirectQuery != nil
 }
 
-func (p *TSExecuteStatementReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSExecuteStatementReq) 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
-	var issetStatement bool = false
-	var issetStatementId bool = false
+	var issetSessionId bool = false;
+	var issetStatement bool = false;
+	var issetStatementId bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatement = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatementId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 6:
 			if fieldTypeId == thrift.BOOL {
-				if err := p.ReadField6(iprot); err != nil {
+				if err := p.ReadField6(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetStatement {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Statement is not set"))
+	if !issetStatement{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Statement is not set"));
 	}
-	if !issetStatementId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StatementId is not set"))
+	if !issetStatementId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StatementId is not set"));
 	}
 	return nil
 }
 
-func (p *TSExecuteStatementReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSExecuteStatementReq)  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.SessionId = v
@@ -2451,8 +2404,8 @@ func (p *TSExecuteStatementReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSExecuteStatementReq)  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.Statement = v
@@ -2460,8 +2413,8 @@ func (p *TSExecuteStatementReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSExecuteStatementReq)  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.StatementId = v
@@ -2469,8 +2422,8 @@ func (p *TSExecuteStatementReq) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSExecuteStatementReq)  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.FetchSize = &v
@@ -2478,8 +2431,8 @@ func (p *TSExecuteStatementReq) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSExecuteStatementReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI64(ctx); err != nil {
 		return thrift.PrependError("error reading field 5: ", err)
 	} else {
 		p.Timeout = &v
@@ -2487,8 +2440,8 @@ func (p *TSExecuteStatementReq) ReadField5(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementReq) ReadField6(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBool(); err != nil {
+func (p *TSExecuteStatementReq)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBool(ctx); err != nil {
 		return thrift.PrependError("error reading field 6: ", err)
 	} else {
 		p.EnableRedirectQuery = &v
@@ -2496,121 +2449,118 @@ func (p *TSExecuteStatementReq) ReadField6(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteStatementReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSExecuteStatementReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSExecuteStatementReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSExecuteStatementReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField6(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSExecuteStatementReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 *TSExecuteStatementReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSExecuteStatementReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("statement", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:statement: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.Statement)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.statement (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:statement: ", p), err)
-	}
+func (p *TSExecuteStatementReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "statement", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:statement: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.Statement)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.statement (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:statement: ", p), err) }
 	return err
 }
 
-func (p *TSExecuteStatementReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("statementId", thrift.I64, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:statementId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.StatementId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.statementId (3) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:statementId: ", p), err)
-	}
+func (p *TSExecuteStatementReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "statementId", thrift.I64, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:statementId: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.StatementId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.statementId (3) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:statementId: ", p), err) }
 	return err
 }
 
-func (p *TSExecuteStatementReq) writeField4(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetFetchSize() {
-		if err := oprot.WriteFieldBegin("fetchSize", thrift.I32, 4); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:fetchSize: ", p), err)
-		}
-		if err := oprot.WriteI32(int32(*p.FetchSize)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.fetchSize (4) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:fetchSize: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "fetchSize", thrift.I32, 4); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:fetchSize: ", p), err) }
+		if err := oprot.WriteI32(ctx, int32(*p.FetchSize)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.fetchSize (4) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:fetchSize: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSExecuteStatementReq) writeField5(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetTimeout() {
-		if err := oprot.WriteFieldBegin("timeout", thrift.I64, 5); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timeout: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.Timeout)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.timeout (5) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timeout: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "timeout", thrift.I64, 5); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timeout: ", p), err) }
+		if err := oprot.WriteI64(ctx, int64(*p.Timeout)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.timeout (5) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timeout: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSExecuteStatementReq) writeField6(oprot thrift.TProtocol) (err error) {
+func (p *TSExecuteStatementReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetEnableRedirectQuery() {
-		if err := oprot.WriteFieldBegin("enableRedirectQuery", thrift.BOOL, 6); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:enableRedirectQuery: ", p), err)
+		if err := oprot.WriteFieldBegin(ctx, "enableRedirectQuery", thrift.BOOL, 6); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:enableRedirectQuery: ", p), err) }
+		if err := oprot.WriteBool(ctx, bool(*p.EnableRedirectQuery)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.enableRedirectQuery (6) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:enableRedirectQuery: ", p), err) }
+	}
+	return err
+}
+
+func (p *TSExecuteStatementReq) Equals(other *TSExecuteStatementReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.Statement != other.Statement { return false }
+	if p.StatementId != other.StatementId { return false }
+	if p.FetchSize != other.FetchSize {
+		if p.FetchSize == nil || other.FetchSize == nil {
+			return false
 		}
-		if err := oprot.WriteBool(bool(*p.EnableRedirectQuery)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.enableRedirectQuery (6) field write error: ", p), err)
+		if (*p.FetchSize) != (*other.FetchSize) { return false }
+	}
+	if p.Timeout != other.Timeout {
+		if p.Timeout == nil || other.Timeout == nil {
+			return false
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:enableRedirectQuery: ", p), err)
+		if (*p.Timeout) != (*other.Timeout) { return false }
+	}
+	if p.EnableRedirectQuery != other.EnableRedirectQuery {
+		if p.EnableRedirectQuery == nil || other.EnableRedirectQuery == nil {
+			return false
 		}
+		if (*p.EnableRedirectQuery) != (*other.EnableRedirectQuery) { return false }
 	}
-	return err
+	return true
 }
 
 func (p *TSExecuteStatementReq) String() string {
@@ -2624,7 +2574,7 @@ func (p *TSExecuteStatementReq) String() string {
 //  - SessionId
 //  - Statements
 type TSExecuteBatchStatementReq struct {
-	SessionId  int64    `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
 	Statements []string `thrift:"statements,2,required" db:"statements" json:"statements"`
 }
 
@@ -2632,6 +2582,7 @@ func NewTSExecuteBatchStatementReq() *TSExecuteBatchStatementReq {
 	return &TSExecuteBatchStatementReq{}
 }
 
+
 func (p *TSExecuteBatchStatementReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -2639,68 +2590,66 @@ func (p *TSExecuteBatchStatementReq) GetSessionId() int64 {
 func (p *TSExecuteBatchStatementReq) GetStatements() []string {
 	return p.Statements
 }
-func (p *TSExecuteBatchStatementReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSExecuteBatchStatementReq) 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
-	var issetStatements bool = false
+	var issetSessionId bool = false;
+	var issetStatements bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatements = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetStatements {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Statements is not set"))
+	if !issetStatements{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Statements is not set"));
 	}
 	return nil
 }
 
-func (p *TSExecuteBatchStatementReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSExecuteBatchStatementReq)  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.SessionId = v
@@ -2708,83 +2657,85 @@ func (p *TSExecuteBatchStatementReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSExecuteBatchStatementReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSExecuteBatchStatementReq)  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.Statements = tSlice
-	for i := 0; i < size; i++ {
-		var _elem13 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Statements =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem23 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem13 = v
+			_elem23 = v
 		}
-		p.Statements = append(p.Statements, _elem13)
+		p.Statements = append(p.Statements, _elem23)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSExecuteBatchStatementReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSExecuteBatchStatementReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSExecuteBatchStatementReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSExecuteBatchStatementReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSExecuteBatchStatementReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSExecuteBatchStatementReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSExecuteBatchStatementReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("statements", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:statements: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Statements)); err != nil {
+func (p *TSExecuteBatchStatementReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "statements", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:statements: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Statements)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Statements {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:statements: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:statements: ", p), err) }
 	return err
 }
 
+func (p *TSExecuteBatchStatementReq) Equals(other *TSExecuteBatchStatementReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if len(p.Statements) != len(other.Statements) { return false }
+	for i, _tgt := range p.Statements {
+		_src24 := other.Statements[i]
+		if _tgt != _src24 { return false }
+	}
+	return true
+}
+
 func (p *TSExecuteBatchStatementReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -2797,13 +2748,14 @@ func (p *TSExecuteBatchStatementReq) String() string {
 //  - QueryId
 type TSGetOperationStatusReq struct {
 	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	QueryId   int64 `thrift:"queryId,2,required" db:"queryId" json:"queryId"`
+	QueryId int64 `thrift:"queryId,2,required" db:"queryId" json:"queryId"`
 }
 
 func NewTSGetOperationStatusReq() *TSGetOperationStatusReq {
 	return &TSGetOperationStatusReq{}
 }
 
+
 func (p *TSGetOperationStatusReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -2811,68 +2763,66 @@ func (p *TSGetOperationStatusReq) GetSessionId() int64 {
 func (p *TSGetOperationStatusReq) GetQueryId() int64 {
 	return p.QueryId
 }
-func (p *TSGetOperationStatusReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSGetOperationStatusReq) 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
-	var issetQueryId bool = false
+	var issetSessionId bool = false;
+	var issetQueryId bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetQueryId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetQueryId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field QueryId is not set"))
+	if !issetQueryId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field QueryId is not set"));
 	}
 	return nil
 }
 
-func (p *TSGetOperationStatusReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSGetOperationStatusReq)  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.SessionId = v
@@ -2880,8 +2830,8 @@ func (p *TSGetOperationStatusReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSGetOperationStatusReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSGetOperationStatusReq)  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
@@ -2889,53 +2839,51 @@ func (p *TSGetOperationStatusReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSGetOperationStatusReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSGetOperationStatusReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSGetOperationStatusReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSGetOperationStatusReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSGetOperationStatusReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSGetOperationStatusReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSGetOperationStatusReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("queryId", thrift.I64, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:queryId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.QueryId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.queryId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:queryId: ", p), err)
-	}
+func (p *TSGetOperationStatusReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	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) }
 	return err
 }
 
+func (p *TSGetOperationStatusReq) Equals(other *TSGetOperationStatusReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.QueryId != other.QueryId { return false }
+	return true
+}
+
 func (p *TSGetOperationStatusReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -2948,13 +2896,14 @@ func (p *TSGetOperationStatusReq) String() string {
 //  - QueryId
 type TSCancelOperationReq struct {
 	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	QueryId   int64 `thrift:"queryId,2,required" db:"queryId" json:"queryId"`
+	QueryId int64 `thrift:"queryId,2,required" db:"queryId" json:"queryId"`
 }
 
 func NewTSCancelOperationReq() *TSCancelOperationReq {
 	return &TSCancelOperationReq{}
 }
 
+
 func (p *TSCancelOperationReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -2962,68 +2911,66 @@ func (p *TSCancelOperationReq) GetSessionId() int64 {
 func (p *TSCancelOperationReq) GetQueryId() int64 {
 	return p.QueryId
 }
-func (p *TSCancelOperationReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSCancelOperationReq) 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
-	var issetQueryId bool = false
+	var issetSessionId bool = false;
+	var issetQueryId bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetQueryId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetQueryId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field QueryId is not set"))
+	if !issetQueryId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field QueryId is not set"));
 	}
 	return nil
 }
 
-func (p *TSCancelOperationReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCancelOperationReq)  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.SessionId = v
@@ -3031,8 +2978,8 @@ func (p *TSCancelOperationReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSCancelOperationReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCancelOperationReq)  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
@@ -3040,53 +2987,51 @@ func (p *TSCancelOperationReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSCancelOperationReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSCancelOperationReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSCancelOperationReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSCancelOperationReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSCancelOperationReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSCancelOperationReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSCancelOperationReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("queryId", thrift.I64, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:queryId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.QueryId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.queryId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:queryId: ", p), err)
-	}
+func (p *TSCancelOperationReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	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) }
 	return err
 }
 
+func (p *TSCancelOperationReq) Equals(other *TSCancelOperationReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.QueryId != other.QueryId { return false }
+	return true
+}
+
 func (p *TSCancelOperationReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -3099,8 +3044,8 @@ func (p *TSCancelOperationReq) String() string {
 //  - QueryId
 //  - StatementId
 type TSCloseOperationReq struct {
-	SessionId   int64  `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	QueryId     *int64 `thrift:"queryId,2" db:"queryId" json:"queryId,omitempty"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	QueryId *int64 `thrift:"queryId,2" db:"queryId" json:"queryId,omitempty"`
 	StatementId *int64 `thrift:"statementId,3" db:"statementId" json:"statementId,omitempty"`
 }
 
@@ -3108,21 +3053,18 @@ func NewTSCloseOperationReq() *TSCloseOperationReq {
 	return &TSCloseOperationReq{}
 }
 
+
 func (p *TSCloseOperationReq) GetSessionId() int64 {
 	return p.SessionId
 }
-
 var TSCloseOperationReq_QueryId_DEFAULT int64
-
 func (p *TSCloseOperationReq) GetQueryId() int64 {
 	if !p.IsSetQueryId() {
 		return TSCloseOperationReq_QueryId_DEFAULT
 	}
 	return *p.QueryId
 }
-
 var TSCloseOperationReq_StatementId_DEFAULT int64
-
 func (p *TSCloseOperationReq) GetStatementId() int64 {
 	if !p.IsSetStatementId() {
 		return TSCloseOperationReq_StatementId_DEFAULT
@@ -3137,73 +3079,71 @@ func (p *TSCloseOperationReq) IsSetStatementId() bool {
 	return p.StatementId != nil
 }
 
-func (p *TSCloseOperationReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSCloseOperationReq) 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
+	var issetSessionId bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
 	return nil
 }
 
-func (p *TSCloseOperationReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCloseOperationReq)  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.SessionId = v
@@ -3211,8 +3151,8 @@ func (p *TSCloseOperationReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSCloseOperationReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCloseOperationReq)  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
@@ -3220,8 +3160,8 @@ func (p *TSCloseOperationReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSCloseOperationReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCloseOperationReq)  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.StatementId = &v
@@ -3229,71 +3169,75 @@ func (p *TSCloseOperationReq) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSCloseOperationReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSCloseOperationReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSCloseOperationReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSCloseOperationReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSCloseOperationReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSCloseOperationReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSCloseOperationReq) writeField2(oprot thrift.TProtocol) (err error) {
+func (p *TSCloseOperationReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetQueryId() {
-		if err := oprot.WriteFieldBegin("queryId", thrift.I64, 2); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:queryId: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.QueryId)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.queryId (2) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 2:queryId: ", p), err)
-		}
+		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) }
 	}
 	return err
 }
 
-func (p *TSCloseOperationReq) writeField3(oprot thrift.TProtocol) (err error) {
+func (p *TSCloseOperationReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetStatementId() {
-		if err := oprot.WriteFieldBegin("statementId", thrift.I64, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:statementId: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.StatementId)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.statementId (3) field write error: ", p), err)
+		if err := oprot.WriteFieldBegin(ctx, "statementId", thrift.I64, 3); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:statementId: ", p), err) }
+		if err := oprot.WriteI64(ctx, int64(*p.StatementId)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.statementId (3) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:statementId: ", p), err) }
+	}
+	return err
+}
+
+func (p *TSCloseOperationReq) Equals(other *TSCloseOperationReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.QueryId != other.QueryId {
+		if p.QueryId == nil || other.QueryId == nil {
+			return false
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:statementId: ", p), err)
+		if (*p.QueryId) != (*other.QueryId) { return false }
+	}
+	if p.StatementId != other.StatementId {
+		if p.StatementId == nil || other.StatementId == nil {
+			return false
 		}
+		if (*p.StatementId) != (*other.StatementId) { return false }
 	}
-	return err
+	return true
 }
 
 func (p *TSCloseOperationReq) String() string {
@@ -3311,18 +3255,19 @@ func (p *TSCloseOperationReq) String() string {
 //  - IsAlign
 //  - Timeout
 type TSFetchResultsReq struct {
-	SessionId int64  `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
 	Statement string `thrift:"statement,2,required" db:"statement" json:"statement"`
-	FetchSize int32  `thrift:"fetchSize,3,required" db:"fetchSize" json:"fetchSize"`
-	QueryId   int64  `thrift:"queryId,4,required" db:"queryId" json:"queryId"`
-	IsAlign   bool   `thrift:"isAlign,5,required" db:"isAlign" json:"isAlign"`
-	Timeout   *int64 `thrift:"timeout,6" db:"timeout" json:"timeout,omitempty"`
+	FetchSize int32 `thrift:"fetchSize,3,required" db:"fetchSize" json:"fetchSize"`
+	QueryId int64 `thrift:"queryId,4,required" db:"queryId" json:"queryId"`
+	IsAlign bool `thrift:"isAlign,5,required" db:"isAlign" json:"isAlign"`
+	Timeout *int64 `thrift:"timeout,6" db:"timeout" json:"timeout,omitempty"`
 }
 
 func NewTSFetchResultsReq() *TSFetchResultsReq {
 	return &TSFetchResultsReq{}
 }
 
+
 func (p *TSFetchResultsReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -3342,9 +3287,7 @@ func (p *TSFetchResultsReq) GetQueryId() int64 {
 func (p *TSFetchResultsReq) GetIsAlign() bool {
 	return p.IsAlign
 }
-
 var TSFetchResultsReq_Timeout_DEFAULT int64
-
 func (p *TSFetchResultsReq) GetTimeout() int64 {
 	if !p.IsSetTimeout() {
 		return TSFetchResultsReq_Timeout_DEFAULT
@@ -3355,123 +3298,121 @@ func (p *TSFetchResultsReq) IsSetTimeout() bool {
 	return p.Timeout != nil
 }
 
-func (p *TSFetchResultsReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSFetchResultsReq) 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
-	var issetStatement bool = false
-	var issetFetchSize bool = false
-	var issetQueryId bool = false
-	var issetIsAlign bool = false
+	var issetSessionId bool = false;
+	var issetStatement bool = false;
+	var issetFetchSize bool = false;
+	var issetQueryId bool = false;
+	var issetIsAlign bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatement = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetFetchSize = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetQueryId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.BOOL {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetIsAlign = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 6:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField6(iprot); err != nil {
+				if err := p.ReadField6(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetStatement {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Statement is not set"))
+	if !issetStatement{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Statement is not set"));
 	}
-	if !issetFetchSize {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FetchSize is not set"))
+	if !issetFetchSize{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field FetchSize is not set"));
 	}
-	if !issetQueryId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field QueryId is not set"))
+	if !issetQueryId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field QueryId is not set"));
 	}
-	if !issetIsAlign {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAlign is not set"))
+	if !issetIsAlign{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAlign is not set"));
 	}
 	return nil
 }
 
-func (p *TSFetchResultsReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSFetchResultsReq)  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.SessionId = v
@@ -3479,8 +3420,8 @@ func (p *TSFetchResultsReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSFetchResultsReq)  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.Statement = v
@@ -3488,8 +3429,8 @@ func (p *TSFetchResultsReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSFetchResultsReq)  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.FetchSize = v
@@ -3497,8 +3438,8 @@ func (p *TSFetchResultsReq) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSFetchResultsReq)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI64(ctx); err != nil {
 		return thrift.PrependError("error reading field 4: ", err)
 	} else {
 		p.QueryId = v
@@ -3506,8 +3447,8 @@ func (p *TSFetchResultsReq) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBool(); err != nil {
+func (p *TSFetchResultsReq)  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.IsAlign = v
@@ -3515,8 +3456,8 @@ func (p *TSFetchResultsReq) ReadField5(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsReq) ReadField6(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSFetchResultsReq)  ReadField6(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI64(ctx); err != nil {
 		return thrift.PrependError("error reading field 6: ", err)
 	} else {
 		p.Timeout = &v
@@ -3524,117 +3465,104 @@ func (p *TSFetchResultsReq) ReadField6(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSFetchResultsReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSFetchResultsReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSFetchResultsReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField6(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return 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 *TSFetchResultsReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
+	return err
 }
 
-func (p *TSFetchResultsReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSFetchResultsReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "statement", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:statement: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.Statement)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.statement (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:statement: ", p), err) }
 	return err
 }
 
-func (p *TSFetchResultsReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("statement", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:statement: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.Statement)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.statement (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:statement: ", p), err)
-	}
+func (p *TSFetchResultsReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "fetchSize", thrift.I32, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:fetchSize: ", p), err) }
+	if err := oprot.WriteI32(ctx, int32(p.FetchSize)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.fetchSize (3) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:fetchSize: ", p), err) }
 	return err
 }
 
-func (p *TSFetchResultsReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("fetchSize", thrift.I32, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:fetchSize: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.FetchSize)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.fetchSize (3) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:fetchSize: ", p), err)
-	}
+func (p *TSFetchResultsReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "queryId", thrift.I64, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:queryId: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.QueryId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.queryId (4) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:queryId: ", p), err) }
 	return err
 }
 
-func (p *TSFetchResultsReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("queryId", thrift.I64, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:queryId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.QueryId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.queryId (4) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:queryId: ", p), err)
-	}
+func (p *TSFetchResultsReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "isAlign", thrift.BOOL, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:isAlign: ", p), err) }
+	if err := oprot.WriteBool(ctx, bool(p.IsAlign)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.isAlign (5) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:isAlign: ", p), err) }
 	return err
 }
 
-func (p *TSFetchResultsReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("isAlign", thrift.BOOL, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:isAlign: ", p), err)
-	}
-	if err := oprot.WriteBool(bool(p.IsAlign)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.isAlign (5) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:isAlign: ", p), err)
+func (p *TSFetchResultsReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if p.IsSetTimeout() {
+		if err := oprot.WriteFieldBegin(ctx, "timeout", thrift.I64, 6); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:timeout: ", p), err) }
+		if err := oprot.WriteI64(ctx, int64(*p.Timeout)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.timeout (6) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:timeout: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSFetchResultsReq) writeField6(oprot thrift.TProtocol) (err error) {
-	if p.IsSetTimeout() {
-		if err := oprot.WriteFieldBegin("timeout", thrift.I64, 6); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:timeout: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.Timeout)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.timeout (6) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:timeout: ", p), err)
+func (p *TSFetchResultsReq) Equals(other *TSFetchResultsReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.Statement != other.Statement { return false }
+	if p.FetchSize != other.FetchSize { return false }
+	if p.QueryId != other.QueryId { return false }
+	if p.IsAlign != other.IsAlign { return false }
+	if p.Timeout != other.Timeout {
+		if p.Timeout == nil || other.Timeout == nil {
+			return false
 		}
+		if (*p.Timeout) != (*other.Timeout) { return false }
 	}
-	return err
+	return true
 }
 
 func (p *TSFetchResultsReq) String() string {
@@ -3651,10 +3579,10 @@ func (p *TSFetchResultsReq) String() string {
 //  - QueryDataSet
 //  - NonAlignQueryDataSet
 type TSFetchResultsResp struct {
-	Status               *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"`
+	Status *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"`
 }
 
@@ -3663,7 +3591,6 @@ func NewTSFetchResultsResp() *TSFetchResultsResp {
 }
 
 var TSFetchResultsResp_Status_DEFAULT *TSStatus
-
 func (p *TSFetchResultsResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSFetchResultsResp_Status_DEFAULT
@@ -3678,18 +3605,14 @@ func (p *TSFetchResultsResp) GetHasResultSet() bool {
 func (p *TSFetchResultsResp) GetIsAlign() bool {
 	return p.IsAlign
 }
-
 var TSFetchResultsResp_QueryDataSet_DEFAULT *TSQueryDataSet
-
 func (p *TSFetchResultsResp) GetQueryDataSet() *TSQueryDataSet {
 	if !p.IsSetQueryDataSet() {
 		return TSFetchResultsResp_QueryDataSet_DEFAULT
 	}
 	return p.QueryDataSet
 }
-
 var TSFetchResultsResp_NonAlignQueryDataSet_DEFAULT *TSQueryNonAlignDataSet
-
 func (p *TSFetchResultsResp) GetNonAlignQueryDataSet() *TSQueryNonAlignDataSet {
 	if !p.IsSetNonAlignQueryDataSet() {
 		return TSFetchResultsResp_NonAlignQueryDataSet_DEFAULT
@@ -3708,111 +3631,109 @@ func (p *TSFetchResultsResp) IsSetNonAlignQueryDataSet() bool {
 	return p.NonAlignQueryDataSet != nil
 }
 
-func (p *TSFetchResultsResp) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != 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)
 	}
 
-	var issetStatus bool = false
-	var issetHasResultSet bool = false
-	var issetIsAlign bool = false
+	var issetStatus bool = false;
+	var issetHasResultSet bool = false;
+	var issetIsAlign bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatus = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.BOOL {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetHasResultSet = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.BOOL {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetIsAlign = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !issetStatus{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
 	}
-	if !issetHasResultSet {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field HasResultSet is not set"))
+	if !issetHasResultSet{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field HasResultSet is not set"));
 	}
-	if !issetIsAlign {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAlign is not set"))
+	if !issetIsAlign{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field IsAlign is not set"));
 	}
 	return nil
 }
 
-func (p *TSFetchResultsResp) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSFetchResultsResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Status = &TSStatus{}
-	if err := p.Status.Read(iprot); err != nil {
+	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 *TSFetchResultsResp) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBool(); err != nil {
+func (p *TSFetchResultsResp)  ReadField2(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBool(ctx); err != nil {
 		return thrift.PrependError("error reading field 2: ", err)
 	} else {
 		p.HasResultSet = v
@@ -3820,8 +3741,8 @@ func (p *TSFetchResultsResp) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsResp) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBool(); err != nil {
+func (p *TSFetchResultsResp)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBool(ctx); err != nil {
 		return thrift.PrependError("error reading field 3: ", err)
 	} else {
 		p.IsAlign = v
@@ -3829,121 +3750,110 @@ func (p *TSFetchResultsResp) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchResultsResp) ReadField4(iprot thrift.TProtocol) error {
+func (p *TSFetchResultsResp)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
 	p.QueryDataSet = &TSQueryDataSet{}
-	if err := p.QueryDataSet.Read(iprot); err != nil {
+	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 *TSFetchResultsResp) ReadField5(iprot thrift.TProtocol) error {
+func (p *TSFetchResultsResp)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
 	p.NonAlignQueryDataSet = &TSQueryNonAlignDataSet{}
-	if err := p.NonAlignQueryDataSet.Read(iprot); err != nil {
+	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 *TSFetchResultsResp) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSFetchResultsResp"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSFetchResultsResp) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("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(oprot); err != nil {
+func (p *TSFetchResultsResp) 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(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), 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 *TSFetchResultsResp) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("hasResultSet", thrift.BOOL, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:hasResultSet: ", p), err)
-	}
-	if err := oprot.WriteBool(bool(p.HasResultSet)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.hasResultSet (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:hasResultSet: ", p), err)
-	}
+func (p *TSFetchResultsResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "hasResultSet", thrift.BOOL, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:hasResultSet: ", p), err) }
+	if err := oprot.WriteBool(ctx, bool(p.HasResultSet)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.hasResultSet (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:hasResultSet: ", p), err) }
 	return err
 }
 
-func (p *TSFetchResultsResp) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("isAlign", thrift.BOOL, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:isAlign: ", p), err)
-	}
-	if err := oprot.WriteBool(bool(p.IsAlign)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.isAlign (3) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:isAlign: ", p), err)
-	}
+func (p *TSFetchResultsResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "isAlign", thrift.BOOL, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:isAlign: ", p), err) }
+	if err := oprot.WriteBool(ctx, bool(p.IsAlign)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.isAlign (3) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:isAlign: ", p), err) }
 	return err
 }
 
-func (p *TSFetchResultsResp) writeField4(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchResultsResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetQueryDataSet() {
-		if err := oprot.WriteFieldBegin("queryDataSet", thrift.STRUCT, 4); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:queryDataSet: ", p), err)
-		}
-		if err := p.QueryDataSet.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "queryDataSet", thrift.STRUCT, 4); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4: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(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:queryDataSet: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:queryDataSet: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSFetchResultsResp) writeField5(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchResultsResp) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetNonAlignQueryDataSet() {
-		if err := oprot.WriteFieldBegin("nonAlignQueryDataSet", thrift.STRUCT, 5); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:nonAlignQueryDataSet: ", p), err)
-		}
-		if err := p.NonAlignQueryDataSet.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "nonAlignQueryDataSet", thrift.STRUCT, 5); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 5: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(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 5:nonAlignQueryDataSet: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 5:nonAlignQueryDataSet: ", p), err) }
 	}
 	return err
 }
 
+func (p *TSFetchResultsResp) Equals(other *TSFetchResultsResp) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if !p.Status.Equals(other.Status) { return false }
+	if p.HasResultSet != other.HasResultSet { return false }
+	if p.IsAlign != other.IsAlign { return false }
+	if !p.QueryDataSet.Equals(other.QueryDataSet) { return false }
+	if !p.NonAlignQueryDataSet.Equals(other.NonAlignQueryDataSet) { return false }
+	return true
+}
+
 func (p *TSFetchResultsResp) String() string {
 	if p == nil {
 		return "<nil>"
@@ -3957,10 +3867,10 @@ func (p *TSFetchResultsResp) String() string {
 //  - ColumnsList
 //  - DataType
 type TSFetchMetadataResp struct {
-	Status         *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"`
+	Status *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"`
 }
 
 func NewTSFetchMetadataResp() *TSFetchMetadataResp {
@@ -3968,31 +3878,25 @@ func NewTSFetchMetadataResp() *TSFetchMetadataResp {
 }
 
 var TSFetchMetadataResp_Status_DEFAULT *TSStatus
-
 func (p *TSFetchMetadataResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSFetchMetadataResp_Status_DEFAULT
 	}
 	return p.Status
 }
-
 var TSFetchMetadataResp_MetadataInJson_DEFAULT string
-
 func (p *TSFetchMetadataResp) GetMetadataInJson() string {
 	if !p.IsSetMetadataInJson() {
 		return TSFetchMetadataResp_MetadataInJson_DEFAULT
 	}
 	return *p.MetadataInJson
 }
-
 var TSFetchMetadataResp_ColumnsList_DEFAULT []string
 
 func (p *TSFetchMetadataResp) GetColumnsList() []string {
 	return p.ColumnsList
 }
-
 var TSFetchMetadataResp_DataType_DEFAULT string
-
 func (p *TSFetchMetadataResp) GetDataType() string {
 	if !p.IsSetDataType() {
 		return TSFetchMetadataResp_DataType_DEFAULT
@@ -4015,91 +3919,89 @@ func (p *TSFetchMetadataResp) IsSetDataType() bool {
 	return p.DataType != nil
 }
 
-func (p *TSFetchMetadataResp) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSFetchMetadataResp) 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 issetStatus bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatus = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !issetStatus{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
 	}
 	return nil
 }
 
-func (p *TSFetchMetadataResp) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSFetchMetadataResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Status = &TSStatus{}
-	if err := p.Status.Read(iprot); err != nil {
+	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 *TSFetchMetadataResp) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSFetchMetadataResp)  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.MetadataInJson = &v
@@ -4107,30 +4009,30 @@ func (p *TSFetchMetadataResp) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchMetadataResp) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSFetchMetadataResp)  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.ColumnsList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem14 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.ColumnsList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem25 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem14 = v
+			_elem25 = v
 		}
-		p.ColumnsList = append(p.ColumnsList, _elem14)
+		p.ColumnsList = append(p.ColumnsList, _elem25)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSFetchMetadataResp) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSFetchMetadataResp)  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.DataType = &v
@@ -4138,97 +4040,102 @@ func (p *TSFetchMetadataResp) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchMetadataResp) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSFetchMetadataResp"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSFetchMetadataResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSFetchMetadataResp"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSFetchMetadataResp) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("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(oprot); err != nil {
+func (p *TSFetchMetadataResp) 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(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), 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 *TSFetchMetadataResp) writeField2(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchMetadataResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetMetadataInJson() {
-		if err := oprot.WriteFieldBegin("metadataInJson", thrift.STRING, 2); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:metadataInJson: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.MetadataInJson)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.metadataInJson (2) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 2:metadataInJson: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "metadataInJson", thrift.STRING, 2); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:metadataInJson: ", p), err) }
+		if err := oprot.WriteString(ctx, string(*p.MetadataInJson)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.metadataInJson (2) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 2:metadataInJson: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSFetchMetadataResp) writeField3(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchMetadataResp) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetColumnsList() {
-		if err := oprot.WriteFieldBegin("columnsList", thrift.LIST, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columnsList: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.STRING, len(p.ColumnsList)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "columnsList", thrift.LIST, 3); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columnsList: ", p), err) }
+		if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ColumnsList)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range p.ColumnsList {
-			if err := oprot.WriteString(string(v)); 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(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columnsList: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columnsList: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSFetchMetadataResp) writeField4(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchMetadataResp) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetDataType() {
-		if err := oprot.WriteFieldBegin("dataType", thrift.STRING, 4); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:dataType: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.DataType)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.dataType (4) field write error: ", p), err)
+		if err := oprot.WriteFieldBegin(ctx, "dataType", thrift.STRING, 4); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:dataType: ", p), err) }
+		if err := oprot.WriteString(ctx, string(*p.DataType)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.dataType (4) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:dataType: ", p), err) }
+	}
+	return err
+}
+
+func (p *TSFetchMetadataResp) Equals(other *TSFetchMetadataResp) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if !p.Status.Equals(other.Status) { return false }
+	if p.MetadataInJson != other.MetadataInJson {
+		if p.MetadataInJson == nil || other.MetadataInJson == nil {
+			return false
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:dataType: ", p), err)
+		if (*p.MetadataInJson) != (*other.MetadataInJson) { return false }
+	}
+	if len(p.ColumnsList) != len(other.ColumnsList) { return false }
+	for i, _tgt := range p.ColumnsList {
+		_src26 := other.ColumnsList[i]
+		if _tgt != _src26 { return false }
+	}
+	if p.DataType != other.DataType {
+		if p.DataType == nil || other.DataType == nil {
+			return false
 		}
+		if (*p.DataType) != (*other.DataType) { return false }
 	}
-	return err
+	return true
 }
 
 func (p *TSFetchMetadataResp) String() string {
@@ -4243,8 +4150,8 @@ func (p *TSFetchMetadataResp) String() string {
 //  - Type
 //  - ColumnPath
 type TSFetchMetadataReq struct {
-	SessionId  int64   `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	Type       string  `thrift:"type,2,required" db:"type" json:"type"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	Type string `thrift:"type,2,required" db:"type" json:"type"`
 	ColumnPath *string `thrift:"columnPath,3" db:"columnPath" json:"columnPath,omitempty"`
 }
 
@@ -4252,6 +4159,7 @@ func NewTSFetchMetadataReq() *TSFetchMetadataReq {
 	return &TSFetchMetadataReq{}
 }
 
+
 func (p *TSFetchMetadataReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -4259,9 +4167,7 @@ func (p *TSFetchMetadataReq) GetSessionId() int64 {
 func (p *TSFetchMetadataReq) GetType() string {
 	return p.Type
 }
-
 var TSFetchMetadataReq_ColumnPath_DEFAULT string
-
 func (p *TSFetchMetadataReq) GetColumnPath() string {
 	if !p.IsSetColumnPath() {
 		return TSFetchMetadataReq_ColumnPath_DEFAULT
@@ -4272,78 +4178,76 @@ func (p *TSFetchMetadataReq) IsSetColumnPath() bool {
 	return p.ColumnPath != nil
 }
 
-func (p *TSFetchMetadataReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSFetchMetadataReq) 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
-	var issetType bool = false
+	var issetSessionId bool = false;
+	var issetType bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetType = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetType {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set"))
+	if !issetType{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Type is not set"));
 	}
 	return nil
 }
 
-func (p *TSFetchMetadataReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSFetchMetadataReq)  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.SessionId = v
@@ -4351,8 +4255,8 @@ func (p *TSFetchMetadataReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchMetadataReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSFetchMetadataReq)  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.Type = v
@@ -4360,8 +4264,8 @@ func (p *TSFetchMetadataReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchMetadataReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSFetchMetadataReq)  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.ColumnPath = &v
@@ -4369,71 +4273,70 @@ func (p *TSFetchMetadataReq) ReadField3(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSFetchMetadataReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSFetchMetadataReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSFetchMetadataReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSFetchMetadataReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSFetchMetadataReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSFetchMetadataReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSFetchMetadataReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("type", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:type: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.Type)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.type (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:type: ", p), err)
-	}
+func (p *TSFetchMetadataReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "type", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:type: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.Type)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.type (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:type: ", p), err) }
 	return err
 }
 
-func (p *TSFetchMetadataReq) writeField3(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchMetadataReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetColumnPath() {
-		if err := oprot.WriteFieldBegin("columnPath", thrift.STRING, 3); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columnPath: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.ColumnPath)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.columnPath (3) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columnPath: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "columnPath", thrift.STRING, 3); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:columnPath: ", p), err) }
+		if err := oprot.WriteString(ctx, string(*p.ColumnPath)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.columnPath (3) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:columnPath: ", p), err) }
 	}
 	return err
 }
 
+func (p *TSFetchMetadataReq) Equals(other *TSFetchMetadataReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.Type != other.Type { return false }
+	if p.ColumnPath != other.ColumnPath {
+		if p.ColumnPath == nil || other.ColumnPath == nil {
+			return false
+		}
+		if (*p.ColumnPath) != (*other.ColumnPath) { return false }
+	}
+	return true
+}
+
 func (p *TSFetchMetadataReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -4445,8 +4348,8 @@ func (p *TSFetchMetadataReq) String() string {
 //  - Status
 //  - TimeZone
 type TSGetTimeZoneResp struct {
-	Status   *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
-	TimeZone string    `thrift:"timeZone,2,required" db:"timeZone" json:"timeZone"`
+	Status *TSStatus `thrift:"status,1,required" db:"status" json:"status"`
+	TimeZone string `thrift:"timeZone,2,required" db:"timeZone" json:"timeZone"`
 }
 
 func NewTSGetTimeZoneResp() *TSGetTimeZoneResp {
@@ -4454,7 +4357,6 @@ func NewTSGetTimeZoneResp() *TSGetTimeZoneResp {
 }
 
 var TSGetTimeZoneResp_Status_DEFAULT *TSStatus
-
 func (p *TSGetTimeZoneResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSGetTimeZoneResp_Status_DEFAULT
@@ -4469,76 +4371,74 @@ func (p *TSGetTimeZoneResp) IsSetStatus() bool {
 	return p.Status != nil
 }
 
-func (p *TSGetTimeZoneResp) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSGetTimeZoneResp) 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 issetTimeZone bool = false
+	var issetStatus bool = false;
+	var issetTimeZone bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetStatus = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimeZone = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	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 !issetStatus{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Status is not set"));
 	}
-	if !issetTimeZone {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeZone is not set"))
+	if !issetTimeZone{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeZone is not set"));
 	}
 	return nil
 }
 
-func (p *TSGetTimeZoneResp) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSGetTimeZoneResp)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Status = &TSStatus{}
-	if err := p.Status.Read(iprot); err != nil {
+	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 *TSGetTimeZoneResp) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSGetTimeZoneResp)  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.TimeZone = v
@@ -4546,53 +4446,52 @@ func (p *TSGetTimeZoneResp) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSGetTimeZoneResp) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSGetTimeZoneResp"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSGetTimeZoneResp) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSGetTimeZoneResp"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSGetTimeZoneResp) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("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(oprot); err != nil {
+func (p *TSGetTimeZoneResp) 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(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:status: ", p), 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 *TSGetTimeZoneResp) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timeZone", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:timeZone: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.TimeZone)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.timeZone (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:timeZone: ", p), err)
-	}
+func (p *TSGetTimeZoneResp) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timeZone", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:timeZone: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.TimeZone)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.timeZone (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:timeZone: ", p), err) }
 	return err
 }
 
+func (p *TSGetTimeZoneResp) Equals(other *TSGetTimeZoneResp) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if !p.Status.Equals(other.Status) { return false }
+	if p.TimeZone != other.TimeZone { return false }
+	return true
+}
+
 func (p *TSGetTimeZoneResp) String() string {
 	if p == nil {
 		return "<nil>"
@@ -4604,14 +4503,15 @@ func (p *TSGetTimeZoneResp) String() string {
 //  - SessionId
 //  - TimeZone
 type TSSetTimeZoneReq struct {
-	SessionId int64  `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	TimeZone  string `thrift:"timeZone,2,required" db:"timeZone" json:"timeZone"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	TimeZone string `thrift:"timeZone,2,required" db:"timeZone" json:"timeZone"`
 }
 
 func NewTSSetTimeZoneReq() *TSSetTimeZoneReq {
 	return &TSSetTimeZoneReq{}
 }
 
+
 func (p *TSSetTimeZoneReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -4619,68 +4519,66 @@ func (p *TSSetTimeZoneReq) GetSessionId() int64 {
 func (p *TSSetTimeZoneReq) GetTimeZone() string {
 	return p.TimeZone
 }
-func (p *TSSetTimeZoneReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSSetTimeZoneReq) 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
-	var issetTimeZone bool = false
+	var issetSessionId bool = false;
+	var issetTimeZone bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimeZone = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetTimeZone {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeZone is not set"))
+	if !issetTimeZone{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimeZone is not set"));
 	}
 	return nil
 }
 
-func (p *TSSetTimeZoneReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSSetTimeZoneReq)  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.SessionId = v
@@ -4688,8 +4586,8 @@ func (p *TSSetTimeZoneReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSSetTimeZoneReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSSetTimeZoneReq)  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.TimeZone = v
@@ -4697,53 +4595,51 @@ func (p *TSSetTimeZoneReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSSetTimeZoneReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSSetTimeZoneReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSSetTimeZoneReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSSetTimeZoneReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
+		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 *TSSetTimeZoneReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+func (p *TSSetTimeZoneReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSSetTimeZoneReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timeZone", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:timeZone: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.TimeZone)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.timeZone (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:timeZone: ", p), err)
-	}
+func (p *TSSetTimeZoneReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timeZone", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:timeZone: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.TimeZone)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.timeZone (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:timeZone: ", p), err) }
 	return err
 }
 
+func (p *TSSetTimeZoneReq) Equals(other *TSSetTimeZoneReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.TimeZone != other.TimeZone { return false }
+	return true
+}
+
 func (p *TSSetTimeZoneReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -4758,17 +4654,18 @@ func (p *TSSetTimeZoneReq) String() string {
 //  - Values
 //  - Timestamp
 type TSInsertRecordReq struct {
-	SessionId    int64    `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceId     string   `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceId string `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
 	Measurements []string `thrift:"measurements,3,required" db:"measurements" json:"measurements"`
-	Values       []byte   `thrift:"values,4,required" db:"values" json:"values"`
-	Timestamp    int64    `thrift:"timestamp,5,required" db:"timestamp" json:"timestamp"`
+	Values []byte `thrift:"values,4,required" db:"values" json:"values"`
+	Timestamp int64 `thrift:"timestamp,5,required" db:"timestamp" json:"timestamp"`
 }
 
 func NewTSInsertRecordReq() *TSInsertRecordReq {
 	return &TSInsertRecordReq{}
 }
 
+
 func (p *TSInsertRecordReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -4788,113 +4685,111 @@ func (p *TSInsertRecordReq) GetValues() []byte {
 func (p *TSInsertRecordReq) GetTimestamp() int64 {
 	return p.Timestamp
 }
-func (p *TSInsertRecordReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSInsertRecordReq) 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
-	var issetDeviceId bool = false
-	var issetMeasurements bool = false
-	var issetValues bool = false
-	var issetTimestamp bool = false
+	var issetSessionId bool = false;
+	var issetDeviceId bool = false;
+	var issetMeasurements bool = false;
+	var issetValues bool = false;
+	var issetTimestamp bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurements = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValues = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestamp = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"))
+	if !issetDeviceId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"));
 	}
-	if !issetMeasurements {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Measurements is not set"))
+	if !issetMeasurements{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Measurements is not set"));
 	}
-	if !issetValues {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Values is not set"))
+	if !issetValues{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Values is not set"));
 	}
-	if !issetTimestamp {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamp is not set"))
+	if !issetTimestamp{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamp is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertRecordReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertRecordReq)  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.SessionId = v
@@ -4902,8 +4797,8 @@ func (p *TSInsertRecordReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertRecordReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSInsertRecordReq)  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.DeviceId = v
@@ -4911,30 +4806,30 @@ func (p *TSInsertRecordReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertRecordReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordReq)  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.Measurements = tSlice
-	for i := 0; i < size; i++ {
-		var _elem15 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Measurements =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem27 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem15 = v
+			_elem27 = v
 		}
-		p.Measurements = append(p.Measurements, _elem15)
+		p.Measurements = append(p.Measurements, _elem27)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBinary(); err != nil {
+func (p *TSInsertRecordReq)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBinary(ctx); err != nil {
 		return thrift.PrependError("error reading field 4: ", err)
 	} else {
 		p.Values = v
@@ -4942,8 +4837,8 @@ func (p *TSInsertRecordReq) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertRecordReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertRecordReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI64(ctx); err != nil {
 		return thrift.PrependError("error reading field 5: ", err)
 	} else {
 		p.Timestamp = v
@@ -4951,107 +4846,97 @@ func (p *TSInsertRecordReq) ReadField5(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertRecordReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertRecordReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSInsertRecordReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSInsertRecordReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertRecordReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 *TSInsertRecordReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("deviceId", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.DeviceId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err)
-	}
+func (p *TSInsertRecordReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "deviceId", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.DeviceId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("measurements", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurements: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Measurements)); err != nil {
+func (p *TSInsertRecordReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "measurements", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurements: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Measurements)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Measurements {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurements: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurements: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("values", thrift.STRING, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:values: ", p), err)
-	}
-	if err := oprot.WriteBinary(p.Values); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.values (4) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:values: ", p), err)
-	}
+func (p *TSInsertRecordReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "values", thrift.STRING, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:values: ", p), err) }
+	if err := oprot.WriteBinary(ctx, p.Values); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.values (4) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:values: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestamp", thrift.I64, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamp: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.Timestamp)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.timestamp (5) field write error: ", p), err)
+func (p *TSInsertRecordReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestamp", thrift.I64, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamp: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.Timestamp)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.timestamp (5) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamp: ", p), err) }
+	return err
+}
+
+func (p *TSInsertRecordReq) Equals(other *TSInsertRecordReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamp: ", p), err)
+	if p.SessionId != other.SessionId { return false }
+	if p.DeviceId != other.DeviceId { return false }
+	if len(p.Measurements) != len(other.Measurements) { return false }
+	for i, _tgt := range p.Measurements {
+		_src28 := other.Measurements[i]
+		if _tgt != _src28 { return false }
 	}
-	return err
+	if bytes.Compare(p.Values, other.Values) != 0 { return false }
+	if p.Timestamp != other.Timestamp { return false }
+	return true
 }
 
 func (p *TSInsertRecordReq) String() string {
@@ -5068,17 +4953,18 @@ func (p *TSInsertRecordReq) String() string {
 //  - Values
 //  - Timestamp
 type TSInsertStringRecordReq struct {
-	SessionId    int64    `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceId     string   `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceId string `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
 	Measurements []string `thrift:"measurements,3,required" db:"measurements" json:"measurements"`
-	Values       []string `thrift:"values,4,required" db:"values" json:"values"`
-	Timestamp    int64    `thrift:"timestamp,5,required" db:"timestamp" json:"timestamp"`
+	Values []string `thrift:"values,4,required" db:"values" json:"values"`
+	Timestamp int64 `thrift:"timestamp,5,required" db:"timestamp" json:"timestamp"`
 }
 
 func NewTSInsertStringRecordReq() *TSInsertStringRecordReq {
 	return &TSInsertStringRecordReq{}
 }
 
+
 func (p *TSInsertStringRecordReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -5098,113 +4984,111 @@ func (p *TSInsertStringRecordReq) GetValues() []string {
 func (p *TSInsertStringRecordReq) GetTimestamp() int64 {
 	return p.Timestamp
 }
-func (p *TSInsertStringRecordReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != 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)
 	}
 
-	var issetSessionId bool = false
-	var issetDeviceId bool = false
-	var issetMeasurements bool = false
-	var issetValues bool = false
-	var issetTimestamp bool = false
+	var issetSessionId bool = false;
+	var issetDeviceId bool = false;
+	var issetMeasurements bool = false;
+	var issetValues bool = false;
+	var issetTimestamp bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurements = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValues = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestamp = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"))
+	if !issetDeviceId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"));
 	}
-	if !issetMeasurements {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Measurements is not set"))
+	if !issetMeasurements{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Measurements is not set"));
 	}
-	if !issetValues {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Values is not set"))
+	if !issetValues{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Values is not set"));
 	}
-	if !issetTimestamp {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamp is not set"))
+	if !issetTimestamp{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamp is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertStringRecordReq)  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.SessionId = v
@@ -5212,8 +5096,8 @@ func (p *TSInsertStringRecordReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertStringRecordReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSInsertStringRecordReq)  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.DeviceId = v
@@ -5221,52 +5105,52 @@ func (p *TSInsertStringRecordReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertStringRecordReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertStringRecordReq)  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.Measurements = tSlice
-	for i := 0; i < size; i++ {
-		var _elem16 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Measurements =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem29 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem16 = v
+			_elem29 = v
 		}
-		p.Measurements = append(p.Measurements, _elem16)
+		p.Measurements = append(p.Measurements, _elem29)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordReq) ReadField4(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertStringRecordReq)  ReadField4(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.Values = tSlice
-	for i := 0; i < size; i++ {
-		var _elem17 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Values =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem30 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem17 = v
+			_elem30 = v
 		}
-		p.Values = append(p.Values, _elem17)
+		p.Values = append(p.Values, _elem30)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertStringRecordReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI64(ctx); err != nil {
 		return thrift.PrependError("error reading field 5: ", err)
 	} else {
 		p.Timestamp = v
@@ -5274,115 +5158,109 @@ func (p *TSInsertStringRecordReq) ReadField5(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertStringRecordReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertStringRecordReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+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) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertStringRecordReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 *TSInsertStringRecordReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertStringRecordReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("deviceId", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.DeviceId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err)
-	}
+func (p *TSInsertStringRecordReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "deviceId", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.DeviceId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertStringRecordReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("measurements", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurements: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Measurements)); err != nil {
+func (p *TSInsertStringRecordReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "measurements", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurements: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Measurements)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Measurements {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurements: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurements: ", p), err) }
 	return err
 }
 
-func (p *TSInsertStringRecordReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("values", thrift.LIST, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:values: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Values)); err != nil {
+func (p *TSInsertStringRecordReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "values", thrift.LIST, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:values: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Values)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Values {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:values: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:values: ", p), err) }
+	return err
+}
+
+func (p *TSInsertStringRecordReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestamp", thrift.I64, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamp: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.Timestamp)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.timestamp (5) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamp: ", p), err) }
 	return err
 }
 
-func (p *TSInsertStringRecordReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestamp", thrift.I64, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamp: ", p), err)
+func (p *TSInsertStringRecordReq) Equals(other *TSInsertStringRecordReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
 	}
-	if err := oprot.WriteI64(int64(p.Timestamp)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.timestamp (5) field write error: ", p), err)
+	if p.SessionId != other.SessionId { return false }
+	if p.DeviceId != other.DeviceId { return false }
+	if len(p.Measurements) != len(other.Measurements) { return false }
+	for i, _tgt := range p.Measurements {
+		_src31 := other.Measurements[i]
+		if _tgt != _src31 { return false }
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamp: ", p), err)
+	if len(p.Values) != len(other.Values) { return false }
+	for i, _tgt := range p.Values {
+		_src32 := other.Values[i]
+		if _tgt != _src32 { return false }
 	}
-	return err
+	if p.Timestamp != other.Timestamp { return false }
+	return true
 }
 
 func (p *TSInsertStringRecordReq) String() string {
@@ -5401,19 +5279,20 @@ func (p *TSInsertStringRecordReq) String() string {
 //  - Types
 //  - Size
 type TSInsertTabletReq struct {
-	SessionId    int64    `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceId     string   `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceId string `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
 	Measurements []string `thrift:"measurements,3,required" db:"measurements" json:"measurements"`
-	Values       []byte   `thrift:"values,4,required" db:"values" json:"values"`
-	Timestamps   []byte   `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
-	Types        []int32  `thrift:"types,6,required" db:"types" json:"types"`
-	Size         int32    `thrift:"size,7,required" db:"size" json:"size"`
+	Values []byte `thrift:"values,4,required" db:"values" json:"values"`
+	Timestamps []byte `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
+	Types []int32 `thrift:"types,6,required" db:"types" json:"types"`
+	Size int32 `thrift:"size,7,required" db:"size" json:"size"`
 }
 
 func NewTSInsertTabletReq() *TSInsertTabletReq {
 	return &TSInsertTabletReq{}
 }
 
+
 func (p *TSInsertTabletReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -5441,143 +5320,141 @@ func (p *TSInsertTabletReq) GetTypes() []int32 {
 func (p *TSInsertTabletReq) GetSize() int32 {
 	return p.Size
 }
-func (p *TSInsertTabletReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSInsertTabletReq) 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
-	var issetDeviceId bool = false
-	var issetMeasurements bool = false
-	var issetValues bool = false
-	var issetTimestamps bool = false
-	var issetTypes bool = false
-	var issetSize bool = false
+	var issetSessionId bool = false;
+	var issetDeviceId bool = false;
+	var issetMeasurements bool = false;
+	var issetValues bool = false;
+	var issetTimestamps bool = false;
+	var issetTypes bool = false;
+	var issetSize bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurements = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValues = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestamps = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 6:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField6(iprot); err != nil {
+				if err := p.ReadField6(ctx, iprot); err != nil {
 					return err
 				}
 				issetTypes = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 7:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField7(iprot); err != nil {
+				if err := p.ReadField7(ctx, iprot); err != nil {
 					return err
 				}
 				issetSize = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"))
+	if !issetDeviceId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"));
 	}
-	if !issetMeasurements {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Measurements is not set"))
+	if !issetMeasurements{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Measurements is not set"));
 	}
-	if !issetValues {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Values is not set"))
+	if !issetValues{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Values is not set"));
 	}
-	if !issetTimestamps {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"))
+	if !issetTimestamps{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"));
 	}
-	if !issetTypes {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Types is not set"))
+	if !issetTypes{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Types is not set"));
 	}
-	if !issetSize {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Size is not set"))
+	if !issetSize{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Size is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertTabletReq)  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.SessionId = v
@@ -5585,8 +5462,8 @@ func (p *TSInsertTabletReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSInsertTabletReq)  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.DeviceId = v
@@ -5594,30 +5471,30 @@ func (p *TSInsertTabletReq) ReadField2(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletReq)  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.Measurements = tSlice
-	for i := 0; i < size; i++ {
-		var _elem18 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Measurements =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem33 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem18 = v
+			_elem33 = v
 		}
-		p.Measurements = append(p.Measurements, _elem18)
+		p.Measurements = append(p.Measurements, _elem33)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBinary(); err != nil {
+func (p *TSInsertTabletReq)  ReadField4(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBinary(ctx); err != nil {
 		return thrift.PrependError("error reading field 4: ", err)
 	} else {
 		p.Values = v
@@ -5625,8 +5502,8 @@ func (p *TSInsertTabletReq) ReadField4(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBinary(); err != nil {
+func (p *TSInsertTabletReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBinary(ctx); err != nil {
 		return thrift.PrependError("error reading field 5: ", err)
 	} else {
 		p.Timestamps = v
@@ -5634,30 +5511,30 @@ func (p *TSInsertTabletReq) ReadField5(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField6(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletReq)  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([]int32, 0, size)
-	p.Types = tSlice
-	for i := 0; i < size; i++ {
-		var _elem19 int32
-		if v, err := iprot.ReadI32(); err != nil {
+	p.Types =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem34 int32
+		if v, err := iprot.ReadI32(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem19 = v
+			_elem34 = v
 		}
-		p.Types = append(p.Types, _elem19)
+		p.Types = append(p.Types, _elem34)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletReq) ReadField7(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSInsertTabletReq)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI32(ctx); err != nil {
 		return thrift.PrependError("error reading field 7: ", err)
 	} else {
 		p.Size = v
@@ -5665,147 +5542,133 @@ func (p *TSInsertTabletReq) ReadField7(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertTabletReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertTabletReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSInsertTabletReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSInsertTabletReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField6(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField7(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertTabletReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 := 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 *TSInsertTabletReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("deviceId", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.DeviceId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err)
-	}
+func (p *TSInsertTabletReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "deviceId", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.DeviceId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("measurements", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurements: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Measurements)); err != nil {
+func (p *TSInsertTabletReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "measurements", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurements: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Measurements)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Measurements {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurements: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurements: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("values", thrift.STRING, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:values: ", p), err)
-	}
-	if err := oprot.WriteBinary(p.Values); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.values (4) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:values: ", p), err)
-	}
+func (p *TSInsertTabletReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "values", thrift.STRING, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:values: ", p), err) }
+	if err := oprot.WriteBinary(ctx, p.Values); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.values (4) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:values: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestamps", thrift.STRING, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamps: ", p), err)
-	}
-	if err := oprot.WriteBinary(p.Timestamps); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.timestamps (5) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamps: ", p), err)
-	}
+func (p *TSInsertTabletReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestamps", thrift.STRING, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamps: ", p), err) }
+	if err := oprot.WriteBinary(ctx, p.Timestamps); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.timestamps (5) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamps: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletReq) writeField6(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("types", thrift.LIST, 6); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:types: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I32, len(p.Types)); err != nil {
+func (p *TSInsertTabletReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "types", thrift.LIST, 6); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:types: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Types)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Types {
-		if err := oprot.WriteI32(int32(v)); 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.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 6:types: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 6:types: ", p), err) }
+	return err
+}
+
+func (p *TSInsertTabletReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "size", thrift.I32, 7); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:size: ", p), err) }
+	if err := oprot.WriteI32(ctx, int32(p.Size)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.size (7) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 7:size: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletReq) writeField7(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("size", thrift.I32, 7); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:size: ", p), err)
+func (p *TSInsertTabletReq) Equals(other *TSInsertTabletReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
 	}
-	if err := oprot.WriteI32(int32(p.Size)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.size (7) field write error: ", p), err)
+	if p.SessionId != other.SessionId { return false }
+	if p.DeviceId != other.DeviceId { return false }
+	if len(p.Measurements) != len(other.Measurements) { return false }
+	for i, _tgt := range p.Measurements {
+		_src35 := other.Measurements[i]
+		if _tgt != _src35 { return false }
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 7:size: ", p), err)
+	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 {
+		_src36 := other.Types[i]
+		if _tgt != _src36 { return false }
 	}
-	return err
+	if p.Size != other.Size { return false }
+	return true
 }
 
 func (p *TSInsertTabletReq) String() string {
@@ -5824,19 +5687,20 @@ func (p *TSInsertTabletReq) String() string {
 //  - TypesList
 //  - SizeList
 type TSInsertTabletsReq struct {
-	SessionId        int64      `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceIds        []string   `thrift:"deviceIds,2,required" db:"deviceIds" json:"deviceIds"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceIds []string `thrift:"deviceIds,2,required" db:"deviceIds" json:"deviceIds"`
 	MeasurementsList [][]string `thrift:"measurementsList,3,required" db:"measurementsList" json:"measurementsList"`
-	ValuesList       [][]byte   `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
-	TimestampsList   [][]byte   `thrift:"timestampsList,5,required" db:"timestampsList" json:"timestampsList"`
-	TypesList        [][]int32  `thrift:"typesList,6,required" db:"typesList" json:"typesList"`
-	SizeList         []int32    `thrift:"sizeList,7,required" db:"sizeList" json:"sizeList"`
+	ValuesList [][]byte `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
+	TimestampsList [][]byte `thrift:"timestampsList,5,required" db:"timestampsList" json:"timestampsList"`
+	TypesList [][]int32 `thrift:"typesList,6,required" db:"typesList" json:"typesList"`
+	SizeList []int32 `thrift:"sizeList,7,required" db:"sizeList" json:"sizeList"`
 }
 
 func NewTSInsertTabletsReq() *TSInsertTabletsReq {
 	return &TSInsertTabletsReq{}
 }
 
+
 func (p *TSInsertTabletsReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -5864,143 +5728,141 @@ func (p *TSInsertTabletsReq) GetTypesList() [][]int32 {
 func (p *TSInsertTabletsReq) GetSizeList() []int32 {
 	return p.SizeList
 }
-func (p *TSInsertTabletsReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSInsertTabletsReq) 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
-	var issetDeviceIds bool = false
-	var issetMeasurementsList bool = false
-	var issetValuesList bool = false
-	var issetTimestampsList bool = false
-	var issetTypesList bool = false
-	var issetSizeList bool = false
+	var issetSessionId bool = false;
+	var issetDeviceIds bool = false;
+	var issetMeasurementsList bool = false;
+	var issetValuesList bool = false;
+	var issetTimestampsList bool = false;
+	var issetTypesList bool = false;
+	var issetSizeList bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceIds = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurementsList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValuesList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestampsList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 6:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField6(iprot); err != nil {
+				if err := p.ReadField6(ctx, iprot); err != nil {
 					return err
 				}
 				issetTypesList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 7:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField7(iprot); err != nil {
+				if err := p.ReadField7(ctx, iprot); err != nil {
 					return err
 				}
 				issetSizeList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceIds {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceIds is not set"))
+	if !issetDeviceIds{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceIds is not set"));
 	}
-	if !issetMeasurementsList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"))
+	if !issetMeasurementsList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"));
 	}
-	if !issetValuesList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"))
+	if !issetValuesList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"));
 	}
-	if !issetTimestampsList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimestampsList is not set"))
+	if !issetTimestampsList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimestampsList is not set"));
 	}
-	if !issetTypesList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TypesList is not set"))
+	if !issetTypesList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TypesList is not set"));
 	}
-	if !issetSizeList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SizeList is not set"))
+	if !issetSizeList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SizeList is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertTabletsReq)  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.SessionId = v
@@ -6008,353 +5870,363 @@ func (p *TSInsertTabletsReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletsReq)  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.DeviceIds = tSlice
-	for i := 0; i < size; i++ {
-		var _elem20 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.DeviceIds =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem37 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem20 = v
+			_elem37 = v
 		}
-		p.DeviceIds = append(p.DeviceIds, _elem20)
+		p.DeviceIds = append(p.DeviceIds, _elem37)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletsReq)  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.MeasurementsList = tSlice
-	for i := 0; i < size; i++ {
-		_, size, err := iprot.ReadListBegin()
+	p.MeasurementsList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, size, err := iprot.ReadListBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading list begin: ", err)
 		}
 		tSlice := make([]string, 0, size)
-		_elem21 := tSlice
-		for i := 0; i < size; i++ {
-			var _elem22 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem38 :=  tSlice
+		for i := 0; i < size; i ++ {
+			var _elem39 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_elem22 = v
+				_elem39 = v
 			}
-			_elem21 = append(_elem21, _elem22)
+			_elem38 = append(_elem38, _elem39)
 		}
-		if err := iprot.ReadListEnd(); err != nil {
+		if err := iprot.ReadListEnd(ctx); err != nil {
 			return thrift.PrependError("error reading list end: ", err)
 		}
-		p.MeasurementsList = append(p.MeasurementsList, _elem21)
+		p.MeasurementsList = append(p.MeasurementsList, _elem38)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField4(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletsReq)  ReadField4(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.ValuesList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem23 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	p.ValuesList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem40 []byte
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem23 = v
+			_elem40 = v
 		}
-		p.ValuesList = append(p.ValuesList, _elem23)
+		p.ValuesList = append(p.ValuesList, _elem40)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField5(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletsReq)  ReadField5(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.TimestampsList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem24 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	p.TimestampsList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem41 []byte
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem24 = v
+			_elem41 = v
 		}
-		p.TimestampsList = append(p.TimestampsList, _elem24)
+		p.TimestampsList = append(p.TimestampsList, _elem41)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField6(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletsReq)  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([][]int32, 0, size)
-	p.TypesList = tSlice
-	for i := 0; i < size; i++ {
-		_, size, err := iprot.ReadListBegin()
+	p.TypesList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, size, err := iprot.ReadListBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading list begin: ", err)
 		}
 		tSlice := make([]int32, 0, size)
-		_elem25 := tSlice
-		for i := 0; i < size; i++ {
-			var _elem26 int32
-			if v, err := iprot.ReadI32(); err != nil {
+		_elem42 :=  tSlice
+		for i := 0; i < size; i ++ {
+			var _elem43 int32
+			if v, err := iprot.ReadI32(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_elem26 = v
+				_elem43 = v
 			}
-			_elem25 = append(_elem25, _elem26)
+			_elem42 = append(_elem42, _elem43)
 		}
-		if err := iprot.ReadListEnd(); err != nil {
+		if err := iprot.ReadListEnd(ctx); err != nil {
 			return thrift.PrependError("error reading list end: ", err)
 		}
-		p.TypesList = append(p.TypesList, _elem25)
+		p.TypesList = append(p.TypesList, _elem42)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) ReadField7(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertTabletsReq)  ReadField7(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([]int32, 0, size)
-	p.SizeList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem27 int32
-		if v, err := iprot.ReadI32(); err != nil {
+	p.SizeList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem44 int32
+		if v, err := iprot.ReadI32(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem27 = v
+			_elem44 = v
 		}
-		p.SizeList = append(p.SizeList, _elem27)
+		p.SizeList = append(p.SizeList, _elem44)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertTabletsReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertTabletsReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSInsertTabletsReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSInsertTabletsReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField6(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField7(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertTabletsReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 := 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 *TSInsertTabletsReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletsReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("deviceIds", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceIds: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.DeviceIds)); err != nil {
+func (p *TSInsertTabletsReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "deviceIds", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceIds: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.DeviceIds)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.DeviceIds {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceIds: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceIds: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletsReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("measurementsList", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurementsList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.LIST, len(p.MeasurementsList)); err != nil {
+func (p *TSInsertTabletsReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "measurementsList", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurementsList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.LIST, len(p.MeasurementsList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.MeasurementsList {
-		if err := oprot.WriteListBegin(thrift.STRING, len(v)); err != nil {
+		if err := oprot.WriteListBegin(ctx, thrift.STRING, len(v)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range v {
-			if err := oprot.WriteString(string(v)); 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(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurementsList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurementsList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletsReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("valuesList", thrift.LIST, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:valuesList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.ValuesList)); err != nil {
+func (p *TSInsertTabletsReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "valuesList", thrift.LIST, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:valuesList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValuesList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.ValuesList {
-		if err := oprot.WriteBinary(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:valuesList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:valuesList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletsReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestampsList", thrift.LIST, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestampsList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.TimestampsList)); err != nil {
+func (p *TSInsertTabletsReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestampsList", thrift.LIST, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestampsList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.TimestampsList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.TimestampsList {
-		if err := oprot.WriteBinary(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestampsList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestampsList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletsReq) writeField6(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("typesList", thrift.LIST, 6); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:typesList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.LIST, len(p.TypesList)); err != nil {
+func (p *TSInsertTabletsReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "typesList", thrift.LIST, 6); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:typesList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.LIST, len(p.TypesList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.TypesList {
-		if err := oprot.WriteListBegin(thrift.I32, len(v)); err != nil {
+		if err := oprot.WriteListBegin(ctx, thrift.I32, len(v)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range v {
-			if err := oprot.WriteI32(int32(v)); 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.WriteListEnd(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 6:typesList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 6:typesList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertTabletsReq) writeField7(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sizeList", thrift.LIST, 7); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:sizeList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I32, len(p.SizeList)); err != nil {
+func (p *TSInsertTabletsReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "sizeList", thrift.LIST, 7); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:sizeList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.SizeList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.SizeList {
-		if err := oprot.WriteI32(int32(v)); 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.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 7:sizeList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 7:sizeList: ", p), err) }
 	return err
 }
 
+func (p *TSInsertTabletsReq) Equals(other *TSInsertTabletsReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if len(p.DeviceIds) != len(other.DeviceIds) { return false }
+	for i, _tgt := range p.DeviceIds {
+		_src45 := other.DeviceIds[i]
+		if _tgt != _src45 { return false }
+	}
+	if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
+	for i, _tgt := range p.MeasurementsList {
+		_src46 := other.MeasurementsList[i]
+		if len(_tgt) != len(_src46) { return false }
+		for i, _tgt := range _tgt {
+			_src47 := _src46[i]
+			if _tgt != _src47 { return false }
+		}
+	}
+	if len(p.ValuesList) != len(other.ValuesList) { return false }
+	for i, _tgt := range p.ValuesList {
+		_src48 := other.ValuesList[i]
+		if bytes.Compare(_tgt, _src48) != 0 { return false }
+	}
+	if len(p.TimestampsList) != len(other.TimestampsList) { return false }
+	for i, _tgt := range p.TimestampsList {
+		_src49 := other.TimestampsList[i]
+		if bytes.Compare(_tgt, _src49) != 0 { return false }
+	}
+	if len(p.TypesList) != len(other.TypesList) { return false }
+	for i, _tgt := range p.TypesList {
+		_src50 := other.TypesList[i]
+		if len(_tgt) != len(_src50) { return false }
+		for i, _tgt := range _tgt {
+			_src51 := _src50[i]
+			if _tgt != _src51 { return false }
+		}
+	}
+	if len(p.SizeList) != len(other.SizeList) { return false }
+	for i, _tgt := range p.SizeList {
+		_src52 := other.SizeList[i]
+		if _tgt != _src52 { return false }
+	}
+	return true
+}
+
 func (p *TSInsertTabletsReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -6369,17 +6241,18 @@ func (p *TSInsertTabletsReq) String() string {
 //  - ValuesList
 //  - Timestamps
 type TSInsertRecordsReq struct {
-	SessionId        int64      `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceIds        []string   `thrift:"deviceIds,2,required" db:"deviceIds" json:"deviceIds"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceIds []string `thrift:"deviceIds,2,required" db:"deviceIds" json:"deviceIds"`
 	MeasurementsList [][]string `thrift:"measurementsList,3,required" db:"measurementsList" json:"measurementsList"`
-	ValuesList       [][]byte   `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
-	Timestamps       []int64    `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
+	ValuesList [][]byte `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
+	Timestamps []int64 `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
 }
 
 func NewTSInsertRecordsReq() *TSInsertRecordsReq {
 	return &TSInsertRecordsReq{}
 }
 
+
 func (p *TSInsertRecordsReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -6399,113 +6272,111 @@ func (p *TSInsertRecordsReq) GetValuesList() [][]byte {
 func (p *TSInsertRecordsReq) GetTimestamps() []int64 {
 	return p.Timestamps
 }
-func (p *TSInsertRecordsReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSInsertRecordsReq) 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
-	var issetDeviceIds bool = false
-	var issetMeasurementsList bool = false
-	var issetValuesList bool = false
-	var issetTimestamps bool = false
+	var issetSessionId bool = false;
+	var issetDeviceIds bool = false;
+	var issetMeasurementsList bool = false;
+	var issetValuesList bool = false;
+	var issetTimestamps bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceIds = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurementsList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValuesList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestamps = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceIds {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceIds is not set"))
+	if !issetDeviceIds{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceIds is not set"));
 	}
-	if !issetMeasurementsList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"))
+	if !issetMeasurementsList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"));
 	}
-	if !issetValuesList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"))
+	if !issetValuesList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"));
 	}
-	if !issetTimestamps {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"))
+	if !issetTimestamps{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertRecordsReq)  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.SessionId = v
@@ -6513,241 +6384,247 @@ func (p *TSInsertRecordsReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertRecordsReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsReq)  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.DeviceIds = tSlice
-	for i := 0; i < size; i++ {
-		var _elem28 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.DeviceIds =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem53 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem28 = v
+			_elem53 = v
 		}
-		p.DeviceIds = append(p.DeviceIds, _elem28)
+		p.DeviceIds = append(p.DeviceIds, _elem53)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsReq)  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.MeasurementsList = tSlice
-	for i := 0; i < size; i++ {
-		_, size, err := iprot.ReadListBegin()
+	p.MeasurementsList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, size, err := iprot.ReadListBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading list begin: ", err)
 		}
 		tSlice := make([]string, 0, size)
-		_elem29 := tSlice
-		for i := 0; i < size; i++ {
-			var _elem30 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem54 :=  tSlice
+		for i := 0; i < size; i ++ {
+			var _elem55 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_elem30 = v
+				_elem55 = v
 			}
-			_elem29 = append(_elem29, _elem30)
+			_elem54 = append(_elem54, _elem55)
 		}
-		if err := iprot.ReadListEnd(); err != nil {
+		if err := iprot.ReadListEnd(ctx); err != nil {
 			return thrift.PrependError("error reading list end: ", err)
 		}
-		p.MeasurementsList = append(p.MeasurementsList, _elem29)
+		p.MeasurementsList = append(p.MeasurementsList, _elem54)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsReq) ReadField4(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsReq)  ReadField4(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.ValuesList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem31 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	p.ValuesList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem56 []byte
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem31 = v
+			_elem56 = v
 		}
-		p.ValuesList = append(p.ValuesList, _elem31)
+		p.ValuesList = append(p.ValuesList, _elem56)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsReq) ReadField5(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsReq)  ReadField5(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.Timestamps = tSlice
-	for i := 0; i < size; i++ {
-		var _elem32 int64
-		if v, err := iprot.ReadI64(); err != nil {
+	p.Timestamps =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem57 int64
+		if v, err := iprot.ReadI64(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem32 = v
+			_elem57 = v
 		}
-		p.Timestamps = append(p.Timestamps, _elem32)
+		p.Timestamps = append(p.Timestamps, _elem57)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertRecordsReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSInsertRecordsReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSInsertRecordsReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertRecordsReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 *TSInsertRecordsReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("deviceIds", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceIds: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.DeviceIds)); err != nil {
+func (p *TSInsertRecordsReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "deviceIds", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceIds: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.DeviceIds)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.DeviceIds {
-		if err := oprot.WriteString(string(v)); 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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceIds: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceIds: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("measurementsList", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurementsList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.LIST, len(p.MeasurementsList)); err != nil {
+func (p *TSInsertRecordsReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "measurementsList", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurementsList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.LIST, len(p.MeasurementsList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.MeasurementsList {
-		if err := oprot.WriteListBegin(thrift.STRING, len(v)); err != nil {
+		if err := oprot.WriteListBegin(ctx, thrift.STRING, len(v)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range v {
-			if err := oprot.WriteString(string(v)); 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(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurementsList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurementsList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("valuesList", thrift.LIST, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:valuesList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.ValuesList)); err != nil {
+func (p *TSInsertRecordsReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "valuesList", thrift.LIST, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:valuesList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValuesList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.ValuesList {
-		if err := oprot.WriteBinary(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:valuesList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:valuesList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestamps", thrift.LIST, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamps: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I64, len(p.Timestamps)); err != nil {
+func (p *TSInsertRecordsReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestamps", thrift.LIST, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamps: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Timestamps)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Timestamps {
-		if err := oprot.WriteI64(int64(v)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamps: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamps: ", p), err) }
 	return err
 }
 
+func (p *TSInsertRecordsReq) Equals(other *TSInsertRecordsReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if len(p.DeviceIds) != len(other.DeviceIds) { return false }
+	for i, _tgt := range p.DeviceIds {
+		_src58 := other.DeviceIds[i]
+		if _tgt != _src58 { return false }
+	}
+	if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
+	for i, _tgt := range p.MeasurementsList {
+		_src59 := other.MeasurementsList[i]
+		if len(_tgt) != len(_src59) { return false }
+		for i, _tgt := range _tgt {
+			_src60 := _src59[i]
+			if _tgt != _src60 { return false }
+		}
+	}
+	if len(p.ValuesList) != len(other.ValuesList) { return false }
+	for i, _tgt := range p.ValuesList {
+		_src61 := other.ValuesList[i]
+		if bytes.Compare(_tgt, _src61) != 0 { return false }
+	}
+	if len(p.Timestamps) != len(other.Timestamps) { return false }
+	for i, _tgt := range p.Timestamps {
+		_src62 := other.Timestamps[i]
+		if _tgt != _src62 { return false }
+	}
+	return true
+}
+
 func (p *TSInsertRecordsReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -6762,17 +6639,18 @@ func (p *TSInsertRecordsReq) String() string {
 //  - ValuesList
 //  - Timestamps
 type TSInsertRecordsOfOneDeviceReq struct {
-	SessionId        int64      `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceId         string     `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceId string `thrift:"deviceId,2,required" db:"deviceId" json:"deviceId"`
 	MeasurementsList [][]string `thrift:"measurementsList,3,required" db:"measurementsList" json:"measurementsList"`
-	ValuesList       [][]byte   `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
-	Timestamps       []int64    `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
+	ValuesList [][]byte `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
+	Timestamps []int64 `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
 }
 
 func NewTSInsertRecordsOfOneDeviceReq() *TSInsertRecordsOfOneDeviceReq {
 	return &TSInsertRecordsOfOneDeviceReq{}
 }
 
+
 func (p *TSInsertRecordsOfOneDeviceReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -6792,113 +6670,111 @@ func (p *TSInsertRecordsOfOneDeviceReq) GetValuesList() [][]byte {
 func (p *TSInsertRecordsOfOneDeviceReq) GetTimestamps() []int64 {
 	return p.Timestamps
 }
-func (p *TSInsertRecordsOfOneDeviceReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSInsertRecordsOfOneDeviceReq) 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
-	var issetDeviceId bool = false
-	var issetMeasurementsList bool = false
-	var issetValuesList bool = false
-	var issetTimestamps bool = false
+	var issetSessionId bool = false;
+	var issetDeviceId bool = false;
+	var issetMeasurementsList bool = false;
+	var issetValuesList bool = false;
+	var issetTimestamps bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.STRING {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurementsList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValuesList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestamps = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"))
+	if !issetDeviceId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceId is not set"));
 	}
-	if !issetMeasurementsList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"))
+	if !issetMeasurementsList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"));
 	}
-	if !issetValuesList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"))
+	if !issetValuesList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"));
 	}
-	if !issetTimestamps {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"))
+	if !issetTimestamps{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertRecordsOfOneDeviceReq)  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.SessionId = v
@@ -6906,8 +6782,8 @@ func (p *TSInsertRecordsOfOneDeviceReq) ReadField1(iprot thrift.TProtocol) error
 	return nil
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSInsertRecordsOfOneDeviceReq)  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.DeviceId = v
@@ -6915,211 +6791,213 @@ func (p *TSInsertRecordsOfOneDeviceReq) ReadField2(iprot thrift.TProtocol) error
 	return nil
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsOfOneDeviceReq)  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.MeasurementsList = tSlice
-	for i := 0; i < size; i++ {
-		_, size, err := iprot.ReadListBegin()
+	p.MeasurementsList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, size, err := iprot.ReadListBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading list begin: ", err)
 		}
 		tSlice := make([]string, 0, size)
-		_elem33 := tSlice
-		for i := 0; i < size; i++ {
-			var _elem34 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem63 :=  tSlice
+		for i := 0; i < size; i ++ {
+			var _elem64 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_elem34 = v
+				_elem64 = v
 			}
-			_elem33 = append(_elem33, _elem34)
+			_elem63 = append(_elem63, _elem64)
 		}
-		if err := iprot.ReadListEnd(); err != nil {
+		if err := iprot.ReadListEnd(ctx); err != nil {
 			return thrift.PrependError("error reading list end: ", err)
 		}
-		p.MeasurementsList = append(p.MeasurementsList, _elem33)
+		p.MeasurementsList = append(p.MeasurementsList, _elem63)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) ReadField4(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsOfOneDeviceReq)  ReadField4(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.ValuesList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem35 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+	p.ValuesList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem65 []byte
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem35 = v
+			_elem65 = v
 		}
-		p.ValuesList = append(p.ValuesList, _elem35)
+		p.ValuesList = append(p.ValuesList, _elem65)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) ReadField5(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertRecordsOfOneDeviceReq)  ReadField5(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.Timestamps = tSlice
-	for i := 0; i < size; i++ {
-		var _elem36 int64
-		if v, err := iprot.ReadI64(); err != nil {
+	p.Timestamps =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem66 int64
+		if v, err := iprot.ReadI64(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem36 = v
+			_elem66 = v
 		}
-		p.Timestamps = append(p.Timestamps, _elem36)
+		p.Timestamps = append(p.Timestamps, _elem66)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertRecordsOfOneDeviceReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSInsertRecordsOfOneDeviceReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSInsertRecordsOfOneDeviceReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertRecordsOfOneDeviceReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 *TSInsertRecordsOfOneDeviceReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("deviceId", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.DeviceId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err)
-	}
+func (p *TSInsertRecordsOfOneDeviceReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "deviceId", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:deviceId: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.DeviceId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.deviceId (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:deviceId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("measurementsList", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurementsList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.LIST, len(p.MeasurementsList)); err != nil {
+func (p *TSInsertRecordsOfOneDeviceReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "measurementsList", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:measurementsList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.LIST, len(p.MeasurementsList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.MeasurementsList {
-		if err := oprot.WriteListBegin(thrift.STRING, len(v)); err != nil {
+		if err := oprot.WriteListBegin(ctx, thrift.STRING, len(v)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range v {
-			if err := oprot.WriteString(string(v)); 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(); err != nil {
+		if err := oprot.WriteListEnd(ctx); err != nil {
 			return thrift.PrependError("error writing list end: ", err)
 		}
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurementsList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:measurementsList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("valuesList", thrift.LIST, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:valuesList: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.ValuesList)); err != nil {
+func (p *TSInsertRecordsOfOneDeviceReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "valuesList", thrift.LIST, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:valuesList: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.ValuesList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.ValuesList {
-		if err := oprot.WriteBinary(v); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		if err := oprot.WriteBinary(ctx, v); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err) }
 	}
-	if err := oprot.WriteListEnd(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:valuesList: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:valuesList: ", p), err) }
 	return err
 }
 
-func (p *TSInsertRecordsOfOneDeviceReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestamps", thrift.LIST, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamps: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I64, len(p.Timestamps)); err != nil {
+func (p *TSInsertRecordsOfOneDeviceReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestamps", thrift.LIST, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:timestamps: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I64, len(p.Timestamps)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Timestamps {
-		if err := oprot.WriteI64(int64(v)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T. (0) field write error: ", p), err)
-		}
+		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(); err != nil {
+	if err := oprot.WriteListEnd(ctx); err != nil {
 		return thrift.PrependError("error writing list end: ", err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamps: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamps: ", p), err) }
 	return err
 }
 
+func (p *TSInsertRecordsOfOneDeviceReq) Equals(other *TSInsertRecordsOfOneDeviceReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.DeviceId != other.DeviceId { 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 }
+		for i, _tgt := range _tgt {
+			_src68 := _src67[i]
+			if _tgt != _src68 { 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 }
+	}
+	if len(p.Timestamps) != len(other.Timestamps) { return false }
+	for i, _tgt := range p.Timestamps {
+		_src70 := other.Timestamps[i]
+		if _tgt != _src70 { return false }
+	}
+	return true
+}
+
 func (p *TSInsertRecordsOfOneDeviceReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -7134,17 +7012,18 @@ func (p *TSInsertRecordsOfOneDeviceReq) String() string {
 //  - ValuesList
 //  - Timestamps
 type TSInsertStringRecordsReq struct {
-	SessionId        int64      `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	DeviceIds        []string   `thrift:"deviceIds,2,required" db:"deviceIds" json:"deviceIds"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	DeviceIds []string `thrift:"deviceIds,2,required" db:"deviceIds" json:"deviceIds"`
 	MeasurementsList [][]string `thrift:"measurementsList,3,required" db:"measurementsList" json:"measurementsList"`
-	ValuesList       [][]string `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
-	Timestamps       []int64    `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
+	ValuesList [][]string `thrift:"valuesList,4,required" db:"valuesList" json:"valuesList"`
+	Timestamps []int64 `thrift:"timestamps,5,required" db:"timestamps" json:"timestamps"`
 }
 
 func NewTSInsertStringRecordsReq() *TSInsertStringRecordsReq {
 	return &TSInsertStringRecordsReq{}
 }
 
+
 func (p *TSInsertStringRecordsReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -7164,113 +7043,111 @@ func (p *TSInsertStringRecordsReq) GetValuesList() [][]string {
 func (p *TSInsertStringRecordsReq) GetTimestamps() []int64 {
 	return p.Timestamps
 }
-func (p *TSInsertStringRecordsReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSInsertStringRecordsReq) 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
-	var issetDeviceIds bool = false
-	var issetMeasurementsList bool = false
-	var issetValuesList bool = false
-	var issetTimestamps bool = false
+	var issetSessionId bool = false;
+	var issetDeviceIds bool = false;
+	var issetMeasurementsList bool = false;
+	var issetValuesList bool = false;
+	var issetTimestamps bool = false;
 
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
-		}
+		if fieldTypeId == thrift.STOP { break; }
 		switch fieldId {
 		case 1:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField1(iprot); err != nil {
+				if err := p.ReadField1(ctx, iprot); err != nil {
 					return err
 				}
 				issetSessionId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 2:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetDeviceIds = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 3:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField3(iprot); err != nil {
+				if err := p.ReadField3(ctx, iprot); err != nil {
 					return err
 				}
 				issetMeasurementsList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 4:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField4(iprot); err != nil {
+				if err := p.ReadField4(ctx, iprot); err != nil {
 					return err
 				}
 				issetValuesList = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.LIST {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetTimestamps = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		default:
-			if err := iprot.Skip(fieldTypeId); err != nil {
+			if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 				return err
 			}
 		}
-		if err := iprot.ReadFieldEnd(); err != nil {
+		if err := iprot.ReadFieldEnd(ctx); err != nil {
 			return err
 		}
 	}
-	if err := iprot.ReadStructEnd(); err != nil {
+	if err := iprot.ReadStructEnd(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err)
 	}
-	if !issetSessionId {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"))
+	if !issetSessionId{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SessionId is not set"));
 	}
-	if !issetDeviceIds {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceIds is not set"))
+	if !issetDeviceIds{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DeviceIds is not set"));
 	}
-	if !issetMeasurementsList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"))
+	if !issetMeasurementsList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MeasurementsList is not set"));
 	}
-	if !issetValuesList {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"))
+	if !issetValuesList{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field ValuesList is not set"));
 	}
-	if !issetTimestamps {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"))
+	if !issetTimestamps{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamps is not set"));
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordsReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSInsertStringRecordsReq)  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.SessionId = v
@@ -7278,261 +7155,271 @@ func (p *TSInsertStringRecordsReq) ReadField1(iprot thrift.TProtocol) error {
 	return nil
 }
 
-func (p *TSInsertStringRecordsReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertStringRecordsReq)  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.DeviceIds = tSlice
-	for i := 0; i < size; i++ {
-		var _elem37 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.DeviceIds =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem71 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem37 = v
+			_elem71 = v
 		}
-		p.DeviceIds = append(p.DeviceIds, _elem37)
+		p.DeviceIds = append(p.DeviceIds, _elem71)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordsReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertStringRecordsReq)  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.MeasurementsList = tSlice
-	for i := 0; i < size; i++ {
-		_, size, err := iprot.ReadListBegin()
+	p.MeasurementsList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, size, err := iprot.ReadListBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading list begin: ", err)
 		}
 		tSlice := make([]string, 0, size)
-		_elem38 := tSlice
-		for i := 0; i < size; i++ {
-			var _elem39 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem72 :=  tSlice
+		for i := 0; i < size; i ++ {
+			var _elem73 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_elem39 = v
+				_elem73 = v
 			}
-			_elem38 = append(_elem38, _elem39)
+			_elem72 = append(_elem72, _elem73)
 		}
-		if err := iprot.ReadListEnd(); err != nil {
+		if err := iprot.ReadListEnd(ctx); err != nil {
 			return thrift.PrependError("error reading list end: ", err)
 		}
-		p.MeasurementsList = append(p.MeasurementsList, _elem38)
+		p.MeasurementsList = append(p.MeasurementsList, _elem72)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordsReq) ReadField4(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertStringRecordsReq)  ReadField4(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.ValuesList = tSlice
-	for i := 0; i < size; i++ {
-		_, size, err := iprot.ReadListBegin()
+	p.ValuesList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, size, err := iprot.ReadListBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading list begin: ", err)
 		}
 		tSlice := make([]string, 0, size)
-		_elem40 := tSlice
-		for i := 0; i < size; i++ {
-			var _elem41 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem74 :=  tSlice
+		for i := 0; i < size; i ++ {
+			var _elem75 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_elem41 = v
+				_elem75 = v
 			}
-			_elem40 = append(_elem40, _elem41)
+			_elem74 = append(_elem74, _elem75)
 		}
-		if err := iprot.ReadListEnd(); err != nil {
+		if err := iprot.ReadListEnd(ctx); err != nil {
 			return thrift.PrependError("error reading list end: ", err)
 		}
-		p.ValuesList = append(p.ValuesList, _elem40)
+		p.ValuesList = append(p.ValuesList, _elem74)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordsReq) ReadField5(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSInsertStringRecordsReq)  ReadField5(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.Timestamps = tSlice
-	for i := 0; i < size; i++ {
-		var _elem42 int64
-		if v, err := iprot.ReadI64(); err != nil {
+	p.Timestamps =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem76 int64
+		if v, err := iprot.ReadI64(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem42 = v
+			_elem76 = v
 		}
-		p.Timestamps = append(p.Timestamps, _elem42)
+		p.Timestamps = append(p.Timestamps, _elem76)
 	}
-	if err := iprot.ReadListEnd(); err != nil {
+	if err := iprot.ReadListEnd(ctx); err != nil {
 		return thrift.PrependError("error reading list end: ", err)
 	}
 	return nil
 }
 
-func (p *TSInsertStringRecordsReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSInsertStringRecordsReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSInsertStringRecordsReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSInsertStringRecordsReq"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField4(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField5(oprot); err != nil {
-			return err
-		}
-	}
-	if err := oprot.WriteFieldStop(); err != nil {
-		return thrift.PrependError("write field stop error: ", err)
-	}
-	if err := oprot.WriteStructEnd(); err != nil {
-		return thrift.PrependError("write struct stop error: ", err)
-	}
-	return nil
-}
-
-func (p *TSInsertStringRecordsReq) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("sessionId", thrift.I64, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:sessionId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.SessionId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err)
-	}
+		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 *TSInsertStringRecordsReq) 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 {
+		return thrift.PrependError(fmt.Sprintf("%T.sessionId (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
... 15849 lines suppressed ...