You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2020/12/21 06:37:52 UTC

[iotdb-client-go] branch main updated: Change the visibility of some members of the tablet to package (#5)

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

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


The following commit(s) were added to refs/heads/main by this push:
     new 702151e  Change the visibility of some members of the tablet to package (#5)
702151e is described below

commit 702151e57434f25c84277fb86b7a573bb26c9708
Author: Mark Liu <ma...@gmail.com>
AuthorDate: Mon Dec 21 14:36:38 2020 +0800

    Change the visibility of some members of the tablet to package (#5)
    
    Change the visibility of some members of the tablet to package
---
 README.md                  |  3 ---
 README_ZH.md               |  3 ---
 client/session.go          | 30 +++++++++++++-------------
 client/tablet.go           | 54 +++++++++++++++++++++++-----------------------
 client/tablet_test.go      | 24 ++++++++++-----------
 example/session_example.go |  7 +++---
 6 files changed, 57 insertions(+), 64 deletions(-)

diff --git a/README.md b/README.md
index 1a796a0..cb62ddd 100644
--- a/README.md
+++ b/README.md
@@ -34,9 +34,6 @@ Apache IoTDB Github: https://github.com/apache/iotdb
 # How to Compile the Client
 
 # How to Use the Client (Quick Start)
-```
-Create project eg:session
-
 
 With go mod
 
diff --git a/README_ZH.md b/README_ZH.md
index 1df9a16..93e2c87 100644
--- a/README_ZH.md
+++ b/README_ZH.md
@@ -57,9 +57,6 @@ git checkout 0.13.0
 
 mkdir -p $GOPATH/src/iotdb-client-go-example/session_example
 cd $GOPATH/src/iotdb-client-go-example/session_example
-
-		fmt.Print("Time\t\t\t\t")
-		fmt.Print("Time\t\t\t\t")
 curl -o session_example.go -L https://github.com/apache/iotdb-client-go/raw/main/example/session_example.go
 go run session_example.go
 ```
diff --git a/client/session.go b/client/session.go
index a8db017..99673a6 100644
--- a/client/session.go
+++ b/client/session.go
@@ -395,7 +395,7 @@ func (s *Session) genInsertTabletsReq(tablets []*Tablet) (*rpc.TSInsertTabletsRe
 		deviceIds[index] = tablet.deviceId
 		measurementsList[index] = tablet.GetMeasurements()
 
-		values, err := tablet.GetValuesBytes()
+		values, err := tablet.getValuesBytes()
 		if err != nil {
 			return nil, err
 		}
@@ -403,7 +403,7 @@ func (s *Session) genInsertTabletsReq(tablets []*Tablet) (*rpc.TSInsertTabletsRe
 		valuesList[index] = values
 		timestampsList[index] = tablet.GetTimestampBytes()
 		typesList[index] = tablet.getDataTypes()
-		sizeList[index] = int32(tablet.RowSize)
+		sizeList[index] = int32(tablet.rowCount)
 	}
 	request := rpc.TSInsertTabletsReq{
 		SessionId:        s.sessionId,
@@ -511,21 +511,21 @@ func (s *Session) InsertTablet(tablet *Tablet) (r *rpc.TSStatus, err error) {
 	return s.client.InsertTablet(context.Background(), request)
 }
 
-func (s *Session) genTSInsertTabletReq(tablet *Tablet) (request *rpc.TSInsertTabletReq, err error) {
-	values, err := tablet.GetValuesBytes()
-	if err != nil {
+func (s *Session) genTSInsertTabletReq(tablet *Tablet) (*rpc.TSInsertTabletReq, error) {
+	if values, err := tablet.getValuesBytes(); err == nil {
+		request := &rpc.TSInsertTabletReq{
+			SessionId:    s.sessionId,
+			DeviceId:     tablet.deviceId,
+			Measurements: tablet.GetMeasurements(),
+			Values:       values,
+			Timestamps:   tablet.GetTimestampBytes(),
+			Types:        tablet.getDataTypes(),
+			Size:         int32(tablet.rowCount),
+		}
+		return request, nil
+	} else {
 		return nil, err
 	}
-	request = &rpc.TSInsertTabletReq{
-		SessionId:    s.sessionId,
-		DeviceId:     tablet.deviceId,
-		Measurements: tablet.GetMeasurements(),
-		Values:       values,
-		Timestamps:   tablet.GetTimestampBytes(),
-		Types:        tablet.getDataTypes(),
-		Size:         int32(tablet.RowSize),
-	}
-	return request, nil
 }
 
 func (s *Session) GetSessionId() int64 {
diff --git a/client/tablet.go b/client/tablet.go
index a8e078a..1396f5e 100644
--- a/client/tablet.go
+++ b/client/tablet.go
@@ -36,11 +36,11 @@ type MeasurementSchema struct {
 }
 
 type Tablet struct {
-	deviceId   string
-	Schemas    []*MeasurementSchema
-	timestamps []int64
-	values     []interface{}
-	RowSize    int
+	deviceId           string
+	measurementSchemas []*MeasurementSchema
+	timestamps         []int64
+	values             []interface{}
+	rowCount           int
 }
 
 func (t *Tablet) SetTimestamp(timestamp int64, rowIndex int) {
@@ -52,15 +52,15 @@ func (t *Tablet) SetValueAt(value interface{}, columnIndex, rowIndex int) error
 		return errors.New("Illegal argument value can't be nil")
 	}
 
-	if columnIndex < 0 || columnIndex > len(t.Schemas) {
+	if columnIndex < 0 || columnIndex > len(t.measurementSchemas) {
 		return fmt.Errorf("Illegal argument columnIndex %d", columnIndex)
 	}
 
-	if rowIndex < 0 || rowIndex > int(t.RowSize) {
+	if rowIndex < 0 || rowIndex > int(t.rowCount) {
 		return fmt.Errorf("Illegal argument rowIndex %d", rowIndex)
 	}
 
-	switch t.Schemas[columnIndex].DataType {
+	switch t.measurementSchemas[columnIndex].DataType {
 	case BOOLEAN:
 		values := t.values[columnIndex].([]bool)
 		switch value.(type) {
@@ -124,24 +124,24 @@ func (t *Tablet) GetTimestampBytes() []byte {
 }
 
 func (t *Tablet) GetMeasurements() []string {
-	measurements := make([]string, len(t.Schemas))
-	for i, s := range t.Schemas {
+	measurements := make([]string, len(t.measurementSchemas))
+	for i, s := range t.measurementSchemas {
 		measurements[i] = s.Measurement
 	}
 	return measurements
 }
 
 func (t *Tablet) getDataTypes() []int32 {
-	types := make([]int32, len(t.Schemas))
-	for i, s := range t.Schemas {
+	types := make([]int32, len(t.measurementSchemas))
+	for i, s := range t.measurementSchemas {
 		types[i] = int32(s.DataType)
 	}
 	return types
 }
 
-func (t *Tablet) GetValuesBytes() ([]byte, error) {
+func (t *Tablet) getValuesBytes() ([]byte, error) {
 	buff := &bytes.Buffer{}
-	for i, schema := range t.Schemas {
+	for i, schema := range t.measurementSchemas {
 		switch schema.DataType {
 		case BOOLEAN:
 			binary.Write(buff, binary.BigEndian, t.values[i].([]bool))
@@ -165,28 +165,28 @@ func (t *Tablet) GetValuesBytes() ([]byte, error) {
 	return buff.Bytes(), nil
 }
 
-func NewTablet(deviceId string, schemas []*MeasurementSchema, size int) (*Tablet, error) {
+func NewTablet(deviceId string, measurementSchemas []*MeasurementSchema, rowCount int) (*Tablet, error) {
 	tablet := &Tablet{
-		deviceId: deviceId,
-		Schemas:  schemas,
-		RowSize:  size,
+		deviceId:           deviceId,
+		measurementSchemas: measurementSchemas,
+		rowCount:           rowCount,
 	}
-	tablet.timestamps = make([]int64, size)
-	tablet.values = make([]interface{}, len(schemas))
-	for i, schema := range tablet.Schemas {
+	tablet.timestamps = make([]int64, rowCount)
+	tablet.values = make([]interface{}, len(measurementSchemas))
+	for i, schema := range tablet.measurementSchemas {
 		switch schema.DataType {
 		case BOOLEAN:
-			tablet.values[i] = make([]bool, size)
+			tablet.values[i] = make([]bool, rowCount)
 		case INT32:
-			tablet.values[i] = make([]int32, size)
+			tablet.values[i] = make([]int32, rowCount)
 		case INT64:
-			tablet.values[i] = make([]int64, size)
+			tablet.values[i] = make([]int64, rowCount)
 		case FLOAT:
-			tablet.values[i] = make([]float32, size)
+			tablet.values[i] = make([]float32, rowCount)
 		case DOUBLE:
-			tablet.values[i] = make([]float64, size)
+			tablet.values[i] = make([]float64, rowCount)
 		case TEXT:
-			tablet.values[i] = make([]string, size)
+			tablet.values[i] = make([]string, rowCount)
 		default:
 			return nil, fmt.Errorf("Illegal datatype %v", schema.DataType)
 		}
diff --git a/client/tablet_test.go b/client/tablet_test.go
index f47c365..936f700 100644
--- a/client/tablet_test.go
+++ b/client/tablet_test.go
@@ -76,11 +76,11 @@ func createTablet(size int) (*Tablet, error) {
 
 func TestTablet_getDataTypes(t *testing.T) {
 	type fields struct {
-		deviceId   string
-		Schemas    []*MeasurementSchema
-		timestamps []int64
-		values     []interface{}
-		RowSize    int
+		deviceId           string
+		measurementSchemas []*MeasurementSchema
+		timestamps         []int64
+		values             []interface{}
+		rowCount           int
 	}
 	tests := []struct {
 		name   string
@@ -91,7 +91,7 @@ func TestTablet_getDataTypes(t *testing.T) {
 			name: "",
 			fields: fields{
 				deviceId: "root.ln.device5",
-				Schemas: []*MeasurementSchema{
+				measurementSchemas: []*MeasurementSchema{
 					&MeasurementSchema{
 						Measurement: "restart_count",
 						DataType:    INT32,
@@ -139,7 +139,7 @@ func TestTablet_getDataTypes(t *testing.T) {
 				},
 				timestamps: []int64{},
 				values:     []interface{}{},
-				RowSize:    0,
+				rowCount:   0,
 			},
 			want: []int32{int32(INT32), int32(DOUBLE), int32(INT64), int32(FLOAT), int32(TEXT), int32(BOOLEAN)},
 		},
@@ -147,11 +147,11 @@ func TestTablet_getDataTypes(t *testing.T) {
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
 			tablet := &Tablet{
-				deviceId:   tt.fields.deviceId,
-				Schemas:    tt.fields.Schemas,
-				timestamps: tt.fields.timestamps,
-				values:     tt.fields.values,
-				RowSize:    tt.fields.RowSize,
+				deviceId:           tt.fields.deviceId,
+				measurementSchemas: tt.fields.measurementSchemas,
+				timestamps:         tt.fields.timestamps,
+				values:             tt.fields.values,
+				rowCount:           tt.fields.rowCount,
 			}
 			if got := tablet.getDataTypes(); !reflect.DeepEqual(got, tt.want) {
 				t.Errorf("Tablet.getDataTypes() = %v, want %v", got, tt.want)
diff --git a/example/session_example.go b/example/session_example.go
index f4daff1..2df9964 100644
--- a/example/session_example.go
+++ b/example/session_example.go
@@ -80,7 +80,6 @@ func main() {
 
 	insertRecord()
 	deleteData()
-	deleteTimeseries("root.sg1.dev1.status")
 
 	setTimeZone()
 	if tz, err := getTimeZone(); err != nil {
@@ -88,10 +87,11 @@ func main() {
 	}
 
 	executeStatement()
-	executeQueryStatement()
+	executeQueryStatement("select count(s3) from root.sg1.dev1")
 	executeRawDataQuery()
 	executeBatchStatement()
 
+	deleteTimeseries("root.sg1.dev1.status")
 	deleteTimeseries("root.ln.wf02.wt02.s5")
 }
 
@@ -413,8 +413,7 @@ func executeStatement() {
 	}
 }
 
-func executeQueryStatement() {
-	var sql = "select count(s3) from root.sg1.dev1"
+func executeQueryStatement(sql string) {
 	sessionDataSet, err := session.ExecuteQueryStatement(sql)
 	if err == nil {
 		printDataSet1(sessionDataSet)