Code optimization. (#18)
diff --git a/client/rowrecord_test.go b/client/rowrecord_test.go
index 145633e..a827f62 100644
--- a/client/rowrecord_test.go
+++ b/client/rowrecord_test.go
@@ -38,13 +38,13 @@
name: "GetFields",
fields: fields{
timestamp: 0,
- fields: []*Field{&Field{
+ fields: []*Field{{
dataType: FLOAT,
name: "temperature",
value: 0.1,
}},
},
- want: []*Field{&Field{
+ want: []*Field{{
dataType: FLOAT,
name: "temperature",
value: 0.1,
diff --git a/client/rpcdataset.go b/client/rpcdataset.go
index 829c15a..6601dca 100644
--- a/client/rpcdataset.go
+++ b/client/rpcdataset.go
@@ -115,23 +115,18 @@
case BOOLEAN:
s.values[i] = valueBuffer[:1]
s.queryDataSet.ValueList[i] = valueBuffer[1:]
- break
case INT32:
s.values[i] = valueBuffer[:4]
s.queryDataSet.ValueList[i] = valueBuffer[4:]
- break
case INT64:
s.values[i] = valueBuffer[:8]
s.queryDataSet.ValueList[i] = valueBuffer[8:]
- break
case FLOAT:
s.values[i] = valueBuffer[:4]
s.queryDataSet.ValueList[i] = valueBuffer[4:]
- break
case DOUBLE:
s.values[i] = valueBuffer[:8]
s.queryDataSet.ValueList[i] = valueBuffer[8:]
- break
case TEXT:
length := bytesToInt32(valueBuffer[:4])
s.values[i] = valueBuffer[4 : 4+length]
@@ -445,7 +440,14 @@
return false, errClosed
}
s.rowsIndex = 0
- req := rpc.TSFetchResultsReq{s.sessionId, s.sql, s.fetchSize, s.queryId, true, s.timeoutMs}
+ req := rpc.TSFetchResultsReq{
+ SessionId: s.sessionId,
+ Statement: s.sql,
+ FetchSize: s.fetchSize,
+ QueryId: s.queryId,
+ IsAlign: true,
+ Timeout: s.timeoutMs,
+ }
resp, err := s.client.FetchResults(context.Background(), &req)
if err != nil {
@@ -478,7 +480,8 @@
QueryId: &s.queryId,
}
- status, err := s.client.CloseOperation(context.Background(), closeRequest)
+ var status *rpc.TSStatus
+ status, err = s.client.CloseOperation(context.Background(), closeRequest)
if err == nil {
err = VerifySuccess(status)
}
diff --git a/client/rpcdataset_test.go b/client/rpcdataset_test.go
index c5c736f..a8a493d 100644
--- a/client/rpcdataset_test.go
+++ b/client/rpcdataset_test.go
@@ -539,27 +539,27 @@
want: &RowRecord{
timestamp: 0,
fields: []*Field{
- &Field{
+ {
name: "root.ln.device1.restart_count",
dataType: INT32,
value: int32(1),
- }, &Field{
+ }, {
name: "root.ln.device1.price",
dataType: DOUBLE,
value: float64(1988.2),
- }, &Field{
+ }, {
name: "root.ln.device1.tick_count",
dataType: INT64,
value: int64(3333333),
- }, &Field{
+ }, {
name: "root.ln.device1.temperature",
dataType: FLOAT,
value: float32(12.1),
- }, &Field{
+ }, {
name: "root.ln.device1.description",
dataType: TEXT,
value: string("Test Device 1"),
- }, &Field{
+ }, {
name: "root.ln.device1.status",
dataType: BOOLEAN,
value: bool(true),
diff --git a/client/session.go b/client/session.go
index 43fae9d..794c028 100644
--- a/client/session.go
+++ b/client/session.go
@@ -39,7 +39,7 @@
DefaultFetchSize = 1024
)
-var lengthError = errors.New("deviceIds, times, measurementsList and valuesList's size should be equal")
+var errLength = errors.New("deviceIds, times, measurementsList and valuesList's size should be equal")
type Config struct {
Host string
@@ -54,7 +54,6 @@
config *Config
client *rpc.TSIServiceClient
sessionId int64
- isClose bool
trans thrift.TTransport
requestStatementId int64
}
@@ -484,7 +483,7 @@
timestamps []int64) (*rpc.TSInsertRecordsReq, error) {
length := len(deviceIds)
if length != len(timestamps) || length != len(measurements) || length != len(values) {
- return nil, lengthError
+ return nil, errLength
}
request := rpc.TSInsertRecordsReq{
SessionId: s.sessionId,
@@ -550,12 +549,11 @@
return nil, fmt.Errorf("values[%d] %v(%v) must be float64", i, v, reflect.TypeOf(v))
}
case TEXT:
- switch v.(type) {
+ switch s := v.(type) {
case string:
- text := v.(string)
- size := len(text)
+ size := len(s)
binary.Write(buff, binary.BigEndian, int32(size))
- binary.Write(buff, binary.BigEndian, []byte(text))
+ binary.Write(buff, binary.BigEndian, []byte(s))
default:
return nil, fmt.Errorf("values[%d] %v(%v) must be string", i, v, reflect.TypeOf(v))
}
diff --git a/client/tablet.go b/client/tablet.go
index 20050c4..4a89835 100644
--- a/client/tablet.go
+++ b/client/tablet.go
@@ -84,77 +84,77 @@
func (t *Tablet) SetValueAt(value interface{}, columnIndex, rowIndex int) error {
if value == nil {
- return errors.New("Illegal argument value can't be nil")
+ return errors.New("illegal argument value can't be nil")
}
if columnIndex < 0 || columnIndex > len(t.measurementSchemas) {
- return fmt.Errorf("Illegal argument columnIndex %d", columnIndex)
+ return fmt.Errorf("illegal argument columnIndex %d", columnIndex)
}
if rowIndex < 0 || rowIndex > int(t.rowCount) {
- return fmt.Errorf("Illegal argument rowIndex %d", rowIndex)
+ return fmt.Errorf("illegal argument rowIndex %d", rowIndex)
}
switch t.measurementSchemas[columnIndex].DataType {
case BOOLEAN:
values := t.values[columnIndex].([]bool)
- switch value.(type) {
+ switch v := value.(type) {
case bool:
- values[rowIndex] = value.(bool)
+ values[rowIndex] = v
case *bool:
- values[rowIndex] = *value.(*bool)
+ values[rowIndex] = *v
default:
- return fmt.Errorf("Illegal argument value %v %v", value, reflect.TypeOf(value))
+ return fmt.Errorf("illegal argument value %v %v", value, reflect.TypeOf(value))
}
case INT32:
values := t.values[columnIndex].([]int32)
- switch value.(type) {
+ switch v := value.(type) {
case int32:
- values[rowIndex] = value.(int32)
+ values[rowIndex] = v
case *int32:
- values[rowIndex] = *value.(*int32)
+ values[rowIndex] = *v
default:
- return fmt.Errorf("Illegal argument value %v %v", value, reflect.TypeOf(value))
+ return fmt.Errorf("illegal argument value %v %v", value, reflect.TypeOf(value))
}
case INT64:
values := t.values[columnIndex].([]int64)
- switch value.(type) {
+ switch v := value.(type) {
case int64:
- values[rowIndex] = value.(int64)
+ values[rowIndex] = v
case *int64:
- values[rowIndex] = *value.(*int64)
+ values[rowIndex] = *v
default:
- return fmt.Errorf("Illegal argument value %v %v", value, reflect.TypeOf(value))
+ return fmt.Errorf("illegal argument value %v %v", value, reflect.TypeOf(value))
}
case FLOAT:
values := t.values[columnIndex].([]float32)
- switch value.(type) {
+ switch v := value.(type) {
case float32:
- values[rowIndex] = value.(float32)
+ values[rowIndex] = v
case *float32:
- values[rowIndex] = *value.(*float32)
+ values[rowIndex] = *v
default:
- return fmt.Errorf("Illegal argument value %v %v", value, reflect.TypeOf(value))
+ return fmt.Errorf("illegal argument value %v %v", value, reflect.TypeOf(value))
}
case DOUBLE:
values := t.values[columnIndex].([]float64)
- switch value.(type) {
+ switch v := value.(type) {
case float64:
- values[rowIndex] = value.(float64)
+ values[rowIndex] = v
case *float64:
- values[rowIndex] = *value.(*float64)
+ values[rowIndex] = *v
default:
- return fmt.Errorf("Illegal argument value %v %v", value, reflect.TypeOf(value))
+ return fmt.Errorf("illegal argument value %v %v", value, reflect.TypeOf(value))
}
case TEXT:
values := t.values[columnIndex].([]string)
- switch value.(type) {
+ switch v := value.(type) {
case string:
- values[rowIndex] = value.(string)
+ values[rowIndex] = v
case []byte:
- values[rowIndex] = string(value.([]byte))
+ values[rowIndex] = string(v)
default:
- return fmt.Errorf("Illegal argument value %v %v", value, reflect.TypeOf(value))
+ return fmt.Errorf("illegal argument value %v %v", value, reflect.TypeOf(value))
}
}
return nil
@@ -166,11 +166,11 @@
func (t *Tablet) GetValueAt(columnIndex, rowIndex int) (interface{}, error) {
if columnIndex < 0 || columnIndex > len(t.measurementSchemas) {
- return nil, fmt.Errorf("Illegal argument columnIndex %d", columnIndex)
+ return nil, fmt.Errorf("illegal argument columnIndex %d", columnIndex)
}
if rowIndex < 0 || rowIndex > int(t.rowCount) {
- return nil, fmt.Errorf("Illegal argument rowIndex %d", rowIndex)
+ return nil, fmt.Errorf("illegal argument rowIndex %d", rowIndex)
}
schema := t.measurementSchemas[columnIndex]
@@ -188,7 +188,7 @@
case TEXT:
return t.values[columnIndex].([]string)[rowIndex], nil
default:
- return nil, fmt.Errorf("Illegal datatype %v", schema.DataType)
+ return nil, fmt.Errorf("illegal datatype %v", schema.DataType)
}
}
@@ -236,7 +236,7 @@
binary.Write(buff, binary.BigEndian, []byte(s))
}
default:
- return nil, fmt.Errorf("Illegal datatype %v", schema.DataType)
+ return nil, fmt.Errorf("illegal datatype %v", schema.DataType)
}
}
return buff.Bytes(), nil
@@ -270,7 +270,7 @@
case TEXT:
tablet.values[i] = make([]string, rowCount)
default:
- return nil, fmt.Errorf("Illegal datatype %v", schema.DataType)
+ return nil, fmt.Errorf("illegal datatype %v", schema.DataType)
}
}
return tablet, nil
diff --git a/client/tablet_test.go b/client/tablet_test.go
index 13c397d..09fc6ca 100644
--- a/client/tablet_test.go
+++ b/client/tablet_test.go
@@ -26,7 +26,7 @@
func createTablet(size int) (*Tablet, error) {
tablet, err := NewTablet("root.ln.TestDevice", []*MeasurementSchema{
- &MeasurementSchema{
+ {
Measurement: "restart_count",
DataType: INT32,
Encoding: RLE,
@@ -34,17 +34,17 @@
Properties: map[string]string{
"owner": "Mark Liu",
},
- }, &MeasurementSchema{
+ }, {
Measurement: "price",
DataType: DOUBLE,
Encoding: GORILLA,
Compressor: SNAPPY,
- }, &MeasurementSchema{
+ }, {
Measurement: "tick_count",
DataType: INT64,
Encoding: RLE,
Compressor: SNAPPY,
- }, &MeasurementSchema{
+ }, {
Measurement: "temperature",
DataType: FLOAT,
Encoding: GORILLA,
@@ -52,7 +52,7 @@
Properties: map[string]string{
"owner": "Mark Liu",
},
- }, &MeasurementSchema{
+ }, {
Measurement: "description",
DataType: TEXT,
Encoding: PLAIN,
@@ -61,7 +61,7 @@
"owner": "Mark Liu",
},
},
- &MeasurementSchema{
+ {
Measurement: "status",
DataType: BOOLEAN,
Encoding: RLE,
@@ -92,7 +92,7 @@
fields: fields{
deviceId: "root.ln.device5",
measurementSchemas: []*MeasurementSchema{
- &MeasurementSchema{
+ {
Measurement: "restart_count",
DataType: INT32,
Encoding: RLE,
@@ -100,17 +100,17 @@
Properties: map[string]string{
"owner": "Mark Liu",
},
- }, &MeasurementSchema{
+ }, {
Measurement: "price",
DataType: DOUBLE,
Encoding: GORILLA,
Compressor: SNAPPY,
- }, &MeasurementSchema{
+ }, {
Measurement: "tick_count",
DataType: INT64,
Encoding: RLE,
Compressor: SNAPPY,
- }, &MeasurementSchema{
+ }, {
Measurement: "temperature",
DataType: FLOAT,
Encoding: GORILLA,
@@ -118,7 +118,7 @@
Properties: map[string]string{
"owner": "Mark Liu",
},
- }, &MeasurementSchema{
+ }, {
Measurement: "description",
DataType: TEXT,
Encoding: PLAIN,
@@ -127,7 +127,7 @@
"owner": "Mark Liu",
},
},
- &MeasurementSchema{
+ {
Measurement: "status",
DataType: BOOLEAN,
Encoding: RLE,
diff --git a/client/utils_test.go b/client/utils_test.go
index 6b08e52..9727ac5 100644
--- a/client/utils_test.go
+++ b/client/utils_test.go
@@ -218,7 +218,7 @@
Code: MultipleError,
Message: &errMsg,
SubStatus: []*rpc.TSStatus{
- &rpc.TSStatus{
+ {
Code: ShutDownError,
Message: &errMsg,
},
@@ -263,7 +263,7 @@
name: "InternalServerError",
args: args{
statuses: []*rpc.TSStatus{
- &rpc.TSStatus{
+ {
Code: InternalServerError,
Message: &internalServerError,
SubStatus: []*rpc.TSStatus{},
@@ -275,7 +275,7 @@
name: "SuccessStatus",
args: args{
statuses: []*rpc.TSStatus{
- &rpc.TSStatus{
+ {
Code: SuccessStatus,
Message: &success,
SubStatus: []*rpc.TSStatus{},
diff --git a/example/session_example.go b/example/session_example.go
index 7e356b2..0def366 100644
--- a/example/session_example.go
+++ b/example/session_example.go
@@ -20,7 +20,6 @@
package main
import (
- "errors"
"flag"
"fmt"
"log"
@@ -178,19 +177,14 @@
switch sessionDataSet.GetColumnDataType(i) {
case client.BOOLEAN:
fmt.Print(sessionDataSet.GetBool(columnName))
- break
case client.INT32:
fmt.Print(sessionDataSet.GetInt32(columnName))
- break
case client.INT64:
fmt.Print(sessionDataSet.GetInt64(columnName))
- break
case client.FLOAT:
fmt.Print(sessionDataSet.GetFloat(columnName))
- break
case client.DOUBLE:
fmt.Print(sessionDataSet.GetDouble(columnName))
- break
case client.TEXT:
fmt.Print(sessionDataSet.GetText(columnName))
default:
@@ -365,33 +359,33 @@
func createTablet(rowCount int) (*client.Tablet, error) {
tablet, err := client.NewTablet("root.ln.device1", []*client.MeasurementSchema{
- &client.MeasurementSchema{
+ {
Measurement: "restart_count",
DataType: client.INT32,
Encoding: client.RLE,
Compressor: client.SNAPPY,
- }, &client.MeasurementSchema{
+ }, {
Measurement: "price",
DataType: client.DOUBLE,
Encoding: client.GORILLA,
Compressor: client.SNAPPY,
- }, &client.MeasurementSchema{
+ }, {
Measurement: "tick_count",
DataType: client.INT64,
Encoding: client.RLE,
Compressor: client.SNAPPY,
- }, &client.MeasurementSchema{
+ }, {
Measurement: "temperature",
DataType: client.FLOAT,
Encoding: client.GORILLA,
Compressor: client.SNAPPY,
- }, &client.MeasurementSchema{
+ }, {
Measurement: "description",
DataType: client.TEXT,
Encoding: client.PLAIN,
Compressor: client.SNAPPY,
},
- &client.MeasurementSchema{
+ {
Measurement: "status",
DataType: client.BOOLEAN,
Encoding: client.RLE,
@@ -493,16 +487,3 @@
}
}
}
-
-func validate(tablet *client.Tablet) (err error) {
- temperatureColumn := 2
- for i := 0; i < tablet.GetRowCount(); i++ {
- if v, err := tablet.GetValueAt(temperatureColumn, i); err == nil {
- temperature := v.(float32)
- if temperature > 42.5 || temperature < 35.1 {
- return errors.New("The temperature must be in [35..42]")
- }
- }
- }
- return err
-}