Upgrade thrift to v0.14.1 to match IoTDB v0.12.1 (#22)

diff --git a/LICENSE-binary b/LICENSE-binary
index 4c5ac5d..6620f9a 100644
--- a/LICENSE-binary
+++ b/LICENSE-binary
@@ -215,4 +215,4 @@
 
 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 @@
 	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 @@
 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 @@
 * 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 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 @@
 * 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 @@
 
 	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 @@
 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 @@
 
 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) UnmarshalText(text []byte) error {
 	q, err := TSProtocolVersionFromString(string(text))
-	if err != nil {
+	if (err != nil) {
 		return err
 	}
 	*p = q
@@ -76,25 +69,25 @@
 	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) 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 @@
 	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 @@
 	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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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 @@
 	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 @@
 	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 @@
 	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 := 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(); 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 := 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 @@
 //  - 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 @@
 	return &TSQueryDataSet{}
 }
 
+
 func (p *TSQueryDataSet) GetTime() []byte {
 	return p.Time
 }
@@ -535,83 +520,81 @@
 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 @@
 	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 {
-			return thrift.PrependError("error reading field 0: ", err)
-		} else {
-			_elem1 = v
-		}
-		p.ValueList = append(p.ValueList, _elem1)
-	}
-	if err := iprot.ReadListEnd(); err != nil {
-		return thrift.PrependError("error reading list end: ", err)
-	}
-	return nil
-}
-
-func (p *TSQueryDataSet) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
-	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++ {
+	p.ValueList =  tSlice
+	for i := 0; i < size; i ++ {
 		var _elem2 []byte
-		if v, err := iprot.ReadBinary(); err != nil {
+		if v, err := iprot.ReadBinary(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
 			_elem2 = v
 		}
-		p.BitmapList = append(p.BitmapList, _elem2)
+		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) 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)  ReadField3(ctx context.Context, iprot thrift.TProtocol) error {
+	_, size, err := iprot.ReadListBegin(ctx)
+	if err != nil {
+		return thrift.PrependError("error reading list begin: ", err)
 	}
-	if p != nil {
-		if err := p.writeField1(oprot); err != nil {
-			return err
+	tSlice := make([][]byte, 0, size)
+	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 {
+			_elem3 = v
 		}
-		if err := p.writeField2(oprot); err != nil {
-			return err
-		}
-		if err := p.writeField3(oprot); err != nil {
-			return err
-		}
+		p.BitmapList = append(p.BitmapList, _elem3)
 	}
-	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 := iprot.ReadListEnd(ctx); err != nil {
+		return thrift.PrependError("error reading list end: ", 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)
+func (p *TSQueryDataSet) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSQueryDataSet"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
+	if p != nil {
+		if err := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, oprot); err != nil { return err }
+		if err := p.writeField3(ctx, oprot); err != nil { return err }
 	}
-	if err := oprot.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)
-	}
+	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(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 @@
 //  - 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 @@
 	return &TSQueryNonAlignDataSet{}
 }
 
+
 func (p *TSQueryNonAlignDataSet) GetTimeList() [][]byte {
 	return p.TimeList
 }
@@ -768,173 +754,177 @@
 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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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 @@
 }
 
 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 := 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(); 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 := 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(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 *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 @@
 //  - 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 @@
 }
 
 var TSOpenSessionResp_Status_DEFAULT *TSStatus
-
 func (p *TSOpenSessionResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSOpenSessionResp_Status_DEFAULT
@@ -1562,16 +1534,13 @@
 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 @@
 	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 @@
 	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 @@
 	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 := 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(); 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 := 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 @@
 //  - 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 (p *TSOpenSessionReq) GetClientProtocol() TSProtocolVersion {
 	return p.ClientProtocol
 }
@@ -1852,25 +1819,20 @@
 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 := 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(); 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 := 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(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)
-	}
+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 @@
 	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 @@
 	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 := p.writeField1(ctx, 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 := 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 @@
 //  - 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) 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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,123 +2449,120 @@
 	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 := 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(); 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 := 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(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 *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.WriteBool(bool(*p.EnableRedirectQuery)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.enableRedirectQuery (6) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end 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 (*p.FetchSize) != (*other.FetchSize) { return false }
+	}
+	if p.Timeout != other.Timeout {
+		if p.Timeout == nil || other.Timeout == nil {
+			return false
+		}
+		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 true
+}
+
 func (p *TSExecuteStatementReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -2624,7 +2574,7 @@
 //  - 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 @@
 	return &TSExecuteBatchStatementReq{}
 }
 
+
 func (p *TSExecuteBatchStatementReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -2639,68 +2590,66 @@
 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 @@
 	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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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) 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 @@
 	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 @@
 	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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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) 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 @@
 	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 @@
 	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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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,73 +3169,77 @@
 	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 := 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(); 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 := 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.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 3:statementId: ", 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 (*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 true
+}
+
 func (p *TSCloseOperationReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -3311,18 +3255,19 @@
 //  - 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) 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 @@
 	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,119 +3465,106 @@
 	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 := 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(); 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 := 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(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) 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) 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) 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) 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) 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) 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) 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) 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) 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) writeField6(oprot thrift.TProtocol) (err error) {
+func (p *TSFetchResultsReq) writeField6(ctx context.Context, 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)
-		}
+		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) 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 true
+}
+
 func (p *TSFetchResultsReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -3651,10 +3579,10 @@
 //  - 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 @@
 }
 
 var TSFetchResultsResp_Status_DEFAULT *TSStatus
-
 func (p *TSFetchResultsResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSFetchResultsResp_Status_DEFAULT
@@ -3678,18 +3605,14 @@
 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 @@
 	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 @@
 	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 @@
 	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 := 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(); 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 := 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 @@
 //  - 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 @@
 }
 
 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 @@
 	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 @@
 	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,99 +4040,104 @@
 	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 := 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(); 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 := 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.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 4:dataType: ", 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 (*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 true
+}
+
 func (p *TSFetchMetadataResp) String() string {
 	if p == nil {
 		return "<nil>"
@@ -4243,8 +4150,8 @@
 //  - 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 @@
 	return &TSFetchMetadataReq{}
 }
 
+
 func (p *TSFetchMetadataReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -4259,9 +4167,7 @@
 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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 := 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(); 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 := 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 @@
 //  - 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 @@
 }
 
 var TSGetTimeZoneResp_Status_DEFAULT *TSStatus
-
 func (p *TSGetTimeZoneResp) GetStatus() *TSStatus {
 	if !p.IsSetStatus() {
 		return TSGetTimeZoneResp_Status_DEFAULT
@@ -4469,76 +4371,74 @@
 	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 @@
 	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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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) 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 @@
 	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 @@
 	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 := p.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 @@
 //  - 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) 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 @@
 	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 @@
 	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 @@
 	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,109 +4846,99 @@
 	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 := 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(); 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 := 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(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 *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)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamp: ", 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 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 }
+	}
+	if bytes.Compare(p.Values, other.Values) != 0 { return false }
+	if p.Timestamp != other.Timestamp { return false }
+	return true
+}
+
 func (p *TSInsertRecordReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -5068,17 +4953,18 @@
 //  - 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) 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 @@
 	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 @@
 	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,117 +5158,111 @@
 	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 := 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(); 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 := 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(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 *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(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)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:timestamp: ", p), 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) Equals(other *TSInsertStringRecordReq) 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.Measurements) != len(other.Measurements) { return false }
+	for i, _tgt := range p.Measurements {
+		_src31 := other.Measurements[i]
+		if _tgt != _src31 { return false }
+	}
+	if len(p.Values) != len(other.Values) { return false }
+	for i, _tgt := range p.Values {
+		_src32 := other.Values[i]
+		if _tgt != _src32 { return false }
+	}
+	if p.Timestamp != other.Timestamp { return false }
+	return true
+}
+
 func (p *TSInsertStringRecordReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -5401,19 +5279,20 @@
 //  - 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) 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 @@
 	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 @@
 	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 @@
 	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 @@
 	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,149 +5542,135 @@
 	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 := 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(); 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 := 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(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 *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(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)
-	}
-	if err := oprot.WriteI32(int32(p.Size)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.size (7) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 7:size: ", p), 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) Equals(other *TSInsertTabletReq) 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.Measurements) != len(other.Measurements) { return false }
+	for i, _tgt := range p.Measurements {
+		_src35 := other.Measurements[i]
+		if _tgt != _src35 { return false }
+	}
+	if bytes.Compare(p.Values, other.Values) != 0 { return false }
+	if bytes.Compare(p.Timestamps, other.Timestamps) != 0 { return false }
+	if len(p.Types) != len(other.Types) { return false }
+	for i, _tgt := range p.Types {
+		_src36 := other.Types[i]
+		if _tgt != _src36 { return false }
+	}
+	if p.Size != other.Size { return false }
+	return true
+}
+
 func (p *TSInsertTabletReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -5824,19 +5687,20 @@
 //  - 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) 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 @@
 	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 := 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(); 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 := 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(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 *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 @@
 //  - 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) 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 @@
 	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 := 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(); 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 := 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(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 *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 @@
 //  - 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) 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 @@
 	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 @@
 	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 := 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(); 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 := 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(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 *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 @@
 //  - 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) 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 @@
 	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 := 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(); 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 := 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(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 *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 {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:sessionId: ", p), err) }
 	return err
 }
 
-func (p *TSInsertStringRecordsReq) 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 *TSInsertStringRecordsReq) 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 *TSInsertStringRecordsReq) 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 *TSInsertStringRecordsReq) 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 *TSInsertStringRecordsReq) 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.LIST, len(p.ValuesList)); err != nil {
+func (p *TSInsertStringRecordsReq) 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.LIST, len(p.ValuesList)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.ValuesList {
-		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 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 *TSInsertStringRecordsReq) 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 *TSInsertStringRecordsReq) 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 *TSInsertStringRecordsReq) Equals(other *TSInsertStringRecordsReq) 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 {
+		_src77 := other.DeviceIds[i]
+		if _tgt != _src77 { return false }
+	}
+	if len(p.MeasurementsList) != len(other.MeasurementsList) { return false }
+	for i, _tgt := range p.MeasurementsList {
+		_src78 := other.MeasurementsList[i]
+		if len(_tgt) != len(_src78) { return false }
+		for i, _tgt := range _tgt {
+			_src79 := _src78[i]
+			if _tgt != _src79 { return false }
+		}
+	}
+	if len(p.ValuesList) != len(other.ValuesList) { return false }
+	for i, _tgt := range p.ValuesList {
+		_src80 := other.ValuesList[i]
+		if len(_tgt) != len(_src80) { return false }
+		for i, _tgt := range _tgt {
+			_src81 := _src80[i]
+			if _tgt != _src81 { return false }
+		}
+	}
+	if len(p.Timestamps) != len(other.Timestamps) { return false }
+	for i, _tgt := range p.Timestamps {
+		_src82 := other.Timestamps[i]
+		if _tgt != _src82 { return false }
+	}
+	return true
+}
+
 func (p *TSInsertStringRecordsReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -7546,16 +7433,17 @@
 //  - StartTime
 //  - EndTime
 type TSDeleteDataReq struct {
-	SessionId int64    `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	Paths     []string `thrift:"paths,2,required" db:"paths" json:"paths"`
-	StartTime int64    `thrift:"startTime,3,required" db:"startTime" json:"startTime"`
-	EndTime   int64    `thrift:"endTime,4,required" db:"endTime" json:"endTime"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	Paths []string `thrift:"paths,2,required" db:"paths" json:"paths"`
+	StartTime int64 `thrift:"startTime,3,required" db:"startTime" json:"startTime"`
+	EndTime int64 `thrift:"endTime,4,required" db:"endTime" json:"endTime"`
 }
 
 func NewTSDeleteDataReq() *TSDeleteDataReq {
 	return &TSDeleteDataReq{}
 }
 
+
 func (p *TSDeleteDataReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -7571,98 +7459,96 @@
 func (p *TSDeleteDataReq) GetEndTime() int64 {
 	return p.EndTime
 }
-func (p *TSDeleteDataReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSDeleteDataReq) 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 issetPaths bool = false
-	var issetStartTime bool = false
-	var issetEndTime bool = false
+	var issetSessionId bool = false;
+	var issetPaths bool = false;
+	var issetStartTime bool = false;
+	var issetEndTime 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
 				}
 				issetPaths = 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
 				}
 				issetStartTime = 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
 				}
 				issetEndTime = 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 !issetPaths {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"))
+	if !issetPaths{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"));
 	}
-	if !issetStartTime {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StartTime is not set"))
+	if !issetStartTime{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StartTime is not set"));
 	}
-	if !issetEndTime {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field EndTime is not set"))
+	if !issetEndTime{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field EndTime is not set"));
 	}
 	return nil
 }
 
-func (p *TSDeleteDataReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSDeleteDataReq)  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
@@ -7670,30 +7556,30 @@
 	return nil
 }
 
-func (p *TSDeleteDataReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSDeleteDataReq)  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.Paths = tSlice
-	for i := 0; i < size; i++ {
-		var _elem43 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Paths =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem83 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem43 = v
+			_elem83 = v
 		}
-		p.Paths = append(p.Paths, _elem43)
+		p.Paths = append(p.Paths, _elem83)
 	}
-	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 *TSDeleteDataReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSDeleteDataReq)  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.StartTime = v
@@ -7701,8 +7587,8 @@
 	return nil
 }
 
-func (p *TSDeleteDataReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSDeleteDataReq)  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.EndTime = v
@@ -7710,93 +7596,87 @@
 	return nil
 }
 
-func (p *TSDeleteDataReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSDeleteDataReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSDeleteDataReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSDeleteDataReq"); 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.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(); 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 := 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 *TSDeleteDataReq) 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 *TSDeleteDataReq) 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 *TSDeleteDataReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("paths", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:paths: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Paths)); err != nil {
+func (p *TSDeleteDataReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "paths", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:paths: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Paths)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Paths {
-		if err := oprot.WriteString(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:paths: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:paths: ", p), err) }
 	return err
 }
 
-func (p *TSDeleteDataReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("startTime", thrift.I64, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:startTime: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.StartTime)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.startTime (3) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:startTime: ", p), err)
-	}
+func (p *TSDeleteDataReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "startTime", thrift.I64, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:startTime: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.StartTime)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.startTime (3) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:startTime: ", p), err) }
 	return err
 }
 
-func (p *TSDeleteDataReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("endTime", thrift.I64, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:endTime: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.EndTime)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.endTime (4) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:endTime: ", p), err)
-	}
+func (p *TSDeleteDataReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "endTime", thrift.I64, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:endTime: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.endTime (4) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:endTime: ", p), err) }
 	return err
 }
 
+func (p *TSDeleteDataReq) Equals(other *TSDeleteDataReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if len(p.Paths) != len(other.Paths) { return false }
+	for i, _tgt := range p.Paths {
+		_src84 := other.Paths[i]
+		if _tgt != _src84 { return false }
+	}
+	if p.StartTime != other.StartTime { return false }
+	if p.EndTime != other.EndTime { return false }
+	return true
+}
+
 func (p *TSDeleteDataReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -7815,21 +7695,22 @@
 //  - Attributes
 //  - MeasurementAlias
 type TSCreateTimeseriesReq struct {
-	SessionId        int64             `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	Path             string            `thrift:"path,2,required" db:"path" json:"path"`
-	DataType         int32             `thrift:"dataType,3,required" db:"dataType" json:"dataType"`
-	Encoding         int32             `thrift:"encoding,4,required" db:"encoding" json:"encoding"`
-	Compressor       int32             `thrift:"compressor,5,required" db:"compressor" json:"compressor"`
-	Props            map[string]string `thrift:"props,6" db:"props" json:"props,omitempty"`
-	Tags             map[string]string `thrift:"tags,7" db:"tags" json:"tags,omitempty"`
-	Attributes       map[string]string `thrift:"attributes,8" db:"attributes" json:"attributes,omitempty"`
-	MeasurementAlias *string           `thrift:"measurementAlias,9" db:"measurementAlias" json:"measurementAlias,omitempty"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	Path string `thrift:"path,2,required" db:"path" json:"path"`
+	DataType int32 `thrift:"dataType,3,required" db:"dataType" json:"dataType"`
+	Encoding int32 `thrift:"encoding,4,required" db:"encoding" json:"encoding"`
+	Compressor int32 `thrift:"compressor,5,required" db:"compressor" json:"compressor"`
+	Props map[string]string `thrift:"props,6" db:"props" json:"props,omitempty"`
+	Tags map[string]string `thrift:"tags,7" db:"tags" json:"tags,omitempty"`
+	Attributes map[string]string `thrift:"attributes,8" db:"attributes" json:"attributes,omitempty"`
+	MeasurementAlias *string `thrift:"measurementAlias,9" db:"measurementAlias" json:"measurementAlias,omitempty"`
 }
 
 func NewTSCreateTimeseriesReq() *TSCreateTimeseriesReq {
 	return &TSCreateTimeseriesReq{}
 }
 
+
 func (p *TSCreateTimeseriesReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -7849,27 +7730,22 @@
 func (p *TSCreateTimeseriesReq) GetCompressor() int32 {
 	return p.Compressor
 }
-
 var TSCreateTimeseriesReq_Props_DEFAULT map[string]string
 
 func (p *TSCreateTimeseriesReq) GetProps() map[string]string {
 	return p.Props
 }
-
 var TSCreateTimeseriesReq_Tags_DEFAULT map[string]string
 
 func (p *TSCreateTimeseriesReq) GetTags() map[string]string {
 	return p.Tags
 }
-
 var TSCreateTimeseriesReq_Attributes_DEFAULT map[string]string
 
 func (p *TSCreateTimeseriesReq) GetAttributes() map[string]string {
 	return p.Attributes
 }
-
 var TSCreateTimeseriesReq_MeasurementAlias_DEFAULT string
-
 func (p *TSCreateTimeseriesReq) GetMeasurementAlias() string {
 	if !p.IsSetMeasurementAlias() {
 		return TSCreateTimeseriesReq_MeasurementAlias_DEFAULT
@@ -7892,153 +7768,151 @@
 	return p.MeasurementAlias != nil
 }
 
-func (p *TSCreateTimeseriesReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSCreateTimeseriesReq) 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 issetPath bool = false
-	var issetDataType bool = false
-	var issetEncoding bool = false
-	var issetCompressor bool = false
+	var issetSessionId bool = false;
+	var issetPath bool = false;
+	var issetDataType bool = false;
+	var issetEncoding bool = false;
+	var issetCompressor 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
 				}
 				issetPath = 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
 				}
 				issetDataType = 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
 				}
 				issetEncoding = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 5:
 			if fieldTypeId == thrift.I32 {
-				if err := p.ReadField5(iprot); err != nil {
+				if err := p.ReadField5(ctx, iprot); err != nil {
 					return err
 				}
 				issetCompressor = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 6:
 			if fieldTypeId == thrift.MAP {
-				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.MAP {
-				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.MAP {
-				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.STRING {
-				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 !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 !issetPath {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Path is not set"))
+	if !issetPath{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Path is not set"));
 	}
-	if !issetDataType {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataType is not set"))
+	if !issetDataType{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataType is not set"));
 	}
-	if !issetEncoding {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set"))
+	if !issetEncoding{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encoding is not set"));
 	}
-	if !issetCompressor {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Compressor is not set"))
+	if !issetCompressor{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Compressor is not set"));
 	}
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCreateTimeseriesReq)  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
@@ -8046,8 +7920,8 @@
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSCreateTimeseriesReq)  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.Path = v
@@ -8055,8 +7929,8 @@
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSCreateTimeseriesReq)  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.DataType = v
@@ -8064,8 +7938,8 @@
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSCreateTimeseriesReq)  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.Encoding = v
@@ -8073,8 +7947,8 @@
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSCreateTimeseriesReq)  ReadField5(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI32(ctx); err != nil {
 		return thrift.PrependError("error reading field 5: ", err)
 	} else {
 		p.Compressor = v
@@ -8082,92 +7956,92 @@
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) ReadField6(iprot thrift.TProtocol) error {
-	_, _, size, err := iprot.ReadMapBegin()
+func (p *TSCreateTimeseriesReq)  ReadField6(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.Props = tMap
-	for i := 0; i < size; i++ {
-		var _key44 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Props =  tMap
+	for i := 0; i < size; i ++ {
+		var _key85 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_key44 = v
+			_key85 = v
 		}
-		var _val45 string
-		if v, err := iprot.ReadString(); err != nil {
+		var _val86 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_val45 = v
+			_val86 = v
 		}
-		p.Props[_key44] = _val45
+		p.Props[_key85] = _val86
 	}
-	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 *TSCreateTimeseriesReq) ReadField7(iprot thrift.TProtocol) error {
-	_, _, size, err := iprot.ReadMapBegin()
+func (p *TSCreateTimeseriesReq)  ReadField7(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.Tags = tMap
-	for i := 0; i < size; i++ {
-		var _key46 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Tags =  tMap
+	for i := 0; i < size; i ++ {
+		var _key87 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_key46 = v
+			_key87 = v
 		}
-		var _val47 string
-		if v, err := iprot.ReadString(); err != nil {
+		var _val88 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_val47 = v
+			_val88 = v
 		}
-		p.Tags[_key46] = _val47
+		p.Tags[_key87] = _val88
 	}
-	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 *TSCreateTimeseriesReq) ReadField8(iprot thrift.TProtocol) error {
-	_, _, size, err := iprot.ReadMapBegin()
+func (p *TSCreateTimeseriesReq)  ReadField8(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.Attributes = tMap
-	for i := 0; i < size; i++ {
-		var _key48 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Attributes =  tMap
+	for i := 0; i < size; i ++ {
+		var _key89 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_key48 = v
+			_key89 = v
 		}
-		var _val49 string
-		if v, err := iprot.ReadString(); err != nil {
+		var _val90 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_val49 = v
+			_val90 = v
 		}
-		p.Attributes[_key48] = _val49
+		p.Attributes[_key89] = _val90
 	}
-	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 *TSCreateTimeseriesReq) ReadField9(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSCreateTimeseriesReq)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadString(ctx); err != nil {
 		return thrift.PrependError("error reading field 9: ", err)
 	} else {
 		p.MeasurementAlias = &v
@@ -8175,206 +8049,190 @@
 	return nil
 }
 
-func (p *TSCreateTimeseriesReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSCreateTimeseriesReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSCreateTimeseriesReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSCreateTimeseriesReq"); 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 := 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(); 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 := 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 *TSCreateTimeseriesReq) 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 *TSCreateTimeseriesReq) 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 *TSCreateTimeseriesReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("path", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:path: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.Path)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.path (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:path: ", p), err)
-	}
+func (p *TSCreateTimeseriesReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "path", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:path: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.Path)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.path (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:path: ", p), err) }
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("dataType", thrift.I32, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:dataType: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.DataType)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.dataType (3) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:dataType: ", p), err)
-	}
+func (p *TSCreateTimeseriesReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "dataType", thrift.I32, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:dataType: ", p), err) }
+	if err := oprot.WriteI32(ctx, int32(p.DataType)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.dataType (3) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:dataType: ", p), err) }
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("encoding", thrift.I32, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:encoding: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.Encoding)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.encoding (4) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:encoding: ", p), err)
-	}
+func (p *TSCreateTimeseriesReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "encoding", thrift.I32, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:encoding: ", p), err) }
+	if err := oprot.WriteI32(ctx, int32(p.Encoding)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.encoding (4) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:encoding: ", p), err) }
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("compressor", thrift.I32, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:compressor: ", p), err)
-	}
-	if err := oprot.WriteI32(int32(p.Compressor)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.compressor (5) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:compressor: ", p), err)
-	}
+func (p *TSCreateTimeseriesReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "compressor", thrift.I32, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:compressor: ", p), err) }
+	if err := oprot.WriteI32(ctx, int32(p.Compressor)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.compressor (5) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:compressor: ", p), err) }
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField6(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateTimeseriesReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetProps() {
-		if err := oprot.WriteFieldBegin("props", thrift.MAP, 6); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:props: ", p), err)
-		}
-		if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Props)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "props", thrift.MAP, 6); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:props: ", p), err) }
+		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Props)); err != nil {
 			return thrift.PrependError("error writing map begin: ", err)
 		}
 		for k, v := range p.Props {
-			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 6:props: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:props: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField7(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateTimeseriesReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetTags() {
-		if err := oprot.WriteFieldBegin("tags", thrift.MAP, 7); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:tags: ", p), err)
-		}
-		if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Tags)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "tags", thrift.MAP, 7); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:tags: ", p), err) }
+		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Tags)); err != nil {
 			return thrift.PrependError("error writing map begin: ", err)
 		}
 		for k, v := range p.Tags {
-			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 7:tags: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 7:tags: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField8(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateTimeseriesReq) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetAttributes() {
-		if err := oprot.WriteFieldBegin("attributes", thrift.MAP, 8); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:attributes: ", p), err)
-		}
-		if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(p.Attributes)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "attributes", thrift.MAP, 8); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:attributes: ", p), err) }
+		if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(p.Attributes)); err != nil {
 			return thrift.PrependError("error writing map begin: ", err)
 		}
 		for k, v := range p.Attributes {
-			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 8:attributes: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 8:attributes: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSCreateTimeseriesReq) writeField9(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateTimeseriesReq) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetMeasurementAlias() {
-		if err := oprot.WriteFieldBegin("measurementAlias", thrift.STRING, 9); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:measurementAlias: ", p), err)
-		}
-		if err := oprot.WriteString(string(*p.MeasurementAlias)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.measurementAlias (9) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 9:measurementAlias: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "measurementAlias", thrift.STRING, 9); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:measurementAlias: ", p), err) }
+		if err := oprot.WriteString(ctx, string(*p.MeasurementAlias)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.measurementAlias (9) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 9:measurementAlias: ", p), err) }
 	}
 	return err
 }
 
+func (p *TSCreateTimeseriesReq) Equals(other *TSCreateTimeseriesReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if p.Path != other.Path { return false }
+	if p.DataType != other.DataType { return false }
+	if p.Encoding != other.Encoding { return false }
+	if p.Compressor != other.Compressor { return false }
+	if len(p.Props) != len(other.Props) { return false }
+	for k, _tgt := range p.Props {
+		_src91 := other.Props[k]
+		if _tgt != _src91 { return false }
+	}
+	if len(p.Tags) != len(other.Tags) { return false }
+	for k, _tgt := range p.Tags {
+		_src92 := other.Tags[k]
+		if _tgt != _src92 { return false }
+	}
+	if len(p.Attributes) != len(other.Attributes) { return false }
+	for k, _tgt := range p.Attributes {
+		_src93 := other.Attributes[k]
+		if _tgt != _src93 { return false }
+	}
+	if p.MeasurementAlias != other.MeasurementAlias {
+		if p.MeasurementAlias == nil || other.MeasurementAlias == nil {
+			return false
+		}
+		if (*p.MeasurementAlias) != (*other.MeasurementAlias) { return false }
+	}
+	return true
+}
+
 func (p *TSCreateTimeseriesReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -8391,19 +8249,20 @@
 //  - StatementId
 //  - EnableRedirectQuery
 type TSRawDataQueryReq struct {
-	SessionId           int64    `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	Paths               []string `thrift:"paths,2,required" db:"paths" json:"paths"`
-	FetchSize           *int32   `thrift:"fetchSize,3" db:"fetchSize" json:"fetchSize,omitempty"`
-	StartTime           int64    `thrift:"startTime,4,required" db:"startTime" json:"startTime"`
-	EndTime             int64    `thrift:"endTime,5,required" db:"endTime" json:"endTime"`
-	StatementId         int64    `thrift:"statementId,6,required" db:"statementId" json:"statementId"`
-	EnableRedirectQuery *bool    `thrift:"enableRedirectQuery,7" db:"enableRedirectQuery" json:"enableRedirectQuery,omitempty"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	Paths []string `thrift:"paths,2,required" db:"paths" json:"paths"`
+	FetchSize *int32 `thrift:"fetchSize,3" db:"fetchSize" json:"fetchSize,omitempty"`
+	StartTime int64 `thrift:"startTime,4,required" db:"startTime" json:"startTime"`
+	EndTime int64 `thrift:"endTime,5,required" db:"endTime" json:"endTime"`
+	StatementId int64 `thrift:"statementId,6,required" db:"statementId" json:"statementId"`
+	EnableRedirectQuery *bool `thrift:"enableRedirectQuery,7" db:"enableRedirectQuery" json:"enableRedirectQuery,omitempty"`
 }
 
 func NewTSRawDataQueryReq() *TSRawDataQueryReq {
 	return &TSRawDataQueryReq{}
 }
 
+
 func (p *TSRawDataQueryReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -8411,9 +8270,7 @@
 func (p *TSRawDataQueryReq) GetPaths() []string {
 	return p.Paths
 }
-
 var TSRawDataQueryReq_FetchSize_DEFAULT int32
-
 func (p *TSRawDataQueryReq) GetFetchSize() int32 {
 	if !p.IsSetFetchSize() {
 		return TSRawDataQueryReq_FetchSize_DEFAULT
@@ -8432,9 +8289,7 @@
 func (p *TSRawDataQueryReq) GetStatementId() int64 {
 	return p.StatementId
 }
-
 var TSRawDataQueryReq_EnableRedirectQuery_DEFAULT bool
-
 func (p *TSRawDataQueryReq) GetEnableRedirectQuery() bool {
 	if !p.IsSetEnableRedirectQuery() {
 		return TSRawDataQueryReq_EnableRedirectQuery_DEFAULT
@@ -8449,133 +8304,131 @@
 	return p.EnableRedirectQuery != nil
 }
 
-func (p *TSRawDataQueryReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSRawDataQueryReq) 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 issetPaths bool = false
-	var issetStartTime bool = false
-	var issetEndTime bool = false
-	var issetStatementId bool = false
+	var issetSessionId bool = false;
+	var issetPaths bool = false;
+	var issetStartTime bool = false;
+	var issetEndTime 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.LIST {
-				if err := p.ReadField2(iprot); err != nil {
+				if err := p.ReadField2(ctx, iprot); err != nil {
 					return err
 				}
 				issetPaths = 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
 				}
 			} 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
 				}
 				issetStartTime = 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
 				}
 				issetEndTime = 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
 				}
 				issetStatementId = true
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 7:
 			if fieldTypeId == thrift.BOOL {
-				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
 				}
 			}
 		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 !issetPaths {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"))
+	if !issetPaths{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"));
 	}
-	if !issetStartTime {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StartTime is not set"))
+	if !issetStartTime{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field StartTime is not set"));
 	}
-	if !issetEndTime {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field EndTime is not set"))
+	if !issetEndTime{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field EndTime 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 *TSRawDataQueryReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSRawDataQueryReq)  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
@@ -8583,30 +8436,30 @@
 	return nil
 }
 
-func (p *TSRawDataQueryReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSRawDataQueryReq)  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.Paths = tSlice
-	for i := 0; i < size; i++ {
-		var _elem50 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Paths =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem94 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem50 = v
+			_elem94 = v
 		}
-		p.Paths = append(p.Paths, _elem50)
+		p.Paths = append(p.Paths, _elem94)
 	}
-	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 *TSRawDataQueryReq) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI32(); err != nil {
+func (p *TSRawDataQueryReq)  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
@@ -8614,8 +8467,8 @@
 	return nil
 }
 
-func (p *TSRawDataQueryReq) ReadField4(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSRawDataQueryReq)  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.StartTime = v
@@ -8623,8 +8476,8 @@
 	return nil
 }
 
-func (p *TSRawDataQueryReq) ReadField5(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSRawDataQueryReq)  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.EndTime = v
@@ -8632,8 +8485,8 @@
 	return nil
 }
 
-func (p *TSRawDataQueryReq) ReadField6(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSRawDataQueryReq)  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.StatementId = v
@@ -8641,8 +8494,8 @@
 	return nil
 }
 
-func (p *TSRawDataQueryReq) ReadField7(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadBool(); err != nil {
+func (p *TSRawDataQueryReq)  ReadField7(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadBool(ctx); err != nil {
 		return thrift.PrependError("error reading field 7: ", err)
 	} else {
 		p.EnableRedirectQuery = &v
@@ -8650,145 +8503,137 @@
 	return nil
 }
 
-func (p *TSRawDataQueryReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSRawDataQueryReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSRawDataQueryReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSRawDataQueryReq"); 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.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(); 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 := 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 *TSRawDataQueryReq) 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 *TSRawDataQueryReq) 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 *TSRawDataQueryReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("paths", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:paths: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Paths)); err != nil {
+func (p *TSRawDataQueryReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "paths", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:paths: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Paths)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Paths {
-		if err := oprot.WriteString(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:paths: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:paths: ", p), err) }
 	return err
 }
 
-func (p *TSRawDataQueryReq) writeField3(oprot thrift.TProtocol) (err error) {
+func (p *TSRawDataQueryReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetFetchSize() {
-		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)
-		}
+		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 *TSRawDataQueryReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("startTime", thrift.I64, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:startTime: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.StartTime)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.startTime (4) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:startTime: ", p), err)
-	}
+func (p *TSRawDataQueryReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "startTime", thrift.I64, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:startTime: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.StartTime)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.startTime (4) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:startTime: ", p), err) }
 	return err
 }
 
-func (p *TSRawDataQueryReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("endTime", thrift.I64, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:endTime: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.EndTime)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.endTime (5) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:endTime: ", p), err)
-	}
+func (p *TSRawDataQueryReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "endTime", thrift.I64, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:endTime: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.EndTime)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.endTime (5) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:endTime: ", p), err) }
 	return err
 }
 
-func (p *TSRawDataQueryReq) writeField6(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("statementId", thrift.I64, 6); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:statementId: ", p), err)
-	}
-	if err := oprot.WriteI64(int64(p.StatementId)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.statementId (6) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 6:statementId: ", p), err)
-	}
+func (p *TSRawDataQueryReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "statementId", thrift.I64, 6); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:statementId: ", p), err) }
+	if err := oprot.WriteI64(ctx, int64(p.StatementId)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.statementId (6) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 6:statementId: ", p), err) }
 	return err
 }
 
-func (p *TSRawDataQueryReq) writeField7(oprot thrift.TProtocol) (err error) {
+func (p *TSRawDataQueryReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetEnableRedirectQuery() {
-		if err := oprot.WriteFieldBegin("enableRedirectQuery", thrift.BOOL, 7); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:enableRedirectQuery: ", p), err)
-		}
-		if err := oprot.WriteBool(bool(*p.EnableRedirectQuery)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.enableRedirectQuery (7) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 7:enableRedirectQuery: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "enableRedirectQuery", thrift.BOOL, 7); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:enableRedirectQuery: ", p), err) }
+		if err := oprot.WriteBool(ctx, bool(*p.EnableRedirectQuery)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.enableRedirectQuery (7) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 7:enableRedirectQuery: ", p), err) }
 	}
 	return err
 }
 
+func (p *TSRawDataQueryReq) Equals(other *TSRawDataQueryReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if len(p.Paths) != len(other.Paths) { return false }
+	for i, _tgt := range p.Paths {
+		_src95 := other.Paths[i]
+		if _tgt != _src95 { return false }
+	}
+	if p.FetchSize != other.FetchSize {
+		if p.FetchSize == nil || other.FetchSize == nil {
+			return false
+		}
+		if (*p.FetchSize) != (*other.FetchSize) { return false }
+	}
+	if p.StartTime != other.StartTime { return false }
+	if p.EndTime != other.EndTime { return false }
+	if p.StatementId != other.StatementId { return false }
+	if p.EnableRedirectQuery != other.EnableRedirectQuery {
+		if p.EnableRedirectQuery == nil || other.EnableRedirectQuery == nil {
+			return false
+		}
+		if (*p.EnableRedirectQuery) != (*other.EnableRedirectQuery) { return false }
+	}
+	return true
+}
+
 func (p *TSRawDataQueryReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -8807,21 +8652,22 @@
 //  - AttributesList
 //  - MeasurementAliasList
 type TSCreateMultiTimeseriesReq struct {
-	SessionId            int64               `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
-	Paths                []string            `thrift:"paths,2,required" db:"paths" json:"paths"`
-	DataTypes            []int32             `thrift:"dataTypes,3,required" db:"dataTypes" json:"dataTypes"`
-	Encodings            []int32             `thrift:"encodings,4,required" db:"encodings" json:"encodings"`
-	Compressors          []int32             `thrift:"compressors,5,required" db:"compressors" json:"compressors"`
-	PropsList            []map[string]string `thrift:"propsList,6" db:"propsList" json:"propsList,omitempty"`
-	TagsList             []map[string]string `thrift:"tagsList,7" db:"tagsList" json:"tagsList,omitempty"`
-	AttributesList       []map[string]string `thrift:"attributesList,8" db:"attributesList" json:"attributesList,omitempty"`
-	MeasurementAliasList []string            `thrift:"measurementAliasList,9" db:"measurementAliasList" json:"measurementAliasList,omitempty"`
+	SessionId int64 `thrift:"sessionId,1,required" db:"sessionId" json:"sessionId"`
+	Paths []string `thrift:"paths,2,required" db:"paths" json:"paths"`
+	DataTypes []int32 `thrift:"dataTypes,3,required" db:"dataTypes" json:"dataTypes"`
+	Encodings []int32 `thrift:"encodings,4,required" db:"encodings" json:"encodings"`
+	Compressors []int32 `thrift:"compressors,5,required" db:"compressors" json:"compressors"`
+	PropsList []map[string]string `thrift:"propsList,6" db:"propsList" json:"propsList,omitempty"`
+	TagsList []map[string]string `thrift:"tagsList,7" db:"tagsList" json:"tagsList,omitempty"`
+	AttributesList []map[string]string `thrift:"attributesList,8" db:"attributesList" json:"attributesList,omitempty"`
+	MeasurementAliasList []string `thrift:"measurementAliasList,9" db:"measurementAliasList" json:"measurementAliasList,omitempty"`
 }
 
 func NewTSCreateMultiTimeseriesReq() *TSCreateMultiTimeseriesReq {
 	return &TSCreateMultiTimeseriesReq{}
 }
 
+
 func (p *TSCreateMultiTimeseriesReq) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -8841,25 +8687,21 @@
 func (p *TSCreateMultiTimeseriesReq) GetCompressors() []int32 {
 	return p.Compressors
 }
-
 var TSCreateMultiTimeseriesReq_PropsList_DEFAULT []map[string]string
 
 func (p *TSCreateMultiTimeseriesReq) GetPropsList() []map[string]string {
 	return p.PropsList
 }
-
 var TSCreateMultiTimeseriesReq_TagsList_DEFAULT []map[string]string
 
 func (p *TSCreateMultiTimeseriesReq) GetTagsList() []map[string]string {
 	return p.TagsList
 }
-
 var TSCreateMultiTimeseriesReq_AttributesList_DEFAULT []map[string]string
 
 func (p *TSCreateMultiTimeseriesReq) GetAttributesList() []map[string]string {
 	return p.AttributesList
 }
-
 var TSCreateMultiTimeseriesReq_MeasurementAliasList_DEFAULT []string
 
 func (p *TSCreateMultiTimeseriesReq) GetMeasurementAliasList() []string {
@@ -8881,153 +8723,151 @@
 	return p.MeasurementAliasList != nil
 }
 
-func (p *TSCreateMultiTimeseriesReq) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSCreateMultiTimeseriesReq) 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 issetPaths bool = false
-	var issetDataTypes bool = false
-	var issetEncodings bool = false
-	var issetCompressors bool = false
+	var issetSessionId bool = false;
+	var issetPaths bool = false;
+	var issetDataTypes bool = false;
+	var issetEncodings bool = false;
+	var issetCompressors 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
 				}
 				issetPaths = 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
 				}
 				issetDataTypes = 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
 				}
 				issetEncodings = 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
 				}
 				issetCompressors = 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
 				}
 			} 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
 				}
 			} else {
-				if err := iprot.Skip(fieldTypeId); err != nil {
+				if err := iprot.Skip(ctx, fieldTypeId); err != nil {
 					return err
 				}
 			}
 		case 8:
 			if fieldTypeId == thrift.LIST {
-				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.LIST {
-				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 !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 !issetPaths {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"))
+	if !issetPaths{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Paths is not set"));
 	}
-	if !issetDataTypes {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataTypes is not set"))
+	if !issetDataTypes{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field DataTypes is not set"));
 	}
-	if !issetEncodings {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encodings is not set"))
+	if !issetEncodings{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Encodings is not set"));
 	}
-	if !issetCompressors {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Compressors is not set"))
+	if !issetCompressors{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Compressors is not set"));
 	}
 	return nil
 }
 
-func (p *TSCreateMultiTimeseriesReq) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSCreateMultiTimeseriesReq)  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
@@ -9035,500 +8875,511 @@
 	return nil
 }
 
-func (p *TSCreateMultiTimeseriesReq) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  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.Paths = tSlice
-	for i := 0; i < size; i++ {
-		var _elem51 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Paths =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem96 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem51 = v
+			_elem96 = v
 		}
-		p.Paths = append(p.Paths, _elem51)
+		p.Paths = append(p.Paths, _elem96)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField3(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  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([]int32, 0, size)
-	p.DataTypes = tSlice
-	for i := 0; i < size; i++ {
-		var _elem52 int32
-		if v, err := iprot.ReadI32(); err != nil {
+	p.DataTypes =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem97 int32
+		if v, err := iprot.ReadI32(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem52 = v
+			_elem97 = v
 		}
-		p.DataTypes = append(p.DataTypes, _elem52)
+		p.DataTypes = append(p.DataTypes, _elem97)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField4(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  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([]int32, 0, size)
-	p.Encodings = tSlice
-	for i := 0; i < size; i++ {
-		var _elem53 int32
-		if v, err := iprot.ReadI32(); err != nil {
+	p.Encodings =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem98 int32
+		if v, err := iprot.ReadI32(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem53 = v
+			_elem98 = v
 		}
-		p.Encodings = append(p.Encodings, _elem53)
+		p.Encodings = append(p.Encodings, _elem98)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField5(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  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([]int32, 0, size)
-	p.Compressors = tSlice
-	for i := 0; i < size; i++ {
-		var _elem54 int32
-		if v, err := iprot.ReadI32(); err != nil {
+	p.Compressors =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem99 int32
+		if v, err := iprot.ReadI32(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem54 = v
+			_elem99 = v
 		}
-		p.Compressors = append(p.Compressors, _elem54)
+		p.Compressors = append(p.Compressors, _elem99)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField6(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  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([]map[string]string, 0, size)
-	p.PropsList = tSlice
-	for i := 0; i < size; i++ {
-		_, _, size, err := iprot.ReadMapBegin()
+	p.PropsList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, _, size, err := iprot.ReadMapBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading map begin: ", err)
 		}
 		tMap := make(map[string]string, size)
-		_elem55 := tMap
-		for i := 0; i < size; i++ {
-			var _key56 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem100 :=  tMap
+		for i := 0; i < size; i ++ {
+			var _key101 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_key56 = v
+				_key101 = v
 			}
-			var _val57 string
-			if v, err := iprot.ReadString(); err != nil {
+			var _val102 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_val57 = v
+				_val102 = v
 			}
-			_elem55[_key56] = _val57
+			_elem100[_key101] = _val102
 		}
-		if err := iprot.ReadMapEnd(); err != nil {
+		if err := iprot.ReadMapEnd(ctx); err != nil {
 			return thrift.PrependError("error reading map end: ", err)
 		}
-		p.PropsList = append(p.PropsList, _elem55)
+		p.PropsList = append(p.PropsList, _elem100)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField7(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  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([]map[string]string, 0, size)
-	p.TagsList = tSlice
-	for i := 0; i < size; i++ {
-		_, _, size, err := iprot.ReadMapBegin()
+	p.TagsList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, _, size, err := iprot.ReadMapBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading map begin: ", err)
 		}
 		tMap := make(map[string]string, size)
-		_elem58 := tMap
-		for i := 0; i < size; i++ {
-			var _key59 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem103 :=  tMap
+		for i := 0; i < size; i ++ {
+			var _key104 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_key59 = v
+				_key104 = v
 			}
-			var _val60 string
-			if v, err := iprot.ReadString(); err != nil {
+			var _val105 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_val60 = v
+				_val105 = v
 			}
-			_elem58[_key59] = _val60
+			_elem103[_key104] = _val105
 		}
-		if err := iprot.ReadMapEnd(); err != nil {
+		if err := iprot.ReadMapEnd(ctx); err != nil {
 			return thrift.PrependError("error reading map end: ", err)
 		}
-		p.TagsList = append(p.TagsList, _elem58)
+		p.TagsList = append(p.TagsList, _elem103)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField8(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  ReadField8(ctx context.Context, iprot thrift.TProtocol) error {
+	_, size, err := iprot.ReadListBegin(ctx)
 	if err != nil {
 		return thrift.PrependError("error reading list begin: ", err)
 	}
 	tSlice := make([]map[string]string, 0, size)
-	p.AttributesList = tSlice
-	for i := 0; i < size; i++ {
-		_, _, size, err := iprot.ReadMapBegin()
+	p.AttributesList =  tSlice
+	for i := 0; i < size; i ++ {
+		_, _, size, err := iprot.ReadMapBegin(ctx)
 		if err != nil {
 			return thrift.PrependError("error reading map begin: ", err)
 		}
 		tMap := make(map[string]string, size)
-		_elem61 := tMap
-		for i := 0; i < size; i++ {
-			var _key62 string
-			if v, err := iprot.ReadString(); err != nil {
+		_elem106 :=  tMap
+		for i := 0; i < size; i ++ {
+			var _key107 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_key62 = v
+				_key107 = v
 			}
-			var _val63 string
-			if v, err := iprot.ReadString(); err != nil {
+			var _val108 string
+			if v, err := iprot.ReadString(ctx); err != nil {
 				return thrift.PrependError("error reading field 0: ", err)
 			} else {
-				_val63 = v
+				_val108 = v
 			}
-			_elem61[_key62] = _val63
+			_elem106[_key107] = _val108
 		}
-		if err := iprot.ReadMapEnd(); err != nil {
+		if err := iprot.ReadMapEnd(ctx); err != nil {
 			return thrift.PrependError("error reading map end: ", err)
 		}
-		p.AttributesList = append(p.AttributesList, _elem61)
+		p.AttributesList = append(p.AttributesList, _elem106)
 	}
-	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 *TSCreateMultiTimeseriesReq) ReadField9(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSCreateMultiTimeseriesReq)  ReadField9(ctx context.Context, iprot thrift.TProtocol) error {
+	_, size, err := iprot.ReadListBegin(ctx)
 	if err != nil {
 		return thrift.PrependError("error reading list begin: ", err)
 	}
 	tSlice := make([]string, 0, size)
-	p.MeasurementAliasList = tSlice
-	for i := 0; i < size; i++ {
-		var _elem64 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.MeasurementAliasList =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem109 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem64 = v
+			_elem109 = v
 		}
-		p.MeasurementAliasList = append(p.MeasurementAliasList, _elem64)
+		p.MeasurementAliasList = append(p.MeasurementAliasList, _elem109)
 	}
-	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 *TSCreateMultiTimeseriesReq) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("TSCreateMultiTimeseriesReq"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSCreateMultiTimeseriesReq) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "TSCreateMultiTimeseriesReq"); 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 := 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(); 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 := 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 *TSCreateMultiTimeseriesReq) 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 *TSCreateMultiTimeseriesReq) 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 *TSCreateMultiTimeseriesReq) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("paths", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:paths: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Paths)); err != nil {
+func (p *TSCreateMultiTimeseriesReq) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "paths", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:paths: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Paths)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Paths {
-		if err := oprot.WriteString(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:paths: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:paths: ", p), err) }
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("dataTypes", thrift.LIST, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:dataTypes: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I32, len(p.DataTypes)); err != nil {
+func (p *TSCreateMultiTimeseriesReq) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "dataTypes", thrift.LIST, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:dataTypes: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.DataTypes)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.DataTypes {
-		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 3:dataTypes: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:dataTypes: ", p), err) }
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField4(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("encodings", thrift.LIST, 4); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:encodings: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I32, len(p.Encodings)); err != nil {
+func (p *TSCreateMultiTimeseriesReq) writeField4(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "encodings", thrift.LIST, 4); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:encodings: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Encodings)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Encodings {
-		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 4:encodings: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 4:encodings: ", p), err) }
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField5(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("compressors", thrift.LIST, 5); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:compressors: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.I32, len(p.Compressors)); err != nil {
+func (p *TSCreateMultiTimeseriesReq) writeField5(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "compressors", thrift.LIST, 5); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 5:compressors: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.I32, len(p.Compressors)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Compressors {
-		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 5:compressors: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 5:compressors: ", p), err) }
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField6(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateMultiTimeseriesReq) writeField6(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetPropsList() {
-		if err := oprot.WriteFieldBegin("propsList", thrift.LIST, 6); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:propsList: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.MAP, len(p.PropsList)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "propsList", thrift.LIST, 6); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 6:propsList: ", p), err) }
+		if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.PropsList)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range p.PropsList {
-			if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(v)); err != nil {
+			if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
 				return thrift.PrependError("error writing map begin: ", err)
 			}
 			for k, v := range v {
-				if err := oprot.WriteString(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.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:propsList: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 6:propsList: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField7(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateMultiTimeseriesReq) writeField7(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetTagsList() {
-		if err := oprot.WriteFieldBegin("tagsList", thrift.LIST, 7); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:tagsList: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.MAP, len(p.TagsList)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "tagsList", thrift.LIST, 7); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 7:tagsList: ", p), err) }
+		if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.TagsList)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range p.TagsList {
-			if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(v)); err != nil {
+			if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
 				return thrift.PrependError("error writing map begin: ", err)
 			}
 			for k, v := range v {
-				if err := oprot.WriteString(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.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:tagsList: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 7:tagsList: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField8(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateMultiTimeseriesReq) writeField8(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetAttributesList() {
-		if err := oprot.WriteFieldBegin("attributesList", thrift.LIST, 8); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:attributesList: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.MAP, len(p.AttributesList)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "attributesList", thrift.LIST, 8); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 8:attributesList: ", p), err) }
+		if err := oprot.WriteListBegin(ctx, thrift.MAP, len(p.AttributesList)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range p.AttributesList {
-			if err := oprot.WriteMapBegin(thrift.STRING, thrift.STRING, len(v)); err != nil {
+			if err := oprot.WriteMapBegin(ctx, thrift.STRING, thrift.STRING, len(v)); err != nil {
 				return thrift.PrependError("error writing map begin: ", err)
 			}
 			for k, v := range v {
-				if err := oprot.WriteString(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.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 8:attributesList: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 8:attributesList: ", p), err) }
 	}
 	return err
 }
 
-func (p *TSCreateMultiTimeseriesReq) writeField9(oprot thrift.TProtocol) (err error) {
+func (p *TSCreateMultiTimeseriesReq) writeField9(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetMeasurementAliasList() {
-		if err := oprot.WriteFieldBegin("measurementAliasList", thrift.LIST, 9); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:measurementAliasList: ", p), err)
-		}
-		if err := oprot.WriteListBegin(thrift.STRING, len(p.MeasurementAliasList)); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "measurementAliasList", thrift.LIST, 9); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 9:measurementAliasList: ", p), err) }
+		if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.MeasurementAliasList)); err != nil {
 			return thrift.PrependError("error writing list begin: ", err)
 		}
 		for _, v := range p.MeasurementAliasList {
-			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 9:measurementAliasList: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 9:measurementAliasList: ", p), err) }
 	}
 	return err
 }
 
+func (p *TSCreateMultiTimeseriesReq) Equals(other *TSCreateMultiTimeseriesReq) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.SessionId != other.SessionId { return false }
+	if len(p.Paths) != len(other.Paths) { return false }
+	for i, _tgt := range p.Paths {
+		_src110 := other.Paths[i]
+		if _tgt != _src110 { return false }
+	}
+	if len(p.DataTypes) != len(other.DataTypes) { return false }
+	for i, _tgt := range p.DataTypes {
+		_src111 := other.DataTypes[i]
+		if _tgt != _src111 { return false }
+	}
+	if len(p.Encodings) != len(other.Encodings) { return false }
+	for i, _tgt := range p.Encodings {
+		_src112 := other.Encodings[i]
+		if _tgt != _src112 { return false }
+	}
+	if len(p.Compressors) != len(other.Compressors) { return false }
+	for i, _tgt := range p.Compressors {
+		_src113 := other.Compressors[i]
+		if _tgt != _src113 { return false }
+	}
+	if len(p.PropsList) != len(other.PropsList) { return false }
+	for i, _tgt := range p.PropsList {
+		_src114 := other.PropsList[i]
+		if len(_tgt) != len(_src114) { return false }
+		for k, _tgt := range _tgt {
+			_src115 := _src114[k]
+			if _tgt != _src115 { return false }
+		}
+	}
+	if len(p.TagsList) != len(other.TagsList) { return false }
+	for i, _tgt := range p.TagsList {
+		_src116 := other.TagsList[i]
+		if len(_tgt) != len(_src116) { return false }
+		for k, _tgt := range _tgt {
+			_src117 := _src116[k]
+			if _tgt != _src117 { return false }
+		}
+	}
+	if len(p.AttributesList) != len(other.AttributesList) { return false }
+	for i, _tgt := range p.AttributesList {
+		_src118 := other.AttributesList[i]
+		if len(_tgt) != len(_src118) { return false }
+		for k, _tgt := range _tgt {
+			_src119 := _src118[k]
+			if _tgt != _src119 { return false }
+		}
+	}
+	if len(p.MeasurementAliasList) != len(other.MeasurementAliasList) { return false }
+	for i, _tgt := range p.MeasurementAliasList {
+		_src120 := other.MeasurementAliasList[i]
+		if _tgt != _src120 { return false }
+	}
+	return true
+}
+
 func (p *TSCreateMultiTimeseriesReq) String() string {
 	if p == nil {
 		return "<nil>"
@@ -9541,15 +9392,16 @@
 //  - SupportedTimeAggregationOperations
 //  - TimestampPrecision
 type ServerProperties struct {
-	Version                            string   `thrift:"version,1,required" db:"version" json:"version"`
+	Version string `thrift:"version,1,required" db:"version" json:"version"`
 	SupportedTimeAggregationOperations []string `thrift:"supportedTimeAggregationOperations,2,required" db:"supportedTimeAggregationOperations" json:"supportedTimeAggregationOperations"`
-	TimestampPrecision                 string   `thrift:"timestampPrecision,3,required" db:"timestampPrecision" json:"timestampPrecision"`
+	TimestampPrecision string `thrift:"timestampPrecision,3,required" db:"timestampPrecision" json:"timestampPrecision"`
 }
 
 func NewServerProperties() *ServerProperties {
 	return &ServerProperties{}
 }
 
+
 func (p *ServerProperties) GetVersion() string {
 	return p.Version
 }
@@ -9561,83 +9413,81 @@
 func (p *ServerProperties) GetTimestampPrecision() string {
 	return p.TimestampPrecision
 }
-func (p *ServerProperties) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *ServerProperties) 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 issetVersion bool = false
-	var issetSupportedTimeAggregationOperations bool = false
-	var issetTimestampPrecision bool = false
+	var issetVersion bool = false;
+	var issetSupportedTimeAggregationOperations bool = false;
+	var issetTimestampPrecision 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
 				}
 				issetVersion = 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
 				}
 				issetSupportedTimeAggregationOperations = 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
 				}
 				issetTimestampPrecision = 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 !issetVersion {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Version is not set"))
+	if !issetVersion{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Version is not set"));
 	}
-	if !issetSupportedTimeAggregationOperations {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SupportedTimeAggregationOperations is not set"))
+	if !issetSupportedTimeAggregationOperations{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field SupportedTimeAggregationOperations is not set"));
 	}
-	if !issetTimestampPrecision {
-		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimestampPrecision is not set"))
+	if !issetTimestampPrecision{
+		return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field TimestampPrecision is not set"));
 	}
 	return nil
 }
 
-func (p *ServerProperties) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *ServerProperties)  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.Version = v
@@ -9645,30 +9495,30 @@
 	return nil
 }
 
-func (p *ServerProperties) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *ServerProperties)  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.SupportedTimeAggregationOperations = tSlice
-	for i := 0; i < size; i++ {
-		var _elem65 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.SupportedTimeAggregationOperations =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem121 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem65 = v
+			_elem121 = v
 		}
-		p.SupportedTimeAggregationOperations = append(p.SupportedTimeAggregationOperations, _elem65)
+		p.SupportedTimeAggregationOperations = append(p.SupportedTimeAggregationOperations, _elem121)
 	}
-	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 *ServerProperties) ReadField3(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *ServerProperties)  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.TimestampPrecision = v
@@ -9676,77 +9526,75 @@
 	return nil
 }
 
-func (p *ServerProperties) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("ServerProperties"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *ServerProperties) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "ServerProperties"); 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.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(); 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 := 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 *ServerProperties) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("version", thrift.STRING, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:version: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.Version)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.version (1) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:version: ", p), err)
-	}
+func (p *ServerProperties) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "version", thrift.STRING, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:version: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.Version)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.version (1) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:version: ", p), err) }
 	return err
 }
 
-func (p *ServerProperties) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("supportedTimeAggregationOperations", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:supportedTimeAggregationOperations: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.SupportedTimeAggregationOperations)); err != nil {
+func (p *ServerProperties) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "supportedTimeAggregationOperations", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:supportedTimeAggregationOperations: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.SupportedTimeAggregationOperations)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.SupportedTimeAggregationOperations {
-		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:supportedTimeAggregationOperations: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:supportedTimeAggregationOperations: ", p), err) }
 	return err
 }
 
-func (p *ServerProperties) writeField3(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("timestampPrecision", thrift.STRING, 3); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:timestampPrecision: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.TimestampPrecision)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.timestampPrecision (3) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:timestampPrecision: ", p), err)
-	}
+func (p *ServerProperties) writeField3(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "timestampPrecision", thrift.STRING, 3); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:timestampPrecision: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.TimestampPrecision)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.timestampPrecision (3) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 3:timestampPrecision: ", p), err) }
 	return err
 }
 
+func (p *ServerProperties) Equals(other *ServerProperties) bool {
+	if p == other {
+		return true
+	} else if p == nil || other == nil {
+		return false
+	}
+	if p.Version != other.Version { return false }
+	if len(p.SupportedTimeAggregationOperations) != len(other.SupportedTimeAggregationOperations) { return false }
+	for i, _tgt := range p.SupportedTimeAggregationOperations {
+		_src122 := other.SupportedTimeAggregationOperations[i]
+		if _tgt != _src122 { return false }
+	}
+	if p.TimestampPrecision != other.TimestampPrecision { return false }
+	return true
+}
+
 func (p *ServerProperties) String() string {
 	if p == nil {
 		return "<nil>"
@@ -9757,114 +9605,115 @@
 type TSIService interface {
 	// Parameters:
 	//  - Req
-	OpenSession(ctx context.Context, req *TSOpenSessionReq) (r *TSOpenSessionResp, err error)
+	OpenSession(ctx context.Context, req *TSOpenSessionReq) (_r *TSOpenSessionResp, _err error)
 	// Parameters:
 	//  - Req
-	CloseSession(ctx context.Context, req *TSCloseSessionReq) (r *TSStatus, err error)
+	CloseSession(ctx context.Context, req *TSCloseSessionReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	ExecuteStatement(ctx context.Context, req *TSExecuteStatementReq) (r *TSExecuteStatementResp, err error)
+	ExecuteStatement(ctx context.Context, req *TSExecuteStatementReq) (_r *TSExecuteStatementResp, _err error)
 	// Parameters:
 	//  - Req
-	ExecuteBatchStatement(ctx context.Context, req *TSExecuteBatchStatementReq) (r *TSStatus, err error)
+	ExecuteBatchStatement(ctx context.Context, req *TSExecuteBatchStatementReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	ExecuteQueryStatement(ctx context.Context, req *TSExecuteStatementReq) (r *TSExecuteStatementResp, err error)
+	ExecuteQueryStatement(ctx context.Context, req *TSExecuteStatementReq) (_r *TSExecuteStatementResp, _err error)
 	// Parameters:
 	//  - Req
-	ExecuteUpdateStatement(ctx context.Context, req *TSExecuteStatementReq) (r *TSExecuteStatementResp, err error)
+	ExecuteUpdateStatement(ctx context.Context, req *TSExecuteStatementReq) (_r *TSExecuteStatementResp, _err error)
 	// Parameters:
 	//  - Req
-	FetchResults(ctx context.Context, req *TSFetchResultsReq) (r *TSFetchResultsResp, err error)
+	FetchResults(ctx context.Context, req *TSFetchResultsReq) (_r *TSFetchResultsResp, _err error)
 	// Parameters:
 	//  - Req
-	FetchMetadata(ctx context.Context, req *TSFetchMetadataReq) (r *TSFetchMetadataResp, err error)
+	FetchMetadata(ctx context.Context, req *TSFetchMetadataReq) (_r *TSFetchMetadataResp, _err error)
 	// Parameters:
 	//  - Req
-	CancelOperation(ctx context.Context, req *TSCancelOperationReq) (r *TSStatus, err error)
+	CancelOperation(ctx context.Context, req *TSCancelOperationReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	CloseOperation(ctx context.Context, req *TSCloseOperationReq) (r *TSStatus, err error)
+	CloseOperation(ctx context.Context, req *TSCloseOperationReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - SessionId
-	GetTimeZone(ctx context.Context, sessionId int64) (r *TSGetTimeZoneResp, err error)
+	GetTimeZone(ctx context.Context, sessionId int64) (_r *TSGetTimeZoneResp, _err error)
 	// Parameters:
 	//  - Req
-	SetTimeZone(ctx context.Context, req *TSSetTimeZoneReq) (r *TSStatus, err error)
-	GetProperties(ctx context.Context) (r *ServerProperties, err error)
+	SetTimeZone(ctx context.Context, req *TSSetTimeZoneReq) (_r *TSStatus, _err error)
+	GetProperties(ctx context.Context) (_r *ServerProperties, _err error)
 	// Parameters:
 	//  - SessionId
 	//  - StorageGroup
-	SetStorageGroup(ctx context.Context, sessionId int64, storageGroup string) (r *TSStatus, err error)
+	SetStorageGroup(ctx context.Context, sessionId int64, storageGroup string) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	CreateTimeseries(ctx context.Context, req *TSCreateTimeseriesReq) (r *TSStatus, err error)
+	CreateTimeseries(ctx context.Context, req *TSCreateTimeseriesReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	CreateMultiTimeseries(ctx context.Context, req *TSCreateMultiTimeseriesReq) (r *TSStatus, err error)
+	CreateMultiTimeseries(ctx context.Context, req *TSCreateMultiTimeseriesReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - SessionId
 	//  - Path
-	DeleteTimeseries(ctx context.Context, sessionId int64, path []string) (r *TSStatus, err error)
+	DeleteTimeseries(ctx context.Context, sessionId int64, path []string) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - SessionId
 	//  - StorageGroup
-	DeleteStorageGroups(ctx context.Context, sessionId int64, storageGroup []string) (r *TSStatus, err error)
+	DeleteStorageGroups(ctx context.Context, sessionId int64, storageGroup []string) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertRecord(ctx context.Context, req *TSInsertRecordReq) (r *TSStatus, err error)
+	InsertRecord(ctx context.Context, req *TSInsertRecordReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (r *TSStatus, err error)
+	InsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertTablet(ctx context.Context, req *TSInsertTabletReq) (r *TSStatus, err error)
+	InsertTablet(ctx context.Context, req *TSInsertTabletReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertTablets(ctx context.Context, req *TSInsertTabletsReq) (r *TSStatus, err error)
+	InsertTablets(ctx context.Context, req *TSInsertTabletsReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertRecords(ctx context.Context, req *TSInsertRecordsReq) (r *TSStatus, err error)
+	InsertRecords(ctx context.Context, req *TSInsertRecordsReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (r *TSStatus, err error)
+	InsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	InsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (r *TSStatus, err error)
+	InsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertTablet(ctx context.Context, req *TSInsertTabletReq) (r *TSStatus, err error)
+	TestInsertTablet(ctx context.Context, req *TSInsertTabletReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertTablets(ctx context.Context, req *TSInsertTabletsReq) (r *TSStatus, err error)
+	TestInsertTablets(ctx context.Context, req *TSInsertTabletsReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertRecord(ctx context.Context, req *TSInsertRecordReq) (r *TSStatus, err error)
+	TestInsertRecord(ctx context.Context, req *TSInsertRecordReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (r *TSStatus, err error)
+	TestInsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertRecords(ctx context.Context, req *TSInsertRecordsReq) (r *TSStatus, err error)
+	TestInsertRecords(ctx context.Context, req *TSInsertRecordsReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (r *TSStatus, err error)
+	TestInsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	TestInsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (r *TSStatus, err error)
+	TestInsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	DeleteData(ctx context.Context, req *TSDeleteDataReq) (r *TSStatus, err error)
+	DeleteData(ctx context.Context, req *TSDeleteDataReq) (_r *TSStatus, _err error)
 	// Parameters:
 	//  - Req
-	ExecuteRawDataQuery(ctx context.Context, req *TSRawDataQueryReq) (r *TSExecuteStatementResp, err error)
+	ExecuteRawDataQuery(ctx context.Context, req *TSRawDataQueryReq) (_r *TSExecuteStatementResp, _err error)
 	// Parameters:
 	//  - SessionId
-	RequestStatementId(ctx context.Context, sessionId int64) (r int64, err error)
+	RequestStatementId(ctx context.Context, sessionId int64) (_r int64, _err error)
 }
 
 type TSIServiceClient struct {
 	c thrift.TClient
+	meta thrift.ResponseMeta
 }
 
 func NewTSIServiceClientFactory(t thrift.TTransport, f thrift.TProtocolFactory) *TSIServiceClient {
@@ -9889,364 +9738,24 @@
 	return p.c
 }
 
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) OpenSession(ctx context.Context, req *TSOpenSessionReq) (r *TSOpenSessionResp, err error) {
-	var _args66 TSIServiceOpenSessionArgs
-	_args66.Req = req
-	var _result67 TSIServiceOpenSessionResult
-	if err = p.Client_().Call(ctx, "openSession", &_args66, &_result67); err != nil {
-		return
-	}
-	return _result67.GetSuccess(), nil
+func (p *TSIServiceClient) LastResponseMeta_() thrift.ResponseMeta {
+	return p.meta
+}
+
+func (p *TSIServiceClient) SetLastResponseMeta_(meta thrift.ResponseMeta) {
+	p.meta = meta
 }
 
 // Parameters:
 //  - Req
-func (p *TSIServiceClient) CloseSession(ctx context.Context, req *TSCloseSessionReq) (r *TSStatus, err error) {
-	var _args68 TSIServiceCloseSessionArgs
-	_args68.Req = req
-	var _result69 TSIServiceCloseSessionResult
-	if err = p.Client_().Call(ctx, "closeSession", &_args68, &_result69); err != nil {
-		return
-	}
-	return _result69.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) ExecuteStatement(ctx context.Context, req *TSExecuteStatementReq) (r *TSExecuteStatementResp, err error) {
-	var _args70 TSIServiceExecuteStatementArgs
-	_args70.Req = req
-	var _result71 TSIServiceExecuteStatementResult
-	if err = p.Client_().Call(ctx, "executeStatement", &_args70, &_result71); err != nil {
-		return
-	}
-	return _result71.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) ExecuteBatchStatement(ctx context.Context, req *TSExecuteBatchStatementReq) (r *TSStatus, err error) {
-	var _args72 TSIServiceExecuteBatchStatementArgs
-	_args72.Req = req
-	var _result73 TSIServiceExecuteBatchStatementResult
-	if err = p.Client_().Call(ctx, "executeBatchStatement", &_args72, &_result73); err != nil {
-		return
-	}
-	return _result73.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) ExecuteQueryStatement(ctx context.Context, req *TSExecuteStatementReq) (r *TSExecuteStatementResp, err error) {
-	var _args74 TSIServiceExecuteQueryStatementArgs
-	_args74.Req = req
-	var _result75 TSIServiceExecuteQueryStatementResult
-	if err = p.Client_().Call(ctx, "executeQueryStatement", &_args74, &_result75); err != nil {
-		return
-	}
-	return _result75.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) ExecuteUpdateStatement(ctx context.Context, req *TSExecuteStatementReq) (r *TSExecuteStatementResp, err error) {
-	var _args76 TSIServiceExecuteUpdateStatementArgs
-	_args76.Req = req
-	var _result77 TSIServiceExecuteUpdateStatementResult
-	if err = p.Client_().Call(ctx, "executeUpdateStatement", &_args76, &_result77); err != nil {
-		return
-	}
-	return _result77.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) FetchResults(ctx context.Context, req *TSFetchResultsReq) (r *TSFetchResultsResp, err error) {
-	var _args78 TSIServiceFetchResultsArgs
-	_args78.Req = req
-	var _result79 TSIServiceFetchResultsResult
-	if err = p.Client_().Call(ctx, "fetchResults", &_args78, &_result79); err != nil {
-		return
-	}
-	return _result79.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) FetchMetadata(ctx context.Context, req *TSFetchMetadataReq) (r *TSFetchMetadataResp, err error) {
-	var _args80 TSIServiceFetchMetadataArgs
-	_args80.Req = req
-	var _result81 TSIServiceFetchMetadataResult
-	if err = p.Client_().Call(ctx, "fetchMetadata", &_args80, &_result81); err != nil {
-		return
-	}
-	return _result81.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) CancelOperation(ctx context.Context, req *TSCancelOperationReq) (r *TSStatus, err error) {
-	var _args82 TSIServiceCancelOperationArgs
-	_args82.Req = req
-	var _result83 TSIServiceCancelOperationResult
-	if err = p.Client_().Call(ctx, "cancelOperation", &_args82, &_result83); err != nil {
-		return
-	}
-	return _result83.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) CloseOperation(ctx context.Context, req *TSCloseOperationReq) (r *TSStatus, err error) {
-	var _args84 TSIServiceCloseOperationArgs
-	_args84.Req = req
-	var _result85 TSIServiceCloseOperationResult
-	if err = p.Client_().Call(ctx, "closeOperation", &_args84, &_result85); err != nil {
-		return
-	}
-	return _result85.GetSuccess(), nil
-}
-
-// Parameters:
-//  - SessionId
-func (p *TSIServiceClient) GetTimeZone(ctx context.Context, sessionId int64) (r *TSGetTimeZoneResp, err error) {
-	var _args86 TSIServiceGetTimeZoneArgs
-	_args86.SessionId = sessionId
-	var _result87 TSIServiceGetTimeZoneResult
-	if err = p.Client_().Call(ctx, "getTimeZone", &_args86, &_result87); err != nil {
-		return
-	}
-	return _result87.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) SetTimeZone(ctx context.Context, req *TSSetTimeZoneReq) (r *TSStatus, err error) {
-	var _args88 TSIServiceSetTimeZoneArgs
-	_args88.Req = req
-	var _result89 TSIServiceSetTimeZoneResult
-	if err = p.Client_().Call(ctx, "setTimeZone", &_args88, &_result89); err != nil {
-		return
-	}
-	return _result89.GetSuccess(), nil
-}
-
-func (p *TSIServiceClient) GetProperties(ctx context.Context) (r *ServerProperties, err error) {
-	var _args90 TSIServiceGetPropertiesArgs
-	var _result91 TSIServiceGetPropertiesResult
-	if err = p.Client_().Call(ctx, "getProperties", &_args90, &_result91); err != nil {
-		return
-	}
-	return _result91.GetSuccess(), nil
-}
-
-// Parameters:
-//  - SessionId
-//  - StorageGroup
-func (p *TSIServiceClient) SetStorageGroup(ctx context.Context, sessionId int64, storageGroup string) (r *TSStatus, err error) {
-	var _args92 TSIServiceSetStorageGroupArgs
-	_args92.SessionId = sessionId
-	_args92.StorageGroup = storageGroup
-	var _result93 TSIServiceSetStorageGroupResult
-	if err = p.Client_().Call(ctx, "setStorageGroup", &_args92, &_result93); err != nil {
-		return
-	}
-	return _result93.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) CreateTimeseries(ctx context.Context, req *TSCreateTimeseriesReq) (r *TSStatus, err error) {
-	var _args94 TSIServiceCreateTimeseriesArgs
-	_args94.Req = req
-	var _result95 TSIServiceCreateTimeseriesResult
-	if err = p.Client_().Call(ctx, "createTimeseries", &_args94, &_result95); err != nil {
-		return
-	}
-	return _result95.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) CreateMultiTimeseries(ctx context.Context, req *TSCreateMultiTimeseriesReq) (r *TSStatus, err error) {
-	var _args96 TSIServiceCreateMultiTimeseriesArgs
-	_args96.Req = req
-	var _result97 TSIServiceCreateMultiTimeseriesResult
-	if err = p.Client_().Call(ctx, "createMultiTimeseries", &_args96, &_result97); err != nil {
-		return
-	}
-	return _result97.GetSuccess(), nil
-}
-
-// Parameters:
-//  - SessionId
-//  - Path
-func (p *TSIServiceClient) DeleteTimeseries(ctx context.Context, sessionId int64, path []string) (r *TSStatus, err error) {
-	var _args98 TSIServiceDeleteTimeseriesArgs
-	_args98.SessionId = sessionId
-	_args98.Path = path
-	var _result99 TSIServiceDeleteTimeseriesResult
-	if err = p.Client_().Call(ctx, "deleteTimeseries", &_args98, &_result99); err != nil {
-		return
-	}
-	return _result99.GetSuccess(), nil
-}
-
-// Parameters:
-//  - SessionId
-//  - StorageGroup
-func (p *TSIServiceClient) DeleteStorageGroups(ctx context.Context, sessionId int64, storageGroup []string) (r *TSStatus, err error) {
-	var _args100 TSIServiceDeleteStorageGroupsArgs
-	_args100.SessionId = sessionId
-	_args100.StorageGroup = storageGroup
-	var _result101 TSIServiceDeleteStorageGroupsResult
-	if err = p.Client_().Call(ctx, "deleteStorageGroups", &_args100, &_result101); err != nil {
-		return
-	}
-	return _result101.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertRecord(ctx context.Context, req *TSInsertRecordReq) (r *TSStatus, err error) {
-	var _args102 TSIServiceInsertRecordArgs
-	_args102.Req = req
-	var _result103 TSIServiceInsertRecordResult
-	if err = p.Client_().Call(ctx, "insertRecord", &_args102, &_result103); err != nil {
-		return
-	}
-	return _result103.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (r *TSStatus, err error) {
-	var _args104 TSIServiceInsertStringRecordArgs
-	_args104.Req = req
-	var _result105 TSIServiceInsertStringRecordResult
-	if err = p.Client_().Call(ctx, "insertStringRecord", &_args104, &_result105); err != nil {
-		return
-	}
-	return _result105.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertTablet(ctx context.Context, req *TSInsertTabletReq) (r *TSStatus, err error) {
-	var _args106 TSIServiceInsertTabletArgs
-	_args106.Req = req
-	var _result107 TSIServiceInsertTabletResult
-	if err = p.Client_().Call(ctx, "insertTablet", &_args106, &_result107); err != nil {
-		return
-	}
-	return _result107.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertTablets(ctx context.Context, req *TSInsertTabletsReq) (r *TSStatus, err error) {
-	var _args108 TSIServiceInsertTabletsArgs
-	_args108.Req = req
-	var _result109 TSIServiceInsertTabletsResult
-	if err = p.Client_().Call(ctx, "insertTablets", &_args108, &_result109); err != nil {
-		return
-	}
-	return _result109.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertRecords(ctx context.Context, req *TSInsertRecordsReq) (r *TSStatus, err error) {
-	var _args110 TSIServiceInsertRecordsArgs
-	_args110.Req = req
-	var _result111 TSIServiceInsertRecordsResult
-	if err = p.Client_().Call(ctx, "insertRecords", &_args110, &_result111); err != nil {
-		return
-	}
-	return _result111.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (r *TSStatus, err error) {
-	var _args112 TSIServiceInsertRecordsOfOneDeviceArgs
-	_args112.Req = req
-	var _result113 TSIServiceInsertRecordsOfOneDeviceResult
-	if err = p.Client_().Call(ctx, "insertRecordsOfOneDevice", &_args112, &_result113); err != nil {
-		return
-	}
-	return _result113.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) InsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (r *TSStatus, err error) {
-	var _args114 TSIServiceInsertStringRecordsArgs
-	_args114.Req = req
-	var _result115 TSIServiceInsertStringRecordsResult
-	if err = p.Client_().Call(ctx, "insertStringRecords", &_args114, &_result115); err != nil {
-		return
-	}
-	return _result115.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) TestInsertTablet(ctx context.Context, req *TSInsertTabletReq) (r *TSStatus, err error) {
-	var _args116 TSIServiceTestInsertTabletArgs
-	_args116.Req = req
-	var _result117 TSIServiceTestInsertTabletResult
-	if err = p.Client_().Call(ctx, "testInsertTablet", &_args116, &_result117); err != nil {
-		return
-	}
-	return _result117.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) TestInsertTablets(ctx context.Context, req *TSInsertTabletsReq) (r *TSStatus, err error) {
-	var _args118 TSIServiceTestInsertTabletsArgs
-	_args118.Req = req
-	var _result119 TSIServiceTestInsertTabletsResult
-	if err = p.Client_().Call(ctx, "testInsertTablets", &_args118, &_result119); err != nil {
-		return
-	}
-	return _result119.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) TestInsertRecord(ctx context.Context, req *TSInsertRecordReq) (r *TSStatus, err error) {
-	var _args120 TSIServiceTestInsertRecordArgs
-	_args120.Req = req
-	var _result121 TSIServiceTestInsertRecordResult
-	if err = p.Client_().Call(ctx, "testInsertRecord", &_args120, &_result121); err != nil {
-		return
-	}
-	return _result121.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) TestInsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (r *TSStatus, err error) {
-	var _args122 TSIServiceTestInsertStringRecordArgs
-	_args122.Req = req
-	var _result123 TSIServiceTestInsertStringRecordResult
-	if err = p.Client_().Call(ctx, "testInsertStringRecord", &_args122, &_result123); err != nil {
-		return
-	}
-	return _result123.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) TestInsertRecords(ctx context.Context, req *TSInsertRecordsReq) (r *TSStatus, err error) {
-	var _args124 TSIServiceTestInsertRecordsArgs
-	_args124.Req = req
-	var _result125 TSIServiceTestInsertRecordsResult
-	if err = p.Client_().Call(ctx, "testInsertRecords", &_args124, &_result125); err != nil {
+func (p *TSIServiceClient) OpenSession(ctx context.Context, req *TSOpenSessionReq) (_r *TSOpenSessionResp, _err error) {
+	var _args123 TSIServiceOpenSessionArgs
+	_args123.Req = req
+	var _result125 TSIServiceOpenSessionResult
+	var _meta124 thrift.ResponseMeta
+	_meta124, _err = p.Client_().Call(ctx, "openSession", &_args123, &_result125)
+	p.SetLastResponseMeta_(_meta124)
+	if _err != nil {
 		return
 	}
 	return _result125.GetSuccess(), nil
@@ -10254,35 +9763,29 @@
 
 // Parameters:
 //  - Req
-func (p *TSIServiceClient) TestInsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (r *TSStatus, err error) {
-	var _args126 TSIServiceTestInsertRecordsOfOneDeviceArgs
+func (p *TSIServiceClient) CloseSession(ctx context.Context, req *TSCloseSessionReq) (_r *TSStatus, _err error) {
+	var _args126 TSIServiceCloseSessionArgs
 	_args126.Req = req
-	var _result127 TSIServiceTestInsertRecordsOfOneDeviceResult
-	if err = p.Client_().Call(ctx, "testInsertRecordsOfOneDevice", &_args126, &_result127); err != nil {
+	var _result128 TSIServiceCloseSessionResult
+	var _meta127 thrift.ResponseMeta
+	_meta127, _err = p.Client_().Call(ctx, "closeSession", &_args126, &_result128)
+	p.SetLastResponseMeta_(_meta127)
+	if _err != nil {
 		return
 	}
-	return _result127.GetSuccess(), nil
+	return _result128.GetSuccess(), nil
 }
 
 // Parameters:
 //  - Req
-func (p *TSIServiceClient) TestInsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (r *TSStatus, err error) {
-	var _args128 TSIServiceTestInsertStringRecordsArgs
-	_args128.Req = req
-	var _result129 TSIServiceTestInsertStringRecordsResult
-	if err = p.Client_().Call(ctx, "testInsertStringRecords", &_args128, &_result129); err != nil {
-		return
-	}
-	return _result129.GetSuccess(), nil
-}
-
-// Parameters:
-//  - Req
-func (p *TSIServiceClient) DeleteData(ctx context.Context, req *TSDeleteDataReq) (r *TSStatus, err error) {
-	var _args130 TSIServiceDeleteDataArgs
-	_args130.Req = req
-	var _result131 TSIServiceDeleteDataResult
-	if err = p.Client_().Call(ctx, "deleteData", &_args130, &_result131); err != nil {
+func (p *TSIServiceClient) ExecuteStatement(ctx context.Context, req *TSExecuteStatementReq) (_r *TSExecuteStatementResp, _err error) {
+	var _args129 TSIServiceExecuteStatementArgs
+	_args129.Req = req
+	var _result131 TSIServiceExecuteStatementResult
+	var _meta130 thrift.ResponseMeta
+	_meta130, _err = p.Client_().Call(ctx, "executeStatement", &_args129, &_result131)
+	p.SetLastResponseMeta_(_meta130)
+	if _err != nil {
 		return
 	}
 	return _result131.GetSuccess(), nil
@@ -10290,31 +9793,490 @@
 
 // Parameters:
 //  - Req
-func (p *TSIServiceClient) ExecuteRawDataQuery(ctx context.Context, req *TSRawDataQueryReq) (r *TSExecuteStatementResp, err error) {
-	var _args132 TSIServiceExecuteRawDataQueryArgs
+func (p *TSIServiceClient) ExecuteBatchStatement(ctx context.Context, req *TSExecuteBatchStatementReq) (_r *TSStatus, _err error) {
+	var _args132 TSIServiceExecuteBatchStatementArgs
 	_args132.Req = req
-	var _result133 TSIServiceExecuteRawDataQueryResult
-	if err = p.Client_().Call(ctx, "executeRawDataQuery", &_args132, &_result133); err != nil {
+	var _result134 TSIServiceExecuteBatchStatementResult
+	var _meta133 thrift.ResponseMeta
+	_meta133, _err = p.Client_().Call(ctx, "executeBatchStatement", &_args132, &_result134)
+	p.SetLastResponseMeta_(_meta133)
+	if _err != nil {
 		return
 	}
-	return _result133.GetSuccess(), nil
+	return _result134.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) ExecuteQueryStatement(ctx context.Context, req *TSExecuteStatementReq) (_r *TSExecuteStatementResp, _err error) {
+	var _args135 TSIServiceExecuteQueryStatementArgs
+	_args135.Req = req
+	var _result137 TSIServiceExecuteQueryStatementResult
+	var _meta136 thrift.ResponseMeta
+	_meta136, _err = p.Client_().Call(ctx, "executeQueryStatement", &_args135, &_result137)
+	p.SetLastResponseMeta_(_meta136)
+	if _err != nil {
+		return
+	}
+	return _result137.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) ExecuteUpdateStatement(ctx context.Context, req *TSExecuteStatementReq) (_r *TSExecuteStatementResp, _err error) {
+	var _args138 TSIServiceExecuteUpdateStatementArgs
+	_args138.Req = req
+	var _result140 TSIServiceExecuteUpdateStatementResult
+	var _meta139 thrift.ResponseMeta
+	_meta139, _err = p.Client_().Call(ctx, "executeUpdateStatement", &_args138, &_result140)
+	p.SetLastResponseMeta_(_meta139)
+	if _err != nil {
+		return
+	}
+	return _result140.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) FetchResults(ctx context.Context, req *TSFetchResultsReq) (_r *TSFetchResultsResp, _err error) {
+	var _args141 TSIServiceFetchResultsArgs
+	_args141.Req = req
+	var _result143 TSIServiceFetchResultsResult
+	var _meta142 thrift.ResponseMeta
+	_meta142, _err = p.Client_().Call(ctx, "fetchResults", &_args141, &_result143)
+	p.SetLastResponseMeta_(_meta142)
+	if _err != nil {
+		return
+	}
+	return _result143.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) FetchMetadata(ctx context.Context, req *TSFetchMetadataReq) (_r *TSFetchMetadataResp, _err error) {
+	var _args144 TSIServiceFetchMetadataArgs
+	_args144.Req = req
+	var _result146 TSIServiceFetchMetadataResult
+	var _meta145 thrift.ResponseMeta
+	_meta145, _err = p.Client_().Call(ctx, "fetchMetadata", &_args144, &_result146)
+	p.SetLastResponseMeta_(_meta145)
+	if _err != nil {
+		return
+	}
+	return _result146.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) CancelOperation(ctx context.Context, req *TSCancelOperationReq) (_r *TSStatus, _err error) {
+	var _args147 TSIServiceCancelOperationArgs
+	_args147.Req = req
+	var _result149 TSIServiceCancelOperationResult
+	var _meta148 thrift.ResponseMeta
+	_meta148, _err = p.Client_().Call(ctx, "cancelOperation", &_args147, &_result149)
+	p.SetLastResponseMeta_(_meta148)
+	if _err != nil {
+		return
+	}
+	return _result149.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) CloseOperation(ctx context.Context, req *TSCloseOperationReq) (_r *TSStatus, _err error) {
+	var _args150 TSIServiceCloseOperationArgs
+	_args150.Req = req
+	var _result152 TSIServiceCloseOperationResult
+	var _meta151 thrift.ResponseMeta
+	_meta151, _err = p.Client_().Call(ctx, "closeOperation", &_args150, &_result152)
+	p.SetLastResponseMeta_(_meta151)
+	if _err != nil {
+		return
+	}
+	return _result152.GetSuccess(), nil
 }
 
 // Parameters:
 //  - SessionId
-func (p *TSIServiceClient) RequestStatementId(ctx context.Context, sessionId int64) (r int64, err error) {
-	var _args134 TSIServiceRequestStatementIdArgs
-	_args134.SessionId = sessionId
-	var _result135 TSIServiceRequestStatementIdResult
-	if err = p.Client_().Call(ctx, "requestStatementId", &_args134, &_result135); err != nil {
+func (p *TSIServiceClient) GetTimeZone(ctx context.Context, sessionId int64) (_r *TSGetTimeZoneResp, _err error) {
+	var _args153 TSIServiceGetTimeZoneArgs
+	_args153.SessionId = sessionId
+	var _result155 TSIServiceGetTimeZoneResult
+	var _meta154 thrift.ResponseMeta
+	_meta154, _err = p.Client_().Call(ctx, "getTimeZone", &_args153, &_result155)
+	p.SetLastResponseMeta_(_meta154)
+	if _err != nil {
 		return
 	}
-	return _result135.GetSuccess(), nil
+	return _result155.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) SetTimeZone(ctx context.Context, req *TSSetTimeZoneReq) (_r *TSStatus, _err error) {
+	var _args156 TSIServiceSetTimeZoneArgs
+	_args156.Req = req
+	var _result158 TSIServiceSetTimeZoneResult
+	var _meta157 thrift.ResponseMeta
+	_meta157, _err = p.Client_().Call(ctx, "setTimeZone", &_args156, &_result158)
+	p.SetLastResponseMeta_(_meta157)
+	if _err != nil {
+		return
+	}
+	return _result158.GetSuccess(), nil
+}
+
+func (p *TSIServiceClient) GetProperties(ctx context.Context) (_r *ServerProperties, _err error) {
+	var _args159 TSIServiceGetPropertiesArgs
+	var _result161 TSIServiceGetPropertiesResult
+	var _meta160 thrift.ResponseMeta
+	_meta160, _err = p.Client_().Call(ctx, "getProperties", &_args159, &_result161)
+	p.SetLastResponseMeta_(_meta160)
+	if _err != nil {
+		return
+	}
+	return _result161.GetSuccess(), nil
+}
+
+// Parameters:
+//  - SessionId
+//  - StorageGroup
+func (p *TSIServiceClient) SetStorageGroup(ctx context.Context, sessionId int64, storageGroup string) (_r *TSStatus, _err error) {
+	var _args162 TSIServiceSetStorageGroupArgs
+	_args162.SessionId = sessionId
+	_args162.StorageGroup = storageGroup
+	var _result164 TSIServiceSetStorageGroupResult
+	var _meta163 thrift.ResponseMeta
+	_meta163, _err = p.Client_().Call(ctx, "setStorageGroup", &_args162, &_result164)
+	p.SetLastResponseMeta_(_meta163)
+	if _err != nil {
+		return
+	}
+	return _result164.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) CreateTimeseries(ctx context.Context, req *TSCreateTimeseriesReq) (_r *TSStatus, _err error) {
+	var _args165 TSIServiceCreateTimeseriesArgs
+	_args165.Req = req
+	var _result167 TSIServiceCreateTimeseriesResult
+	var _meta166 thrift.ResponseMeta
+	_meta166, _err = p.Client_().Call(ctx, "createTimeseries", &_args165, &_result167)
+	p.SetLastResponseMeta_(_meta166)
+	if _err != nil {
+		return
+	}
+	return _result167.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) CreateMultiTimeseries(ctx context.Context, req *TSCreateMultiTimeseriesReq) (_r *TSStatus, _err error) {
+	var _args168 TSIServiceCreateMultiTimeseriesArgs
+	_args168.Req = req
+	var _result170 TSIServiceCreateMultiTimeseriesResult
+	var _meta169 thrift.ResponseMeta
+	_meta169, _err = p.Client_().Call(ctx, "createMultiTimeseries", &_args168, &_result170)
+	p.SetLastResponseMeta_(_meta169)
+	if _err != nil {
+		return
+	}
+	return _result170.GetSuccess(), nil
+}
+
+// Parameters:
+//  - SessionId
+//  - Path
+func (p *TSIServiceClient) DeleteTimeseries(ctx context.Context, sessionId int64, path []string) (_r *TSStatus, _err error) {
+	var _args171 TSIServiceDeleteTimeseriesArgs
+	_args171.SessionId = sessionId
+	_args171.Path = path
+	var _result173 TSIServiceDeleteTimeseriesResult
+	var _meta172 thrift.ResponseMeta
+	_meta172, _err = p.Client_().Call(ctx, "deleteTimeseries", &_args171, &_result173)
+	p.SetLastResponseMeta_(_meta172)
+	if _err != nil {
+		return
+	}
+	return _result173.GetSuccess(), nil
+}
+
+// Parameters:
+//  - SessionId
+//  - StorageGroup
+func (p *TSIServiceClient) DeleteStorageGroups(ctx context.Context, sessionId int64, storageGroup []string) (_r *TSStatus, _err error) {
+	var _args174 TSIServiceDeleteStorageGroupsArgs
+	_args174.SessionId = sessionId
+	_args174.StorageGroup = storageGroup
+	var _result176 TSIServiceDeleteStorageGroupsResult
+	var _meta175 thrift.ResponseMeta
+	_meta175, _err = p.Client_().Call(ctx, "deleteStorageGroups", &_args174, &_result176)
+	p.SetLastResponseMeta_(_meta175)
+	if _err != nil {
+		return
+	}
+	return _result176.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertRecord(ctx context.Context, req *TSInsertRecordReq) (_r *TSStatus, _err error) {
+	var _args177 TSIServiceInsertRecordArgs
+	_args177.Req = req
+	var _result179 TSIServiceInsertRecordResult
+	var _meta178 thrift.ResponseMeta
+	_meta178, _err = p.Client_().Call(ctx, "insertRecord", &_args177, &_result179)
+	p.SetLastResponseMeta_(_meta178)
+	if _err != nil {
+		return
+	}
+	return _result179.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (_r *TSStatus, _err error) {
+	var _args180 TSIServiceInsertStringRecordArgs
+	_args180.Req = req
+	var _result182 TSIServiceInsertStringRecordResult
+	var _meta181 thrift.ResponseMeta
+	_meta181, _err = p.Client_().Call(ctx, "insertStringRecord", &_args180, &_result182)
+	p.SetLastResponseMeta_(_meta181)
+	if _err != nil {
+		return
+	}
+	return _result182.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertTablet(ctx context.Context, req *TSInsertTabletReq) (_r *TSStatus, _err error) {
+	var _args183 TSIServiceInsertTabletArgs
+	_args183.Req = req
+	var _result185 TSIServiceInsertTabletResult
+	var _meta184 thrift.ResponseMeta
+	_meta184, _err = p.Client_().Call(ctx, "insertTablet", &_args183, &_result185)
+	p.SetLastResponseMeta_(_meta184)
+	if _err != nil {
+		return
+	}
+	return _result185.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertTablets(ctx context.Context, req *TSInsertTabletsReq) (_r *TSStatus, _err error) {
+	var _args186 TSIServiceInsertTabletsArgs
+	_args186.Req = req
+	var _result188 TSIServiceInsertTabletsResult
+	var _meta187 thrift.ResponseMeta
+	_meta187, _err = p.Client_().Call(ctx, "insertTablets", &_args186, &_result188)
+	p.SetLastResponseMeta_(_meta187)
+	if _err != nil {
+		return
+	}
+	return _result188.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertRecords(ctx context.Context, req *TSInsertRecordsReq) (_r *TSStatus, _err error) {
+	var _args189 TSIServiceInsertRecordsArgs
+	_args189.Req = req
+	var _result191 TSIServiceInsertRecordsResult
+	var _meta190 thrift.ResponseMeta
+	_meta190, _err = p.Client_().Call(ctx, "insertRecords", &_args189, &_result191)
+	p.SetLastResponseMeta_(_meta190)
+	if _err != nil {
+		return
+	}
+	return _result191.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (_r *TSStatus, _err error) {
+	var _args192 TSIServiceInsertRecordsOfOneDeviceArgs
+	_args192.Req = req
+	var _result194 TSIServiceInsertRecordsOfOneDeviceResult
+	var _meta193 thrift.ResponseMeta
+	_meta193, _err = p.Client_().Call(ctx, "insertRecordsOfOneDevice", &_args192, &_result194)
+	p.SetLastResponseMeta_(_meta193)
+	if _err != nil {
+		return
+	}
+	return _result194.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) InsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (_r *TSStatus, _err error) {
+	var _args195 TSIServiceInsertStringRecordsArgs
+	_args195.Req = req
+	var _result197 TSIServiceInsertStringRecordsResult
+	var _meta196 thrift.ResponseMeta
+	_meta196, _err = p.Client_().Call(ctx, "insertStringRecords", &_args195, &_result197)
+	p.SetLastResponseMeta_(_meta196)
+	if _err != nil {
+		return
+	}
+	return _result197.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertTablet(ctx context.Context, req *TSInsertTabletReq) (_r *TSStatus, _err error) {
+	var _args198 TSIServiceTestInsertTabletArgs
+	_args198.Req = req
+	var _result200 TSIServiceTestInsertTabletResult
+	var _meta199 thrift.ResponseMeta
+	_meta199, _err = p.Client_().Call(ctx, "testInsertTablet", &_args198, &_result200)
+	p.SetLastResponseMeta_(_meta199)
+	if _err != nil {
+		return
+	}
+	return _result200.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertTablets(ctx context.Context, req *TSInsertTabletsReq) (_r *TSStatus, _err error) {
+	var _args201 TSIServiceTestInsertTabletsArgs
+	_args201.Req = req
+	var _result203 TSIServiceTestInsertTabletsResult
+	var _meta202 thrift.ResponseMeta
+	_meta202, _err = p.Client_().Call(ctx, "testInsertTablets", &_args201, &_result203)
+	p.SetLastResponseMeta_(_meta202)
+	if _err != nil {
+		return
+	}
+	return _result203.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertRecord(ctx context.Context, req *TSInsertRecordReq) (_r *TSStatus, _err error) {
+	var _args204 TSIServiceTestInsertRecordArgs
+	_args204.Req = req
+	var _result206 TSIServiceTestInsertRecordResult
+	var _meta205 thrift.ResponseMeta
+	_meta205, _err = p.Client_().Call(ctx, "testInsertRecord", &_args204, &_result206)
+	p.SetLastResponseMeta_(_meta205)
+	if _err != nil {
+		return
+	}
+	return _result206.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertStringRecord(ctx context.Context, req *TSInsertStringRecordReq) (_r *TSStatus, _err error) {
+	var _args207 TSIServiceTestInsertStringRecordArgs
+	_args207.Req = req
+	var _result209 TSIServiceTestInsertStringRecordResult
+	var _meta208 thrift.ResponseMeta
+	_meta208, _err = p.Client_().Call(ctx, "testInsertStringRecord", &_args207, &_result209)
+	p.SetLastResponseMeta_(_meta208)
+	if _err != nil {
+		return
+	}
+	return _result209.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertRecords(ctx context.Context, req *TSInsertRecordsReq) (_r *TSStatus, _err error) {
+	var _args210 TSIServiceTestInsertRecordsArgs
+	_args210.Req = req
+	var _result212 TSIServiceTestInsertRecordsResult
+	var _meta211 thrift.ResponseMeta
+	_meta211, _err = p.Client_().Call(ctx, "testInsertRecords", &_args210, &_result212)
+	p.SetLastResponseMeta_(_meta211)
+	if _err != nil {
+		return
+	}
+	return _result212.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertRecordsOfOneDevice(ctx context.Context, req *TSInsertRecordsOfOneDeviceReq) (_r *TSStatus, _err error) {
+	var _args213 TSIServiceTestInsertRecordsOfOneDeviceArgs
+	_args213.Req = req
+	var _result215 TSIServiceTestInsertRecordsOfOneDeviceResult
+	var _meta214 thrift.ResponseMeta
+	_meta214, _err = p.Client_().Call(ctx, "testInsertRecordsOfOneDevice", &_args213, &_result215)
+	p.SetLastResponseMeta_(_meta214)
+	if _err != nil {
+		return
+	}
+	return _result215.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) TestInsertStringRecords(ctx context.Context, req *TSInsertStringRecordsReq) (_r *TSStatus, _err error) {
+	var _args216 TSIServiceTestInsertStringRecordsArgs
+	_args216.Req = req
+	var _result218 TSIServiceTestInsertStringRecordsResult
+	var _meta217 thrift.ResponseMeta
+	_meta217, _err = p.Client_().Call(ctx, "testInsertStringRecords", &_args216, &_result218)
+	p.SetLastResponseMeta_(_meta217)
+	if _err != nil {
+		return
+	}
+	return _result218.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) DeleteData(ctx context.Context, req *TSDeleteDataReq) (_r *TSStatus, _err error) {
+	var _args219 TSIServiceDeleteDataArgs
+	_args219.Req = req
+	var _result221 TSIServiceDeleteDataResult
+	var _meta220 thrift.ResponseMeta
+	_meta220, _err = p.Client_().Call(ctx, "deleteData", &_args219, &_result221)
+	p.SetLastResponseMeta_(_meta220)
+	if _err != nil {
+		return
+	}
+	return _result221.GetSuccess(), nil
+}
+
+// Parameters:
+//  - Req
+func (p *TSIServiceClient) ExecuteRawDataQuery(ctx context.Context, req *TSRawDataQueryReq) (_r *TSExecuteStatementResp, _err error) {
+	var _args222 TSIServiceExecuteRawDataQueryArgs
+	_args222.Req = req
+	var _result224 TSIServiceExecuteRawDataQueryResult
+	var _meta223 thrift.ResponseMeta
+	_meta223, _err = p.Client_().Call(ctx, "executeRawDataQuery", &_args222, &_result224)
+	p.SetLastResponseMeta_(_meta223)
+	if _err != nil {
+		return
+	}
+	return _result224.GetSuccess(), nil
+}
+
+// Parameters:
+//  - SessionId
+func (p *TSIServiceClient) RequestStatementId(ctx context.Context, sessionId int64) (_r int64, _err error) {
+	var _args225 TSIServiceRequestStatementIdArgs
+	_args225.SessionId = sessionId
+	var _result227 TSIServiceRequestStatementIdResult
+	var _meta226 thrift.ResponseMeta
+	_meta226, _err = p.Client_().Call(ctx, "requestStatementId", &_args225, &_result227)
+	p.SetLastResponseMeta_(_meta226)
+	if _err != nil {
+		return
+	}
+	return _result227.GetSuccess(), nil
 }
 
 type TSIServiceProcessor struct {
 	processorMap map[string]thrift.TProcessorFunction
-	handler      TSIService
+	handler TSIService
 }
 
 func (p *TSIServiceProcessor) AddToProcessorMap(key string, processor thrift.TProcessorFunction) {
@@ -10332,61 +10294,59 @@
 
 func NewTSIServiceProcessor(handler TSIService) *TSIServiceProcessor {
 
-	self136 := &TSIServiceProcessor{handler: handler, processorMap: make(map[string]thrift.TProcessorFunction)}
-	self136.processorMap["openSession"] = &tSIServiceProcessorOpenSession{handler: handler}
-	self136.processorMap["closeSession"] = &tSIServiceProcessorCloseSession{handler: handler}
-	self136.processorMap["executeStatement"] = &tSIServiceProcessorExecuteStatement{handler: handler}
-	self136.processorMap["executeBatchStatement"] = &tSIServiceProcessorExecuteBatchStatement{handler: handler}
-	self136.processorMap["executeQueryStatement"] = &tSIServiceProcessorExecuteQueryStatement{handler: handler}
-	self136.processorMap["executeUpdateStatement"] = &tSIServiceProcessorExecuteUpdateStatement{handler: handler}
-	self136.processorMap["fetchResults"] = &tSIServiceProcessorFetchResults{handler: handler}
-	self136.processorMap["fetchMetadata"] = &tSIServiceProcessorFetchMetadata{handler: handler}
-	self136.processorMap["cancelOperation"] = &tSIServiceProcessorCancelOperation{handler: handler}
-	self136.processorMap["closeOperation"] = &tSIServiceProcessorCloseOperation{handler: handler}
-	self136.processorMap["getTimeZone"] = &tSIServiceProcessorGetTimeZone{handler: handler}
-	self136.processorMap["setTimeZone"] = &tSIServiceProcessorSetTimeZone{handler: handler}
-	self136.processorMap["getProperties"] = &tSIServiceProcessorGetProperties{handler: handler}
-	self136.processorMap["setStorageGroup"] = &tSIServiceProcessorSetStorageGroup{handler: handler}
-	self136.processorMap["createTimeseries"] = &tSIServiceProcessorCreateTimeseries{handler: handler}
-	self136.processorMap["createMultiTimeseries"] = &tSIServiceProcessorCreateMultiTimeseries{handler: handler}
-	self136.processorMap["deleteTimeseries"] = &tSIServiceProcessorDeleteTimeseries{handler: handler}
-	self136.processorMap["deleteStorageGroups"] = &tSIServiceProcessorDeleteStorageGroups{handler: handler}
-	self136.processorMap["insertRecord"] = &tSIServiceProcessorInsertRecord{handler: handler}
-	self136.processorMap["insertStringRecord"] = &tSIServiceProcessorInsertStringRecord{handler: handler}
-	self136.processorMap["insertTablet"] = &tSIServiceProcessorInsertTablet{handler: handler}
-	self136.processorMap["insertTablets"] = &tSIServiceProcessorInsertTablets{handler: handler}
-	self136.processorMap["insertRecords"] = &tSIServiceProcessorInsertRecords{handler: handler}
-	self136.processorMap["insertRecordsOfOneDevice"] = &tSIServiceProcessorInsertRecordsOfOneDevice{handler: handler}
-	self136.processorMap["insertStringRecords"] = &tSIServiceProcessorInsertStringRecords{handler: handler}
-	self136.processorMap["testInsertTablet"] = &tSIServiceProcessorTestInsertTablet{handler: handler}
-	self136.processorMap["testInsertTablets"] = &tSIServiceProcessorTestInsertTablets{handler: handler}
-	self136.processorMap["testInsertRecord"] = &tSIServiceProcessorTestInsertRecord{handler: handler}
-	self136.processorMap["testInsertStringRecord"] = &tSIServiceProcessorTestInsertStringRecord{handler: handler}
-	self136.processorMap["testInsertRecords"] = &tSIServiceProcessorTestInsertRecords{handler: handler}
-	self136.processorMap["testInsertRecordsOfOneDevice"] = &tSIServiceProcessorTestInsertRecordsOfOneDevice{handler: handler}
-	self136.processorMap["testInsertStringRecords"] = &tSIServiceProcessorTestInsertStringRecords{handler: handler}
-	self136.processorMap["deleteData"] = &tSIServiceProcessorDeleteData{handler: handler}
-	self136.processorMap["executeRawDataQuery"] = &tSIServiceProcessorExecuteRawDataQuery{handler: handler}
-	self136.processorMap["requestStatementId"] = &tSIServiceProcessorRequestStatementId{handler: handler}
-	return self136
+	self228 := &TSIServiceProcessor{handler:handler, processorMap:make(map[string]thrift.TProcessorFunction)}
+	self228.processorMap["openSession"] = &tSIServiceProcessorOpenSession{handler:handler}
+	self228.processorMap["closeSession"] = &tSIServiceProcessorCloseSession{handler:handler}
+	self228.processorMap["executeStatement"] = &tSIServiceProcessorExecuteStatement{handler:handler}
+	self228.processorMap["executeBatchStatement"] = &tSIServiceProcessorExecuteBatchStatement{handler:handler}
+	self228.processorMap["executeQueryStatement"] = &tSIServiceProcessorExecuteQueryStatement{handler:handler}
+	self228.processorMap["executeUpdateStatement"] = &tSIServiceProcessorExecuteUpdateStatement{handler:handler}
+	self228.processorMap["fetchResults"] = &tSIServiceProcessorFetchResults{handler:handler}
+	self228.processorMap["fetchMetadata"] = &tSIServiceProcessorFetchMetadata{handler:handler}
+	self228.processorMap["cancelOperation"] = &tSIServiceProcessorCancelOperation{handler:handler}
+	self228.processorMap["closeOperation"] = &tSIServiceProcessorCloseOperation{handler:handler}
+	self228.processorMap["getTimeZone"] = &tSIServiceProcessorGetTimeZone{handler:handler}
+	self228.processorMap["setTimeZone"] = &tSIServiceProcessorSetTimeZone{handler:handler}
+	self228.processorMap["getProperties"] = &tSIServiceProcessorGetProperties{handler:handler}
+	self228.processorMap["setStorageGroup"] = &tSIServiceProcessorSetStorageGroup{handler:handler}
+	self228.processorMap["createTimeseries"] = &tSIServiceProcessorCreateTimeseries{handler:handler}
+	self228.processorMap["createMultiTimeseries"] = &tSIServiceProcessorCreateMultiTimeseries{handler:handler}
+	self228.processorMap["deleteTimeseries"] = &tSIServiceProcessorDeleteTimeseries{handler:handler}
+	self228.processorMap["deleteStorageGroups"] = &tSIServiceProcessorDeleteStorageGroups{handler:handler}
+	self228.processorMap["insertRecord"] = &tSIServiceProcessorInsertRecord{handler:handler}
+	self228.processorMap["insertStringRecord"] = &tSIServiceProcessorInsertStringRecord{handler:handler}
+	self228.processorMap["insertTablet"] = &tSIServiceProcessorInsertTablet{handler:handler}
+	self228.processorMap["insertTablets"] = &tSIServiceProcessorInsertTablets{handler:handler}
+	self228.processorMap["insertRecords"] = &tSIServiceProcessorInsertRecords{handler:handler}
+	self228.processorMap["insertRecordsOfOneDevice"] = &tSIServiceProcessorInsertRecordsOfOneDevice{handler:handler}
+	self228.processorMap["insertStringRecords"] = &tSIServiceProcessorInsertStringRecords{handler:handler}
+	self228.processorMap["testInsertTablet"] = &tSIServiceProcessorTestInsertTablet{handler:handler}
+	self228.processorMap["testInsertTablets"] = &tSIServiceProcessorTestInsertTablets{handler:handler}
+	self228.processorMap["testInsertRecord"] = &tSIServiceProcessorTestInsertRecord{handler:handler}
+	self228.processorMap["testInsertStringRecord"] = &tSIServiceProcessorTestInsertStringRecord{handler:handler}
+	self228.processorMap["testInsertRecords"] = &tSIServiceProcessorTestInsertRecords{handler:handler}
+	self228.processorMap["testInsertRecordsOfOneDevice"] = &tSIServiceProcessorTestInsertRecordsOfOneDevice{handler:handler}
+	self228.processorMap["testInsertStringRecords"] = &tSIServiceProcessorTestInsertStringRecords{handler:handler}
+	self228.processorMap["deleteData"] = &tSIServiceProcessorDeleteData{handler:handler}
+	self228.processorMap["executeRawDataQuery"] = &tSIServiceProcessorExecuteRawDataQuery{handler:handler}
+	self228.processorMap["requestStatementId"] = &tSIServiceProcessorRequestStatementId{handler:handler}
+	return self228
 }
 
 func (p *TSIServiceProcessor) Process(ctx context.Context, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
-	name, _, seqId, err := iprot.ReadMessageBegin()
-	if err != nil {
-		return false, err
-	}
+	name, _, seqId, err2 := iprot.ReadMessageBegin(ctx)
+	if err2 != nil { return false, thrift.WrapTException(err2) }
 	if processor, ok := p.GetProcessorFunction(name); ok {
 		return processor.Process(ctx, seqId, iprot, oprot)
 	}
-	iprot.Skip(thrift.STRUCT)
-	iprot.ReadMessageEnd()
-	x137 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function "+name)
-	oprot.WriteMessageBegin(name, thrift.EXCEPTION, seqId)
-	x137.Write(oprot)
-	oprot.WriteMessageEnd()
+	iprot.Skip(ctx, thrift.STRUCT)
+	iprot.ReadMessageEnd(ctx)
+	x229 := thrift.NewTApplicationException(thrift.UNKNOWN_METHOD, "Unknown function " + name)
+	oprot.WriteMessageBegin(ctx, name, thrift.EXCEPTION, seqId)
+	x229.Write(ctx, oprot)
+	oprot.WriteMessageEnd(ctx)
 	oprot.Flush(ctx)
-	return false, x137
+	return false, x229
 
 }
 
@@ -10396,41 +10356,72 @@
 
 func (p *tSIServiceProcessorOpenSession) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceOpenSessionArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("openSession", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "openSession", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceOpenSessionResult{}
 	var retval *TSOpenSessionResp
-	var err2 error
 	if retval, err2 = p.handler.OpenSession(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing openSession: "+err2.Error())
-		oprot.WriteMessageBegin("openSession", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing openSession: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "openSession", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("openSession", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "openSession", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10444,41 +10435,72 @@
 
 func (p *tSIServiceProcessorCloseSession) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceCloseSessionArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("closeSession", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "closeSession", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceCloseSessionResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.CloseSession(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing closeSession: "+err2.Error())
-		oprot.WriteMessageBegin("closeSession", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing closeSession: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "closeSession", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("closeSession", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "closeSession", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10492,41 +10514,72 @@
 
 func (p *tSIServiceProcessorExecuteStatement) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceExecuteStatementArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("executeStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceExecuteStatementResult{}
 	var retval *TSExecuteStatementResp
-	var err2 error
 	if retval, err2 = p.handler.ExecuteStatement(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeStatement: "+err2.Error())
-		oprot.WriteMessageBegin("executeStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeStatement: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("executeStatement", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "executeStatement", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10540,41 +10593,72 @@
 
 func (p *tSIServiceProcessorExecuteBatchStatement) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceExecuteBatchStatementArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("executeBatchStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeBatchStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceExecuteBatchStatementResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.ExecuteBatchStatement(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeBatchStatement: "+err2.Error())
-		oprot.WriteMessageBegin("executeBatchStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeBatchStatement: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeBatchStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("executeBatchStatement", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "executeBatchStatement", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10588,41 +10672,72 @@
 
 func (p *tSIServiceProcessorExecuteQueryStatement) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceExecuteQueryStatementArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("executeQueryStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeQueryStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceExecuteQueryStatementResult{}
 	var retval *TSExecuteStatementResp
-	var err2 error
 	if retval, err2 = p.handler.ExecuteQueryStatement(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeQueryStatement: "+err2.Error())
-		oprot.WriteMessageBegin("executeQueryStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeQueryStatement: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeQueryStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("executeQueryStatement", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "executeQueryStatement", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10636,41 +10751,72 @@
 
 func (p *tSIServiceProcessorExecuteUpdateStatement) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceExecuteUpdateStatementArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("executeUpdateStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeUpdateStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceExecuteUpdateStatementResult{}
 	var retval *TSExecuteStatementResp
-	var err2 error
 	if retval, err2 = p.handler.ExecuteUpdateStatement(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeUpdateStatement: "+err2.Error())
-		oprot.WriteMessageBegin("executeUpdateStatement", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeUpdateStatement: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeUpdateStatement", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("executeUpdateStatement", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "executeUpdateStatement", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10684,41 +10830,72 @@
 
 func (p *tSIServiceProcessorFetchResults) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceFetchResultsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("fetchResults", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "fetchResults", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceFetchResultsResult{}
 	var retval *TSFetchResultsResp
-	var err2 error
 	if retval, err2 = p.handler.FetchResults(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing fetchResults: "+err2.Error())
-		oprot.WriteMessageBegin("fetchResults", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing fetchResults: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "fetchResults", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("fetchResults", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "fetchResults", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10732,41 +10909,72 @@
 
 func (p *tSIServiceProcessorFetchMetadata) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceFetchMetadataArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("fetchMetadata", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "fetchMetadata", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceFetchMetadataResult{}
 	var retval *TSFetchMetadataResp
-	var err2 error
 	if retval, err2 = p.handler.FetchMetadata(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing fetchMetadata: "+err2.Error())
-		oprot.WriteMessageBegin("fetchMetadata", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing fetchMetadata: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "fetchMetadata", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("fetchMetadata", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "fetchMetadata", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10780,41 +10988,72 @@
 
 func (p *tSIServiceProcessorCancelOperation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceCancelOperationArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("cancelOperation", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "cancelOperation", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceCancelOperationResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.CancelOperation(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing cancelOperation: "+err2.Error())
-		oprot.WriteMessageBegin("cancelOperation", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing cancelOperation: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "cancelOperation", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("cancelOperation", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "cancelOperation", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10828,41 +11067,72 @@
 
 func (p *tSIServiceProcessorCloseOperation) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceCloseOperationArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("closeOperation", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "closeOperation", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceCloseOperationResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.CloseOperation(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing closeOperation: "+err2.Error())
-		oprot.WriteMessageBegin("closeOperation", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing closeOperation: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "closeOperation", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("closeOperation", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "closeOperation", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10876,41 +11146,72 @@
 
 func (p *tSIServiceProcessorGetTimeZone) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceGetTimeZoneArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("getTimeZone", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "getTimeZone", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceGetTimeZoneResult{}
 	var retval *TSGetTimeZoneResp
-	var err2 error
 	if retval, err2 = p.handler.GetTimeZone(ctx, args.SessionId); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getTimeZone: "+err2.Error())
-		oprot.WriteMessageBegin("getTimeZone", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getTimeZone: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "getTimeZone", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("getTimeZone", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "getTimeZone", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10924,41 +11225,72 @@
 
 func (p *tSIServiceProcessorSetTimeZone) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceSetTimeZoneArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("setTimeZone", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "setTimeZone", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceSetTimeZoneResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.SetTimeZone(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing setTimeZone: "+err2.Error())
-		oprot.WriteMessageBegin("setTimeZone", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing setTimeZone: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "setTimeZone", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("setTimeZone", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "setTimeZone", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -10972,41 +11304,72 @@
 
 func (p *tSIServiceProcessorGetProperties) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceGetPropertiesArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("getProperties", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "getProperties", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceGetPropertiesResult{}
 	var retval *ServerProperties
-	var err2 error
 	if retval, err2 = p.handler.GetProperties(ctx); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getProperties: "+err2.Error())
-		oprot.WriteMessageBegin("getProperties", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing getProperties: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "getProperties", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("getProperties", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "getProperties", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11020,41 +11383,72 @@
 
 func (p *tSIServiceProcessorSetStorageGroup) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceSetStorageGroupArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("setStorageGroup", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "setStorageGroup", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceSetStorageGroupResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.SetStorageGroup(ctx, args.SessionId, args.StorageGroup); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing setStorageGroup: "+err2.Error())
-		oprot.WriteMessageBegin("setStorageGroup", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing setStorageGroup: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "setStorageGroup", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("setStorageGroup", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "setStorageGroup", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11068,41 +11462,72 @@
 
 func (p *tSIServiceProcessorCreateTimeseries) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceCreateTimeseriesArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("createTimeseries", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "createTimeseries", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceCreateTimeseriesResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.CreateTimeseries(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createTimeseries: "+err2.Error())
-		oprot.WriteMessageBegin("createTimeseries", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createTimeseries: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "createTimeseries", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("createTimeseries", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "createTimeseries", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11116,41 +11541,72 @@
 
 func (p *tSIServiceProcessorCreateMultiTimeseries) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceCreateMultiTimeseriesArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("createMultiTimeseries", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "createMultiTimeseries", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceCreateMultiTimeseriesResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.CreateMultiTimeseries(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createMultiTimeseries: "+err2.Error())
-		oprot.WriteMessageBegin("createMultiTimeseries", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing createMultiTimeseries: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "createMultiTimeseries", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("createMultiTimeseries", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "createMultiTimeseries", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11164,41 +11620,72 @@
 
 func (p *tSIServiceProcessorDeleteTimeseries) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceDeleteTimeseriesArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("deleteTimeseries", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "deleteTimeseries", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceDeleteTimeseriesResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.DeleteTimeseries(ctx, args.SessionId, args.Path); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteTimeseries: "+err2.Error())
-		oprot.WriteMessageBegin("deleteTimeseries", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteTimeseries: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "deleteTimeseries", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("deleteTimeseries", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "deleteTimeseries", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11212,41 +11699,72 @@
 
 func (p *tSIServiceProcessorDeleteStorageGroups) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceDeleteStorageGroupsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("deleteStorageGroups", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "deleteStorageGroups", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceDeleteStorageGroupsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.DeleteStorageGroups(ctx, args.SessionId, args.StorageGroup); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteStorageGroups: "+err2.Error())
-		oprot.WriteMessageBegin("deleteStorageGroups", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteStorageGroups: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "deleteStorageGroups", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("deleteStorageGroups", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "deleteStorageGroups", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11260,41 +11778,72 @@
 
 func (p *tSIServiceProcessorInsertRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertRecordArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertRecordResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertRecord(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertRecord: "+err2.Error())
-		oprot.WriteMessageBegin("insertRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertRecord: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertRecord", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertRecord", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11308,41 +11857,72 @@
 
 func (p *tSIServiceProcessorInsertStringRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertStringRecordArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertStringRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertStringRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertStringRecordResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertStringRecord(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertStringRecord: "+err2.Error())
-		oprot.WriteMessageBegin("insertStringRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertStringRecord: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertStringRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertStringRecord", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertStringRecord", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11356,41 +11936,72 @@
 
 func (p *tSIServiceProcessorInsertTablet) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertTabletArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertTablet", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertTablet", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertTabletResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertTablet(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertTablet: "+err2.Error())
-		oprot.WriteMessageBegin("insertTablet", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertTablet: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertTablet", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertTablet", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertTablet", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11404,41 +12015,72 @@
 
 func (p *tSIServiceProcessorInsertTablets) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertTabletsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertTablets", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertTablets", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertTabletsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertTablets(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertTablets: "+err2.Error())
-		oprot.WriteMessageBegin("insertTablets", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertTablets: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertTablets", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertTablets", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertTablets", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11452,41 +12094,72 @@
 
 func (p *tSIServiceProcessorInsertRecords) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertRecordsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertRecordsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertRecords(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertRecords: "+err2.Error())
-		oprot.WriteMessageBegin("insertRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertRecords: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertRecords", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertRecords", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11500,41 +12173,72 @@
 
 func (p *tSIServiceProcessorInsertRecordsOfOneDevice) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertRecordsOfOneDeviceArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertRecordsOfOneDeviceResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertRecordsOfOneDevice(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertRecordsOfOneDevice: "+err2.Error())
-		oprot.WriteMessageBegin("insertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertRecordsOfOneDevice: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertRecordsOfOneDevice", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertRecordsOfOneDevice", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11548,41 +12252,72 @@
 
 func (p *tSIServiceProcessorInsertStringRecords) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceInsertStringRecordsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("insertStringRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertStringRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceInsertStringRecordsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.InsertStringRecords(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertStringRecords: "+err2.Error())
-		oprot.WriteMessageBegin("insertStringRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing insertStringRecords: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "insertStringRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("insertStringRecords", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "insertStringRecords", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11596,41 +12331,72 @@
 
 func (p *tSIServiceProcessorTestInsertTablet) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertTabletArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertTablet", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertTablet", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertTabletResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertTablet(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertTablet: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertTablet", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertTablet: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertTablet", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertTablet", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertTablet", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11644,41 +12410,72 @@
 
 func (p *tSIServiceProcessorTestInsertTablets) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertTabletsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertTablets", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertTablets", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertTabletsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertTablets(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertTablets: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertTablets", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertTablets: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertTablets", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertTablets", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertTablets", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11692,41 +12489,72 @@
 
 func (p *tSIServiceProcessorTestInsertRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertRecordArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertRecordResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertRecord(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertRecord: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertRecord: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertRecord", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertRecord", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11740,41 +12568,72 @@
 
 func (p *tSIServiceProcessorTestInsertStringRecord) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertStringRecordArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertStringRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertStringRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertStringRecordResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertStringRecord(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertStringRecord: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertStringRecord", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertStringRecord: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertStringRecord", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertStringRecord", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertStringRecord", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11788,41 +12647,72 @@
 
 func (p *tSIServiceProcessorTestInsertRecords) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertRecordsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertRecordsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertRecords(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertRecords: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertRecords: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertRecords", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertRecords", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11836,41 +12726,72 @@
 
 func (p *tSIServiceProcessorTestInsertRecordsOfOneDevice) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertRecordsOfOneDeviceArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertRecordsOfOneDeviceResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertRecordsOfOneDevice(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertRecordsOfOneDevice: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertRecordsOfOneDevice: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertRecordsOfOneDevice", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertRecordsOfOneDevice", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertRecordsOfOneDevice", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11884,41 +12805,72 @@
 
 func (p *tSIServiceProcessorTestInsertStringRecords) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceTestInsertStringRecordsArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("testInsertStringRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertStringRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceTestInsertStringRecordsResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.TestInsertStringRecords(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertStringRecords: "+err2.Error())
-		oprot.WriteMessageBegin("testInsertStringRecords", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing testInsertStringRecords: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "testInsertStringRecords", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("testInsertStringRecords", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "testInsertStringRecords", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11932,41 +12884,72 @@
 
 func (p *tSIServiceProcessorDeleteData) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceDeleteDataArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("deleteData", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "deleteData", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceDeleteDataResult{}
 	var retval *TSStatus
-	var err2 error
 	if retval, err2 = p.handler.DeleteData(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteData: "+err2.Error())
-		oprot.WriteMessageBegin("deleteData", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing deleteData: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "deleteData", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("deleteData", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "deleteData", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -11980,41 +12963,72 @@
 
 func (p *tSIServiceProcessorExecuteRawDataQuery) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceExecuteRawDataQueryArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("executeRawDataQuery", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeRawDataQuery", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceExecuteRawDataQueryResult{}
 	var retval *TSExecuteStatementResp
-	var err2 error
 	if retval, err2 = p.handler.ExecuteRawDataQuery(ctx, args.Req); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeRawDataQuery: "+err2.Error())
-		oprot.WriteMessageBegin("executeRawDataQuery", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing executeRawDataQuery: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "executeRawDataQuery", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = retval
 	}
-	if err2 = oprot.WriteMessageBegin("executeRawDataQuery", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "executeRawDataQuery", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -12028,41 +13042,72 @@
 
 func (p *tSIServiceProcessorRequestStatementId) Process(ctx context.Context, seqId int32, iprot, oprot thrift.TProtocol) (success bool, err thrift.TException) {
 	args := TSIServiceRequestStatementIdArgs{}
-	if err = args.Read(iprot); err != nil {
-		iprot.ReadMessageEnd()
-		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err.Error())
-		oprot.WriteMessageBegin("requestStatementId", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+	var err2 error
+	if err2 = args.Read(ctx, iprot); err2 != nil {
+		iprot.ReadMessageEnd(ctx)
+		x := thrift.NewTApplicationException(thrift.PROTOCOL_ERROR, err2.Error())
+		oprot.WriteMessageBegin(ctx, "requestStatementId", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return false, err
+		return false, thrift.WrapTException(err2)
+	}
+	iprot.ReadMessageEnd(ctx)
+
+	tickerCancel := func() {}
+	// Start a goroutine to do server side connectivity check.
+	if thrift.ServerConnectivityCheckInterval > 0 {
+		var cancel context.CancelFunc
+		ctx, cancel = context.WithCancel(ctx)
+		defer cancel()
+		var tickerCtx context.Context
+		tickerCtx, tickerCancel = context.WithCancel(context.Background())
+		defer tickerCancel()
+		go func(ctx context.Context, cancel context.CancelFunc) {
+			ticker := time.NewTicker(thrift.ServerConnectivityCheckInterval)
+			defer ticker.Stop()
+			for {
+				select {
+				case <-ctx.Done():
+					return
+				case <-ticker.C:
+					if !iprot.Transport().IsOpen() {
+						cancel()
+						return
+					}
+				}
+			}
+		}(tickerCtx, cancel)
 	}
 
-	iprot.ReadMessageEnd()
 	result := TSIServiceRequestStatementIdResult{}
 	var retval int64
-	var err2 error
 	if retval, err2 = p.handler.RequestStatementId(ctx, args.SessionId); err2 != nil {
-		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing requestStatementId: "+err2.Error())
-		oprot.WriteMessageBegin("requestStatementId", thrift.EXCEPTION, seqId)
-		x.Write(oprot)
-		oprot.WriteMessageEnd()
+		tickerCancel()
+		if err2 == thrift.ErrAbandonRequest {
+			return false, thrift.WrapTException(err2)
+		}
+		x := thrift.NewTApplicationException(thrift.INTERNAL_ERROR, "Internal error processing requestStatementId: " + err2.Error())
+		oprot.WriteMessageBegin(ctx, "requestStatementId", thrift.EXCEPTION, seqId)
+		x.Write(ctx, oprot)
+		oprot.WriteMessageEnd(ctx)
 		oprot.Flush(ctx)
-		return true, err2
+		return true, thrift.WrapTException(err2)
 	} else {
 		result.Success = &retval
 	}
-	if err2 = oprot.WriteMessageBegin("requestStatementId", thrift.REPLY, seqId); err2 != nil {
-		err = err2
+	tickerCancel()
+	if err2 = oprot.WriteMessageBegin(ctx, "requestStatementId", thrift.REPLY, seqId); err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = result.Write(oprot); err == nil && err2 != nil {
-		err = err2
+	if err2 = result.Write(ctx, oprot); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
-	if err2 = oprot.WriteMessageEnd(); err == nil && err2 != nil {
-		err = err2
+	if err2 = oprot.WriteMessageEnd(ctx); err == nil && err2 != nil {
+		err = thrift.WrapTException(err2)
 	}
 	if err2 = oprot.Flush(ctx); err == nil && err2 != nil {
-		err = err2
+		err = thrift.WrapTException(err2)
 	}
 	if err != nil {
 		return
@@ -12070,6 +13115,7 @@
 	return true, err
 }
 
+
 // HELPER FUNCTIONS AND STRUCTURES
 
 // Attributes:
@@ -12083,7 +13129,6 @@
 }
 
 var TSIServiceOpenSessionArgs_Req_DEFAULT *TSOpenSessionReq
-
 func (p *TSIServiceOpenSessionArgs) GetReq() *TSOpenSessionReq {
 	if !p.IsSetReq() {
 		return TSIServiceOpenSessionArgs_Req_DEFAULT
@@ -12094,83 +13139,75 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceOpenSessionArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceOpenSessionArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceOpenSessionArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceOpenSessionArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSOpenSessionReq{
-		ClientProtocol: 2,
+		ClientProtocol:   2,
 	}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceOpenSessionArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("openSession_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceOpenSessionArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "openSession_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceOpenSessionArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceOpenSessionArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -12192,7 +13229,6 @@
 }
 
 var TSIServiceOpenSessionResult_Success_DEFAULT *TSOpenSessionResp
-
 func (p *TSIServiceOpenSessionResult) GetSuccess() *TSOpenSessionResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceOpenSessionResult_Success_DEFAULT
@@ -12203,84 +13239,76 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceOpenSessionResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceOpenSessionResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceOpenSessionResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceOpenSessionResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSOpenSessionResp{
-		ServerProtocolVersion: 0,
+		ServerProtocolVersion:   0,
 	}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceOpenSessionResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("openSession_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceOpenSessionResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "openSession_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceOpenSessionResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceOpenSessionResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -12303,7 +13331,6 @@
 }
 
 var TSIServiceCloseSessionArgs_Req_DEFAULT *TSCloseSessionReq
-
 func (p *TSIServiceCloseSessionArgs) GetReq() *TSCloseSessionReq {
 	if !p.IsSetReq() {
 		return TSIServiceCloseSessionArgs_Req_DEFAULT
@@ -12314,81 +13341,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceCloseSessionArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCloseSessionArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseSessionArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceCloseSessionArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSCloseSessionReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseSessionArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("closeSession_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCloseSessionArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "closeSession_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceCloseSessionArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceCloseSessionArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -12410,7 +13429,6 @@
 }
 
 var TSIServiceCloseSessionResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceCloseSessionResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceCloseSessionResult_Success_DEFAULT
@@ -12421,82 +13439,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceCloseSessionResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCloseSessionResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseSessionResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceCloseSessionResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseSessionResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("closeSession_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCloseSessionResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "closeSession_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceCloseSessionResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceCloseSessionResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -12519,7 +13529,6 @@
 }
 
 var TSIServiceExecuteStatementArgs_Req_DEFAULT *TSExecuteStatementReq
-
 func (p *TSIServiceExecuteStatementArgs) GetReq() *TSExecuteStatementReq {
 	if !p.IsSetReq() {
 		return TSIServiceExecuteStatementArgs_Req_DEFAULT
@@ -12530,81 +13539,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceExecuteStatementArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteStatementArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteStatementArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteStatementArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSExecuteStatementReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteStatementArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeStatement_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteStatementArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeStatement_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceExecuteStatementArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceExecuteStatementArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -12626,7 +13627,6 @@
 }
 
 var TSIServiceExecuteStatementResult_Success_DEFAULT *TSExecuteStatementResp
-
 func (p *TSIServiceExecuteStatementResult) GetSuccess() *TSExecuteStatementResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceExecuteStatementResult_Success_DEFAULT
@@ -12637,82 +13637,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceExecuteStatementResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteStatementResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteStatementResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteStatementResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSExecuteStatementResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteStatementResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeStatement_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteStatementResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeStatement_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceExecuteStatementResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceExecuteStatementResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -12735,7 +13727,6 @@
 }
 
 var TSIServiceExecuteBatchStatementArgs_Req_DEFAULT *TSExecuteBatchStatementReq
-
 func (p *TSIServiceExecuteBatchStatementArgs) GetReq() *TSExecuteBatchStatementReq {
 	if !p.IsSetReq() {
 		return TSIServiceExecuteBatchStatementArgs_Req_DEFAULT
@@ -12746,81 +13737,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceExecuteBatchStatementArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteBatchStatementArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteBatchStatementArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteBatchStatementArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSExecuteBatchStatementReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteBatchStatementArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeBatchStatement_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteBatchStatementArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeBatchStatement_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceExecuteBatchStatementArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceExecuteBatchStatementArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -12842,7 +13825,6 @@
 }
 
 var TSIServiceExecuteBatchStatementResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceExecuteBatchStatementResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceExecuteBatchStatementResult_Success_DEFAULT
@@ -12853,82 +13835,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceExecuteBatchStatementResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteBatchStatementResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteBatchStatementResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteBatchStatementResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteBatchStatementResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeBatchStatement_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteBatchStatementResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeBatchStatement_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceExecuteBatchStatementResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceExecuteBatchStatementResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -12951,7 +13925,6 @@
 }
 
 var TSIServiceExecuteQueryStatementArgs_Req_DEFAULT *TSExecuteStatementReq
-
 func (p *TSIServiceExecuteQueryStatementArgs) GetReq() *TSExecuteStatementReq {
 	if !p.IsSetReq() {
 		return TSIServiceExecuteQueryStatementArgs_Req_DEFAULT
@@ -12962,81 +13935,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceExecuteQueryStatementArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteQueryStatementArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteQueryStatementArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteQueryStatementArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSExecuteStatementReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteQueryStatementArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeQueryStatement_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteQueryStatementArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeQueryStatement_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceExecuteQueryStatementArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceExecuteQueryStatementArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -13058,7 +14023,6 @@
 }
 
 var TSIServiceExecuteQueryStatementResult_Success_DEFAULT *TSExecuteStatementResp
-
 func (p *TSIServiceExecuteQueryStatementResult) GetSuccess() *TSExecuteStatementResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceExecuteQueryStatementResult_Success_DEFAULT
@@ -13069,82 +14033,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceExecuteQueryStatementResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteQueryStatementResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteQueryStatementResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteQueryStatementResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSExecuteStatementResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteQueryStatementResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeQueryStatement_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteQueryStatementResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeQueryStatement_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceExecuteQueryStatementResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceExecuteQueryStatementResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -13167,7 +14123,6 @@
 }
 
 var TSIServiceExecuteUpdateStatementArgs_Req_DEFAULT *TSExecuteStatementReq
-
 func (p *TSIServiceExecuteUpdateStatementArgs) GetReq() *TSExecuteStatementReq {
 	if !p.IsSetReq() {
 		return TSIServiceExecuteUpdateStatementArgs_Req_DEFAULT
@@ -13178,81 +14133,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceExecuteUpdateStatementArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteUpdateStatementArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteUpdateStatementArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteUpdateStatementArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSExecuteStatementReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteUpdateStatementArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeUpdateStatement_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteUpdateStatementArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeUpdateStatement_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceExecuteUpdateStatementArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceExecuteUpdateStatementArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -13274,7 +14221,6 @@
 }
 
 var TSIServiceExecuteUpdateStatementResult_Success_DEFAULT *TSExecuteStatementResp
-
 func (p *TSIServiceExecuteUpdateStatementResult) GetSuccess() *TSExecuteStatementResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceExecuteUpdateStatementResult_Success_DEFAULT
@@ -13285,82 +14231,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceExecuteUpdateStatementResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteUpdateStatementResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteUpdateStatementResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteUpdateStatementResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSExecuteStatementResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteUpdateStatementResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeUpdateStatement_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteUpdateStatementResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeUpdateStatement_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceExecuteUpdateStatementResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceExecuteUpdateStatementResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -13383,7 +14321,6 @@
 }
 
 var TSIServiceFetchResultsArgs_Req_DEFAULT *TSFetchResultsReq
-
 func (p *TSIServiceFetchResultsArgs) GetReq() *TSFetchResultsReq {
 	if !p.IsSetReq() {
 		return TSIServiceFetchResultsArgs_Req_DEFAULT
@@ -13394,81 +14331,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceFetchResultsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceFetchResultsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchResultsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceFetchResultsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSFetchResultsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchResultsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("fetchResults_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceFetchResultsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "fetchResults_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceFetchResultsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceFetchResultsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -13490,7 +14419,6 @@
 }
 
 var TSIServiceFetchResultsResult_Success_DEFAULT *TSFetchResultsResp
-
 func (p *TSIServiceFetchResultsResult) GetSuccess() *TSFetchResultsResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceFetchResultsResult_Success_DEFAULT
@@ -13501,82 +14429,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceFetchResultsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceFetchResultsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchResultsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceFetchResultsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSFetchResultsResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchResultsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("fetchResults_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceFetchResultsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "fetchResults_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceFetchResultsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceFetchResultsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -13599,7 +14519,6 @@
 }
 
 var TSIServiceFetchMetadataArgs_Req_DEFAULT *TSFetchMetadataReq
-
 func (p *TSIServiceFetchMetadataArgs) GetReq() *TSFetchMetadataReq {
 	if !p.IsSetReq() {
 		return TSIServiceFetchMetadataArgs_Req_DEFAULT
@@ -13610,81 +14529,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceFetchMetadataArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceFetchMetadataArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchMetadataArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceFetchMetadataArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSFetchMetadataReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchMetadataArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("fetchMetadata_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceFetchMetadataArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "fetchMetadata_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceFetchMetadataArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceFetchMetadataArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -13706,7 +14617,6 @@
 }
 
 var TSIServiceFetchMetadataResult_Success_DEFAULT *TSFetchMetadataResp
-
 func (p *TSIServiceFetchMetadataResult) GetSuccess() *TSFetchMetadataResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceFetchMetadataResult_Success_DEFAULT
@@ -13717,82 +14627,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceFetchMetadataResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceFetchMetadataResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchMetadataResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceFetchMetadataResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSFetchMetadataResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceFetchMetadataResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("fetchMetadata_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceFetchMetadataResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "fetchMetadata_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceFetchMetadataResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceFetchMetadataResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -13815,7 +14717,6 @@
 }
 
 var TSIServiceCancelOperationArgs_Req_DEFAULT *TSCancelOperationReq
-
 func (p *TSIServiceCancelOperationArgs) GetReq() *TSCancelOperationReq {
 	if !p.IsSetReq() {
 		return TSIServiceCancelOperationArgs_Req_DEFAULT
@@ -13826,81 +14727,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceCancelOperationArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCancelOperationArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCancelOperationArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceCancelOperationArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSCancelOperationReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCancelOperationArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("cancelOperation_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCancelOperationArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "cancelOperation_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceCancelOperationArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceCancelOperationArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -13922,7 +14815,6 @@
 }
 
 var TSIServiceCancelOperationResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceCancelOperationResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceCancelOperationResult_Success_DEFAULT
@@ -13933,82 +14825,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceCancelOperationResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCancelOperationResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCancelOperationResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceCancelOperationResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCancelOperationResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("cancelOperation_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCancelOperationResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "cancelOperation_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceCancelOperationResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceCancelOperationResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -14031,7 +14915,6 @@
 }
 
 var TSIServiceCloseOperationArgs_Req_DEFAULT *TSCloseOperationReq
-
 func (p *TSIServiceCloseOperationArgs) GetReq() *TSCloseOperationReq {
 	if !p.IsSetReq() {
 		return TSIServiceCloseOperationArgs_Req_DEFAULT
@@ -14042,81 +14925,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceCloseOperationArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCloseOperationArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseOperationArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceCloseOperationArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSCloseOperationReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseOperationArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("closeOperation_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCloseOperationArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "closeOperation_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceCloseOperationArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceCloseOperationArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -14138,7 +15013,6 @@
 }
 
 var TSIServiceCloseOperationResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceCloseOperationResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceCloseOperationResult_Success_DEFAULT
@@ -14149,82 +15023,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceCloseOperationResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCloseOperationResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseOperationResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceCloseOperationResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCloseOperationResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("closeOperation_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCloseOperationResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "closeOperation_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceCloseOperationResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceCloseOperationResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -14246,50 +15112,50 @@
 	return &TSIServiceGetTimeZoneArgs{}
 }
 
+
 func (p *TSIServiceGetTimeZoneArgs) GetSessionId() int64 {
 	return p.SessionId
 }
-func (p *TSIServiceGetTimeZoneArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceGetTimeZoneArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceGetTimeZoneArgs) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSIServiceGetTimeZoneArgs)  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
@@ -14297,34 +15163,26 @@
 	return nil
 }
 
-func (p *TSIServiceGetTimeZoneArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("getTimeZone_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceGetTimeZoneArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "getTimeZone_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceGetTimeZoneArgs) 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 *TSIServiceGetTimeZoneArgs) 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
 }
 
@@ -14346,7 +15204,6 @@
 }
 
 var TSIServiceGetTimeZoneResult_Success_DEFAULT *TSGetTimeZoneResp
-
 func (p *TSIServiceGetTimeZoneResult) GetSuccess() *TSGetTimeZoneResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceGetTimeZoneResult_Success_DEFAULT
@@ -14357,82 +15214,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceGetTimeZoneResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceGetTimeZoneResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceGetTimeZoneResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceGetTimeZoneResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSGetTimeZoneResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceGetTimeZoneResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("getTimeZone_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceGetTimeZoneResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "getTimeZone_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceGetTimeZoneResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceGetTimeZoneResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -14455,7 +15304,6 @@
 }
 
 var TSIServiceSetTimeZoneArgs_Req_DEFAULT *TSSetTimeZoneReq
-
 func (p *TSIServiceSetTimeZoneArgs) GetReq() *TSSetTimeZoneReq {
 	if !p.IsSetReq() {
 		return TSIServiceSetTimeZoneArgs_Req_DEFAULT
@@ -14466,81 +15314,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceSetTimeZoneArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceSetTimeZoneArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetTimeZoneArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceSetTimeZoneArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSSetTimeZoneReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetTimeZoneArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("setTimeZone_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceSetTimeZoneArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "setTimeZone_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceSetTimeZoneArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceSetTimeZoneArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -14562,7 +15402,6 @@
 }
 
 var TSIServiceSetTimeZoneResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceSetTimeZoneResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceSetTimeZoneResult_Success_DEFAULT
@@ -14573,82 +15412,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceSetTimeZoneResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceSetTimeZoneResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetTimeZoneResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceSetTimeZoneResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetTimeZoneResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("setTimeZone_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceSetTimeZoneResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "setTimeZone_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceSetTimeZoneResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceSetTimeZoneResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -14667,44 +15498,40 @@
 	return &TSIServiceGetPropertiesArgs{}
 }
 
-func (p *TSIServiceGetPropertiesArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceGetPropertiesArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 err := iprot.Skip(fieldTypeId); err != nil {
+		if fieldTypeId == thrift.STOP { break; }
+		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)
 	}
 	return nil
 }
 
-func (p *TSIServiceGetPropertiesArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("getProperties_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceGetPropertiesArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "getProperties_args"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
 	}
-	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 := 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
 }
 
@@ -14726,7 +15553,6 @@
 }
 
 var TSIServiceGetPropertiesResult_Success_DEFAULT *ServerProperties
-
 func (p *TSIServiceGetPropertiesResult) GetSuccess() *ServerProperties {
 	if !p.IsSetSuccess() {
 		return TSIServiceGetPropertiesResult_Success_DEFAULT
@@ -14737,82 +15563,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceGetPropertiesResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceGetPropertiesResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceGetPropertiesResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceGetPropertiesResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &ServerProperties{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceGetPropertiesResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("getProperties_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceGetPropertiesResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "getProperties_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceGetPropertiesResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceGetPropertiesResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -14828,7 +15646,7 @@
 //  - SessionId
 //  - StorageGroup
 type TSIServiceSetStorageGroupArgs struct {
-	SessionId    int64  `thrift:"sessionId,1" db:"sessionId" json:"sessionId"`
+	SessionId int64 `thrift:"sessionId,1" db:"sessionId" json:"sessionId"`
 	StorageGroup string `thrift:"storageGroup,2" db:"storageGroup" json:"storageGroup"`
 }
 
@@ -14836,6 +15654,7 @@
 	return &TSIServiceSetStorageGroupArgs{}
 }
 
+
 func (p *TSIServiceSetStorageGroupArgs) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -14843,57 +15662,56 @@
 func (p *TSIServiceSetStorageGroupArgs) GetStorageGroup() string {
 	return p.StorageGroup
 }
-func (p *TSIServiceSetStorageGroupArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceSetStorageGroupArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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
 				}
 			}
 		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)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetStorageGroupArgs) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSIServiceSetStorageGroupArgs)  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
@@ -14901,8 +15719,8 @@
 	return nil
 }
 
-func (p *TSIServiceSetStorageGroupArgs) ReadField2(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadString(); err != nil {
+func (p *TSIServiceSetStorageGroupArgs)  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.StorageGroup = v
@@ -14910,50 +15728,37 @@
 	return nil
 }
 
-func (p *TSIServiceSetStorageGroupArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("setStorageGroup_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceSetStorageGroupArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "setStorageGroup_args"); 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.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 *TSIServiceSetStorageGroupArgs) 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 *TSIServiceSetStorageGroupArgs) 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 *TSIServiceSetStorageGroupArgs) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("storageGroup", thrift.STRING, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:storageGroup: ", p), err)
-	}
-	if err := oprot.WriteString(string(p.StorageGroup)); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T.storageGroup (2) field write error: ", p), err)
-	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:storageGroup: ", p), err)
-	}
+func (p *TSIServiceSetStorageGroupArgs) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "storageGroup", thrift.STRING, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:storageGroup: ", p), err) }
+	if err := oprot.WriteString(ctx, string(p.StorageGroup)); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T.storageGroup (2) field write error: ", p), err) }
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:storageGroup: ", p), err) }
 	return err
 }
 
@@ -14975,7 +15780,6 @@
 }
 
 var TSIServiceSetStorageGroupResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceSetStorageGroupResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceSetStorageGroupResult_Success_DEFAULT
@@ -14986,82 +15790,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceSetStorageGroupResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceSetStorageGroupResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetStorageGroupResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceSetStorageGroupResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceSetStorageGroupResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("setStorageGroup_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceSetStorageGroupResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "setStorageGroup_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceSetStorageGroupResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceSetStorageGroupResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -15084,7 +15880,6 @@
 }
 
 var TSIServiceCreateTimeseriesArgs_Req_DEFAULT *TSCreateTimeseriesReq
-
 func (p *TSIServiceCreateTimeseriesArgs) GetReq() *TSCreateTimeseriesReq {
 	if !p.IsSetReq() {
 		return TSIServiceCreateTimeseriesArgs_Req_DEFAULT
@@ -15095,81 +15890,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceCreateTimeseriesArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCreateTimeseriesArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateTimeseriesArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceCreateTimeseriesArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSCreateTimeseriesReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateTimeseriesArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("createTimeseries_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCreateTimeseriesArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "createTimeseries_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceCreateTimeseriesArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceCreateTimeseriesArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -15191,7 +15978,6 @@
 }
 
 var TSIServiceCreateTimeseriesResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceCreateTimeseriesResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceCreateTimeseriesResult_Success_DEFAULT
@@ -15202,82 +15988,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceCreateTimeseriesResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCreateTimeseriesResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateTimeseriesResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceCreateTimeseriesResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateTimeseriesResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("createTimeseries_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCreateTimeseriesResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "createTimeseries_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceCreateTimeseriesResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceCreateTimeseriesResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -15300,7 +16078,6 @@
 }
 
 var TSIServiceCreateMultiTimeseriesArgs_Req_DEFAULT *TSCreateMultiTimeseriesReq
-
 func (p *TSIServiceCreateMultiTimeseriesArgs) GetReq() *TSCreateMultiTimeseriesReq {
 	if !p.IsSetReq() {
 		return TSIServiceCreateMultiTimeseriesArgs_Req_DEFAULT
@@ -15311,81 +16088,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceCreateMultiTimeseriesArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCreateMultiTimeseriesArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateMultiTimeseriesArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceCreateMultiTimeseriesArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSCreateMultiTimeseriesReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateMultiTimeseriesArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("createMultiTimeseries_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCreateMultiTimeseriesArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "createMultiTimeseries_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceCreateMultiTimeseriesArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceCreateMultiTimeseriesArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -15407,7 +16176,6 @@
 }
 
 var TSIServiceCreateMultiTimeseriesResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceCreateMultiTimeseriesResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceCreateMultiTimeseriesResult_Success_DEFAULT
@@ -15418,82 +16186,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceCreateMultiTimeseriesResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceCreateMultiTimeseriesResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateMultiTimeseriesResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceCreateMultiTimeseriesResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceCreateMultiTimeseriesResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("createMultiTimeseries_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceCreateMultiTimeseriesResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "createMultiTimeseries_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceCreateMultiTimeseriesResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceCreateMultiTimeseriesResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -15509,14 +16269,15 @@
 //  - SessionId
 //  - Path
 type TSIServiceDeleteTimeseriesArgs struct {
-	SessionId int64    `thrift:"sessionId,1" db:"sessionId" json:"sessionId"`
-	Path      []string `thrift:"path,2" db:"path" json:"path"`
+	SessionId int64 `thrift:"sessionId,1" db:"sessionId" json:"sessionId"`
+	Path []string `thrift:"path,2" db:"path" json:"path"`
 }
 
 func NewTSIServiceDeleteTimeseriesArgs() *TSIServiceDeleteTimeseriesArgs {
 	return &TSIServiceDeleteTimeseriesArgs{}
 }
 
+
 func (p *TSIServiceDeleteTimeseriesArgs) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -15524,57 +16285,56 @@
 func (p *TSIServiceDeleteTimeseriesArgs) GetPath() []string {
 	return p.Path
 }
-func (p *TSIServiceDeleteTimeseriesArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceDeleteTimeseriesArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteTimeseriesArgs) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSIServiceDeleteTimeseriesArgs)  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
@@ -15582,80 +16342,67 @@
 	return nil
 }
 
-func (p *TSIServiceDeleteTimeseriesArgs) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSIServiceDeleteTimeseriesArgs)  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.Path = tSlice
-	for i := 0; i < size; i++ {
-		var _elem138 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.Path =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem230 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem138 = v
+			_elem230 = v
 		}
-		p.Path = append(p.Path, _elem138)
+		p.Path = append(p.Path, _elem230)
 	}
-	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 *TSIServiceDeleteTimeseriesArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("deleteTimeseries_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceDeleteTimeseriesArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "deleteTimeseries_args"); 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.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 *TSIServiceDeleteTimeseriesArgs) 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 *TSIServiceDeleteTimeseriesArgs) 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 *TSIServiceDeleteTimeseriesArgs) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("path", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:path: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.Path)); err != nil {
+func (p *TSIServiceDeleteTimeseriesArgs) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "path", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:path: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.Path)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.Path {
-		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:path: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:path: ", p), err) }
 	return err
 }
 
@@ -15677,7 +16424,6 @@
 }
 
 var TSIServiceDeleteTimeseriesResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceDeleteTimeseriesResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceDeleteTimeseriesResult_Success_DEFAULT
@@ -15688,82 +16434,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceDeleteTimeseriesResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceDeleteTimeseriesResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteTimeseriesResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceDeleteTimeseriesResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteTimeseriesResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("deleteTimeseries_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceDeleteTimeseriesResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "deleteTimeseries_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceDeleteTimeseriesResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceDeleteTimeseriesResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -15779,7 +16517,7 @@
 //  - SessionId
 //  - StorageGroup
 type TSIServiceDeleteStorageGroupsArgs struct {
-	SessionId    int64    `thrift:"sessionId,1" db:"sessionId" json:"sessionId"`
+	SessionId int64 `thrift:"sessionId,1" db:"sessionId" json:"sessionId"`
 	StorageGroup []string `thrift:"storageGroup,2" db:"storageGroup" json:"storageGroup"`
 }
 
@@ -15787,6 +16525,7 @@
 	return &TSIServiceDeleteStorageGroupsArgs{}
 }
 
+
 func (p *TSIServiceDeleteStorageGroupsArgs) GetSessionId() int64 {
 	return p.SessionId
 }
@@ -15794,57 +16533,56 @@
 func (p *TSIServiceDeleteStorageGroupsArgs) GetStorageGroup() []string {
 	return p.StorageGroup
 }
-func (p *TSIServiceDeleteStorageGroupsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceDeleteStorageGroupsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteStorageGroupsArgs) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSIServiceDeleteStorageGroupsArgs)  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
@@ -15852,80 +16590,67 @@
 	return nil
 }
 
-func (p *TSIServiceDeleteStorageGroupsArgs) ReadField2(iprot thrift.TProtocol) error {
-	_, size, err := iprot.ReadListBegin()
+func (p *TSIServiceDeleteStorageGroupsArgs)  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.StorageGroup = tSlice
-	for i := 0; i < size; i++ {
-		var _elem139 string
-		if v, err := iprot.ReadString(); err != nil {
+	p.StorageGroup =  tSlice
+	for i := 0; i < size; i ++ {
+		var _elem231 string
+		if v, err := iprot.ReadString(ctx); err != nil {
 			return thrift.PrependError("error reading field 0: ", err)
 		} else {
-			_elem139 = v
+			_elem231 = v
 		}
-		p.StorageGroup = append(p.StorageGroup, _elem139)
+		p.StorageGroup = append(p.StorageGroup, _elem231)
 	}
-	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 *TSIServiceDeleteStorageGroupsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("deleteStorageGroups_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceDeleteStorageGroupsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "deleteStorageGroups_args"); 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.writeField1(ctx, oprot); err != nil { return err }
+		if err := p.writeField2(ctx, 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 := 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 *TSIServiceDeleteStorageGroupsArgs) 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 *TSIServiceDeleteStorageGroupsArgs) 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 *TSIServiceDeleteStorageGroupsArgs) writeField2(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("storageGroup", thrift.LIST, 2); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:storageGroup: ", p), err)
-	}
-	if err := oprot.WriteListBegin(thrift.STRING, len(p.StorageGroup)); err != nil {
+func (p *TSIServiceDeleteStorageGroupsArgs) writeField2(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "storageGroup", thrift.LIST, 2); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:storageGroup: ", p), err) }
+	if err := oprot.WriteListBegin(ctx, thrift.STRING, len(p.StorageGroup)); err != nil {
 		return thrift.PrependError("error writing list begin: ", err)
 	}
 	for _, v := range p.StorageGroup {
-		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:storageGroup: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 2:storageGroup: ", p), err) }
 	return err
 }
 
@@ -15947,7 +16672,6 @@
 }
 
 var TSIServiceDeleteStorageGroupsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceDeleteStorageGroupsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceDeleteStorageGroupsResult_Success_DEFAULT
@@ -15958,82 +16682,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceDeleteStorageGroupsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceDeleteStorageGroupsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteStorageGroupsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceDeleteStorageGroupsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteStorageGroupsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("deleteStorageGroups_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceDeleteStorageGroupsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "deleteStorageGroups_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceDeleteStorageGroupsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceDeleteStorageGroupsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -16056,7 +16772,6 @@
 }
 
 var TSIServiceInsertRecordArgs_Req_DEFAULT *TSInsertRecordReq
-
 func (p *TSIServiceInsertRecordArgs) GetReq() *TSInsertRecordReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertRecordArgs_Req_DEFAULT
@@ -16067,81 +16782,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertRecordArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertRecordArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertRecordArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertRecordReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertRecord_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertRecordArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertRecord_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertRecordArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertRecordArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -16163,7 +16870,6 @@
 }
 
 var TSIServiceInsertRecordResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertRecordResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertRecordResult_Success_DEFAULT
@@ -16174,82 +16880,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertRecordResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertRecordResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertRecordResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertRecord_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertRecordResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertRecord_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertRecordResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertRecordResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -16272,7 +16970,6 @@
 }
 
 var TSIServiceInsertStringRecordArgs_Req_DEFAULT *TSInsertStringRecordReq
-
 func (p *TSIServiceInsertStringRecordArgs) GetReq() *TSInsertStringRecordReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertStringRecordArgs_Req_DEFAULT
@@ -16283,81 +16980,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertStringRecordArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertStringRecordArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertStringRecordArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertStringRecordReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertStringRecord_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertStringRecordArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertStringRecord_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertStringRecordArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertStringRecordArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -16379,7 +17068,6 @@
 }
 
 var TSIServiceInsertStringRecordResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertStringRecordResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertStringRecordResult_Success_DEFAULT
@@ -16390,82 +17078,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertStringRecordResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertStringRecordResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertStringRecordResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertStringRecord_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertStringRecordResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertStringRecord_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertStringRecordResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertStringRecordResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -16488,7 +17168,6 @@
 }
 
 var TSIServiceInsertTabletArgs_Req_DEFAULT *TSInsertTabletReq
-
 func (p *TSIServiceInsertTabletArgs) GetReq() *TSInsertTabletReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertTabletArgs_Req_DEFAULT
@@ -16499,81 +17178,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertTabletArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertTabletArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertTabletArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertTabletReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertTablet_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertTabletArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertTablet_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertTabletArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertTabletArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -16595,7 +17266,6 @@
 }
 
 var TSIServiceInsertTabletResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertTabletResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertTabletResult_Success_DEFAULT
@@ -16606,82 +17276,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertTabletResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertTabletResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertTabletResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertTablet_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertTabletResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertTablet_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertTabletResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertTabletResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -16704,7 +17366,6 @@
 }
 
 var TSIServiceInsertTabletsArgs_Req_DEFAULT *TSInsertTabletsReq
-
 func (p *TSIServiceInsertTabletsArgs) GetReq() *TSInsertTabletsReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertTabletsArgs_Req_DEFAULT
@@ -16715,81 +17376,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertTabletsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertTabletsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertTabletsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertTabletsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertTablets_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertTabletsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertTablets_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertTabletsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertTabletsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -16811,7 +17464,6 @@
 }
 
 var TSIServiceInsertTabletsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertTabletsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertTabletsResult_Success_DEFAULT
@@ -16822,82 +17474,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertTabletsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertTabletsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertTabletsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertTabletsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertTablets_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertTabletsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertTablets_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertTabletsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertTabletsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -16920,7 +17564,6 @@
 }
 
 var TSIServiceInsertRecordsArgs_Req_DEFAULT *TSInsertRecordsReq
-
 func (p *TSIServiceInsertRecordsArgs) GetReq() *TSInsertRecordsReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertRecordsArgs_Req_DEFAULT
@@ -16931,81 +17574,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertRecordsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertRecordsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertRecordsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertRecordsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertRecords_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertRecordsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertRecords_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertRecordsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertRecordsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -17027,7 +17662,6 @@
 }
 
 var TSIServiceInsertRecordsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertRecordsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertRecordsResult_Success_DEFAULT
@@ -17038,82 +17672,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertRecordsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertRecordsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertRecordsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertRecords_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertRecordsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertRecords_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertRecordsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertRecordsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -17136,7 +17762,6 @@
 }
 
 var TSIServiceInsertRecordsOfOneDeviceArgs_Req_DEFAULT *TSInsertRecordsOfOneDeviceReq
-
 func (p *TSIServiceInsertRecordsOfOneDeviceArgs) GetReq() *TSInsertRecordsOfOneDeviceReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertRecordsOfOneDeviceArgs_Req_DEFAULT
@@ -17147,81 +17772,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertRecordsOfOneDeviceArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertRecordsOfOneDeviceArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsOfOneDeviceArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertRecordsOfOneDeviceArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertRecordsOfOneDeviceReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsOfOneDeviceArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertRecordsOfOneDevice_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertRecordsOfOneDeviceArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertRecordsOfOneDevice_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertRecordsOfOneDeviceArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertRecordsOfOneDeviceArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -17243,7 +17860,6 @@
 }
 
 var TSIServiceInsertRecordsOfOneDeviceResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertRecordsOfOneDeviceResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertRecordsOfOneDeviceResult_Success_DEFAULT
@@ -17254,82 +17870,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertRecordsOfOneDeviceResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertRecordsOfOneDeviceResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsOfOneDeviceResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertRecordsOfOneDeviceResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertRecordsOfOneDeviceResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertRecordsOfOneDevice_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertRecordsOfOneDeviceResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertRecordsOfOneDevice_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertRecordsOfOneDeviceResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertRecordsOfOneDeviceResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -17352,7 +17960,6 @@
 }
 
 var TSIServiceInsertStringRecordsArgs_Req_DEFAULT *TSInsertStringRecordsReq
-
 func (p *TSIServiceInsertStringRecordsArgs) GetReq() *TSInsertStringRecordsReq {
 	if !p.IsSetReq() {
 		return TSIServiceInsertStringRecordsArgs_Req_DEFAULT
@@ -17363,81 +17970,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceInsertStringRecordsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertStringRecordsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertStringRecordsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertStringRecordsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertStringRecords_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertStringRecordsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertStringRecords_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceInsertStringRecordsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceInsertStringRecordsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -17459,7 +18058,6 @@
 }
 
 var TSIServiceInsertStringRecordsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceInsertStringRecordsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceInsertStringRecordsResult_Success_DEFAULT
@@ -17470,82 +18068,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceInsertStringRecordsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceInsertStringRecordsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceInsertStringRecordsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceInsertStringRecordsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("insertStringRecords_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceInsertStringRecordsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "insertStringRecords_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceInsertStringRecordsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceInsertStringRecordsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -17568,7 +18158,6 @@
 }
 
 var TSIServiceTestInsertTabletArgs_Req_DEFAULT *TSInsertTabletReq
-
 func (p *TSIServiceTestInsertTabletArgs) GetReq() *TSInsertTabletReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertTabletArgs_Req_DEFAULT
@@ -17579,81 +18168,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertTabletArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertTabletArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertTabletArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertTabletReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertTablet_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertTabletArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertTablet_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertTabletArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertTabletArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -17675,7 +18256,6 @@
 }
 
 var TSIServiceTestInsertTabletResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertTabletResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertTabletResult_Success_DEFAULT
@@ -17686,82 +18266,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertTabletResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertTabletResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertTabletResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertTablet_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertTabletResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertTablet_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertTabletResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertTabletResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -17784,7 +18356,6 @@
 }
 
 var TSIServiceTestInsertTabletsArgs_Req_DEFAULT *TSInsertTabletsReq
-
 func (p *TSIServiceTestInsertTabletsArgs) GetReq() *TSInsertTabletsReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertTabletsArgs_Req_DEFAULT
@@ -17795,81 +18366,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertTabletsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertTabletsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertTabletsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertTabletsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertTablets_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertTabletsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertTablets_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertTabletsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertTabletsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -17891,7 +18454,6 @@
 }
 
 var TSIServiceTestInsertTabletsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertTabletsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertTabletsResult_Success_DEFAULT
@@ -17902,82 +18464,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertTabletsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertTabletsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertTabletsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertTabletsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertTablets_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertTabletsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertTablets_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertTabletsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertTabletsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -18000,7 +18554,6 @@
 }
 
 var TSIServiceTestInsertRecordArgs_Req_DEFAULT *TSInsertRecordReq
-
 func (p *TSIServiceTestInsertRecordArgs) GetReq() *TSInsertRecordReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertRecordArgs_Req_DEFAULT
@@ -18011,81 +18564,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertRecordArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertRecordArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertRecordArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertRecordReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertRecord_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertRecordArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertRecord_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertRecordArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertRecordArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -18107,7 +18652,6 @@
 }
 
 var TSIServiceTestInsertRecordResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertRecordResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertRecordResult_Success_DEFAULT
@@ -18118,82 +18662,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertRecordResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertRecordResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertRecordResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertRecord_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertRecordResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertRecord_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertRecordResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertRecordResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -18216,7 +18752,6 @@
 }
 
 var TSIServiceTestInsertStringRecordArgs_Req_DEFAULT *TSInsertStringRecordReq
-
 func (p *TSIServiceTestInsertStringRecordArgs) GetReq() *TSInsertStringRecordReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertStringRecordArgs_Req_DEFAULT
@@ -18227,81 +18762,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertStringRecordArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertStringRecordArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertStringRecordArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertStringRecordReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertStringRecord_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertStringRecordArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertStringRecord_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertStringRecordArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertStringRecordArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -18323,7 +18850,6 @@
 }
 
 var TSIServiceTestInsertStringRecordResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertStringRecordResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertStringRecordResult_Success_DEFAULT
@@ -18334,82 +18860,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertStringRecordResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertStringRecordResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertStringRecordResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertStringRecord_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertStringRecordResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertStringRecord_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertStringRecordResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertStringRecordResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -18432,7 +18950,6 @@
 }
 
 var TSIServiceTestInsertRecordsArgs_Req_DEFAULT *TSInsertRecordsReq
-
 func (p *TSIServiceTestInsertRecordsArgs) GetReq() *TSInsertRecordsReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertRecordsArgs_Req_DEFAULT
@@ -18443,81 +18960,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertRecordsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertRecordsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertRecordsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertRecordsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertRecords_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertRecordsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertRecords_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertRecordsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertRecordsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -18539,7 +19048,6 @@
 }
 
 var TSIServiceTestInsertRecordsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertRecordsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertRecordsResult_Success_DEFAULT
@@ -18550,82 +19058,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertRecordsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertRecordsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertRecordsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertRecords_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertRecordsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertRecords_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertRecordsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertRecordsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -18648,7 +19148,6 @@
 }
 
 var TSIServiceTestInsertRecordsOfOneDeviceArgs_Req_DEFAULT *TSInsertRecordsOfOneDeviceReq
-
 func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) GetReq() *TSInsertRecordsOfOneDeviceReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertRecordsOfOneDeviceArgs_Req_DEFAULT
@@ -18659,81 +19158,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertRecordsOfOneDeviceReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertRecordsOfOneDevice_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertRecordsOfOneDevice_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertRecordsOfOneDeviceArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertRecordsOfOneDeviceArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -18755,7 +19246,6 @@
 }
 
 var TSIServiceTestInsertRecordsOfOneDeviceResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertRecordsOfOneDeviceResult_Success_DEFAULT
@@ -18766,82 +19256,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertRecordsOfOneDeviceResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertRecordsOfOneDevice_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertRecordsOfOneDevice_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertRecordsOfOneDeviceResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertRecordsOfOneDeviceResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -18864,7 +19346,6 @@
 }
 
 var TSIServiceTestInsertStringRecordsArgs_Req_DEFAULT *TSInsertStringRecordsReq
-
 func (p *TSIServiceTestInsertStringRecordsArgs) GetReq() *TSInsertStringRecordsReq {
 	if !p.IsSetReq() {
 		return TSIServiceTestInsertStringRecordsArgs_Req_DEFAULT
@@ -18875,81 +19356,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceTestInsertStringRecordsArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertStringRecordsArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordsArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertStringRecordsArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSInsertStringRecordsReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordsArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertStringRecords_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertStringRecordsArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertStringRecords_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceTestInsertStringRecordsArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceTestInsertStringRecordsArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -18971,7 +19444,6 @@
 }
 
 var TSIServiceTestInsertStringRecordsResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceTestInsertStringRecordsResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceTestInsertStringRecordsResult_Success_DEFAULT
@@ -18982,82 +19454,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceTestInsertStringRecordsResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceTestInsertStringRecordsResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordsResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceTestInsertStringRecordsResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceTestInsertStringRecordsResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("testInsertStringRecords_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceTestInsertStringRecordsResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "testInsertStringRecords_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceTestInsertStringRecordsResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceTestInsertStringRecordsResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -19080,7 +19544,6 @@
 }
 
 var TSIServiceDeleteDataArgs_Req_DEFAULT *TSDeleteDataReq
-
 func (p *TSIServiceDeleteDataArgs) GetReq() *TSDeleteDataReq {
 	if !p.IsSetReq() {
 		return TSIServiceDeleteDataArgs_Req_DEFAULT
@@ -19091,81 +19554,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceDeleteDataArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceDeleteDataArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteDataArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceDeleteDataArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSDeleteDataReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteDataArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("deleteData_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceDeleteDataArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "deleteData_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceDeleteDataArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceDeleteDataArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -19187,7 +19642,6 @@
 }
 
 var TSIServiceDeleteDataResult_Success_DEFAULT *TSStatus
-
 func (p *TSIServiceDeleteDataResult) GetSuccess() *TSStatus {
 	if !p.IsSetSuccess() {
 		return TSIServiceDeleteDataResult_Success_DEFAULT
@@ -19198,82 +19652,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceDeleteDataResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceDeleteDataResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteDataResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceDeleteDataResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSStatus{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceDeleteDataResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("deleteData_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceDeleteDataResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "deleteData_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceDeleteDataResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceDeleteDataResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -19296,7 +19742,6 @@
 }
 
 var TSIServiceExecuteRawDataQueryArgs_Req_DEFAULT *TSRawDataQueryReq
-
 func (p *TSIServiceExecuteRawDataQueryArgs) GetReq() *TSRawDataQueryReq {
 	if !p.IsSetReq() {
 		return TSIServiceExecuteRawDataQueryArgs_Req_DEFAULT
@@ -19307,81 +19752,73 @@
 	return p.Req != nil
 }
 
-func (p *TSIServiceExecuteRawDataQueryArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteRawDataQueryArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteRawDataQueryArgs) ReadField1(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteRawDataQueryArgs)  ReadField1(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Req = &TSRawDataQueryReq{}
-	if err := p.Req.Read(iprot); err != nil {
+	if err := p.Req.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Req), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteRawDataQueryArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeRawDataQuery_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteRawDataQueryArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeRawDataQuery_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceExecuteRawDataQueryArgs) writeField1(oprot thrift.TProtocol) (err error) {
-	if err := oprot.WriteFieldBegin("req", thrift.STRUCT, 1); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err)
-	}
-	if err := p.Req.Write(oprot); err != nil {
+func (p *TSIServiceExecuteRawDataQueryArgs) writeField1(ctx context.Context, oprot thrift.TProtocol) (err error) {
+	if err := oprot.WriteFieldBegin(ctx, "req", thrift.STRUCT, 1); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:req: ", p), err) }
+	if err := p.Req.Write(ctx, oprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Req), err)
 	}
-	if err := oprot.WriteFieldEnd(); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err)
-	}
+	if err := oprot.WriteFieldEnd(ctx); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write field end error 1:req: ", p), err) }
 	return err
 }
 
@@ -19403,7 +19840,6 @@
 }
 
 var TSIServiceExecuteRawDataQueryResult_Success_DEFAULT *TSExecuteStatementResp
-
 func (p *TSIServiceExecuteRawDataQueryResult) GetSuccess() *TSExecuteStatementResp {
 	if !p.IsSetSuccess() {
 		return TSIServiceExecuteRawDataQueryResult_Success_DEFAULT
@@ -19414,82 +19850,74 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceExecuteRawDataQueryResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceExecuteRawDataQueryResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.STRUCT {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteRawDataQueryResult) ReadField0(iprot thrift.TProtocol) error {
+func (p *TSIServiceExecuteRawDataQueryResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
 	p.Success = &TSExecuteStatementResp{}
-	if err := p.Success.Read(iprot); err != nil {
+	if err := p.Success.Read(ctx, iprot); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Success), err)
 	}
 	return nil
 }
 
-func (p *TSIServiceExecuteRawDataQueryResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("executeRawDataQuery_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceExecuteRawDataQueryResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "executeRawDataQuery_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceExecuteRawDataQueryResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceExecuteRawDataQueryResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.STRUCT, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := p.Success.Write(oprot); err != nil {
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.STRUCT, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := p.Success.Write(ctx, oprot); err != nil {
 			return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Success), err)
 		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -19511,50 +19939,50 @@
 	return &TSIServiceRequestStatementIdArgs{}
 }
 
+
 func (p *TSIServiceRequestStatementIdArgs) GetSessionId() int64 {
 	return p.SessionId
 }
-func (p *TSIServiceRequestStatementIdArgs) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceRequestStatementIdArgs) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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
 				}
 			} 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)
 	}
 	return nil
 }
 
-func (p *TSIServiceRequestStatementIdArgs) ReadField1(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSIServiceRequestStatementIdArgs)  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
@@ -19562,34 +19990,26 @@
 	return nil
 }
 
-func (p *TSIServiceRequestStatementIdArgs) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("requestStatementId_args"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceRequestStatementIdArgs) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "requestStatementId_args"); 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.writeField1(ctx, 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 := 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 *TSIServiceRequestStatementIdArgs) 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 *TSIServiceRequestStatementIdArgs) 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
 }
 
@@ -19611,7 +20031,6 @@
 }
 
 var TSIServiceRequestStatementIdResult_Success_DEFAULT int64
-
 func (p *TSIServiceRequestStatementIdResult) GetSuccess() int64 {
 	if !p.IsSetSuccess() {
 		return TSIServiceRequestStatementIdResult_Success_DEFAULT
@@ -19622,47 +20041,46 @@
 	return p.Success != nil
 }
 
-func (p *TSIServiceRequestStatementIdResult) Read(iprot thrift.TProtocol) error {
-	if _, err := iprot.ReadStructBegin(); err != nil {
+func (p *TSIServiceRequestStatementIdResult) Read(ctx context.Context, iprot thrift.TProtocol) error {
+	if _, err := iprot.ReadStructBegin(ctx); err != nil {
 		return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err)
 	}
 
+
 	for {
-		_, fieldTypeId, fieldId, err := iprot.ReadFieldBegin()
+		_, 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 0:
 			if fieldTypeId == thrift.I64 {
-				if err := p.ReadField0(iprot); err != nil {
+				if err := p.ReadField0(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)
 	}
 	return nil
 }
 
-func (p *TSIServiceRequestStatementIdResult) ReadField0(iprot thrift.TProtocol) error {
-	if v, err := iprot.ReadI64(); err != nil {
+func (p *TSIServiceRequestStatementIdResult)  ReadField0(ctx context.Context, iprot thrift.TProtocol) error {
+	if v, err := iprot.ReadI64(ctx); err != nil {
 		return thrift.PrependError("error reading field 0: ", err)
 	} else {
 		p.Success = &v
@@ -19670,35 +20088,27 @@
 	return nil
 }
 
-func (p *TSIServiceRequestStatementIdResult) Write(oprot thrift.TProtocol) error {
-	if err := oprot.WriteStructBegin("requestStatementId_result"); err != nil {
-		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err)
-	}
+func (p *TSIServiceRequestStatementIdResult) Write(ctx context.Context, oprot thrift.TProtocol) error {
+	if err := oprot.WriteStructBegin(ctx, "requestStatementId_result"); err != nil {
+		return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) }
 	if p != nil {
-		if err := p.writeField0(oprot); err != nil {
-			return err
-		}
+		if err := p.writeField0(ctx, 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 := 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 *TSIServiceRequestStatementIdResult) writeField0(oprot thrift.TProtocol) (err error) {
+func (p *TSIServiceRequestStatementIdResult) writeField0(ctx context.Context, oprot thrift.TProtocol) (err error) {
 	if p.IsSetSuccess() {
-		if err := oprot.WriteFieldBegin("success", thrift.I64, 0); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err)
-		}
-		if err := oprot.WriteI64(int64(*p.Success)); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err)
-		}
-		if err := oprot.WriteFieldEnd(); err != nil {
-			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err)
-		}
+		if err := oprot.WriteFieldBegin(ctx, "success", thrift.I64, 0); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field begin error 0:success: ", p), err) }
+		if err := oprot.WriteI64(ctx, int64(*p.Success)); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T.success (0) field write error: ", p), err) }
+		if err := oprot.WriteFieldEnd(ctx); err != nil {
+			return thrift.PrependError(fmt.Sprintf("%T write field end error 0:success: ", p), err) }
 	}
 	return err
 }
@@ -19709,3 +20119,5 @@
 	}
 	return fmt.Sprintf("TSIServiceRequestStatementIdResult(%+v)", *p)
 }
+
+