Skip to content

Commit e7dcc09

Browse files
authored
Support execute non query statement (#64)
1 parent a05323c commit e7dcc09

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

client/session.go

+19
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,25 @@ func (s *Session) ExecuteStatement(sql string) (*SessionDataSet, error) {
439439
return s.genDataSet(sql, resp), err
440440
}
441441

442+
func (s *Session) ExecuteNonQueryStatement(sql string) (r *rpc.TSStatus, err error) {
443+
request := rpc.TSExecuteStatementReq{
444+
SessionId: s.sessionId,
445+
Statement: sql,
446+
StatementId: s.requestStatementId,
447+
FetchSize: &s.config.FetchSize,
448+
}
449+
resp, err := s.client.ExecuteStatement(context.Background(), &request)
450+
451+
if err != nil && resp == nil {
452+
if s.reconnect() {
453+
request.SessionId = s.sessionId
454+
resp, err = s.client.ExecuteStatement(context.Background(), &request)
455+
}
456+
}
457+
458+
return resp.Status, err
459+
}
460+
442461
func (s *Session) ExecuteQueryStatement(sql string, timeoutMs *int64) (*SessionDataSet, error) {
443462
request := rpc.TSExecuteStatementReq{SessionId: s.sessionId, Statement: sql, StatementId: s.requestStatementId,
444463
FetchSize: &s.config.FetchSize, Timeout: timeoutMs}

example/session_example.go

+7
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ func main() {
6767
createTimeseries("root.sg1.dev1.status")
6868
deleteTimeseries("root.sg1.dev1.status")
6969

70+
createTimeseriesByNonQueryStatement("create timeseries root.sg1.dev1.status with datatype = int32")
71+
deleteTimeseries("root.sg1.dev1.status")
72+
7073
createMultiTimeseries()
7174
deleteTimeseries("root.sg1.dev1.temperature")
7275

@@ -295,6 +298,10 @@ func createTimeseries(path string) {
295298
checkError(session.CreateTimeseries(path, dataType, encoding, compressor, nil, nil))
296299
}
297300

301+
func createTimeseriesByNonQueryStatement(sql string) {
302+
checkError(session.ExecuteNonQueryStatement(sql))
303+
}
304+
298305
func createAlignedTimeseries(prefixPath string, measurements, measurementAlias []string) {
299306
var (
300307
dataTypes = []client.TSDataType{

0 commit comments

Comments
 (0)