You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2022/11/25 03:22:32 UTC

[iotdb-client-go] branch main updated: Support execute non query statement (#64)

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

qiaojialin 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 e7dcc09  Support execute non query statement (#64)
e7dcc09 is described below

commit e7dcc092f533bae3407f8f1908853b7f2c3702fa
Author: Haonan <hh...@outlook.com>
AuthorDate: Fri Nov 25 11:22:27 2022 +0800

    Support execute non query statement (#64)
---
 client/session.go          | 19 +++++++++++++++++++
 example/session_example.go |  7 +++++++
 2 files changed, 26 insertions(+)

diff --git a/client/session.go b/client/session.go
index 01febb9..8bd08be 100644
--- a/client/session.go
+++ b/client/session.go
@@ -439,6 +439,25 @@ func (s *Session) ExecuteStatement(sql string) (*SessionDataSet, error) {
 	return s.genDataSet(sql, resp), err
 }
 
+func (s *Session) ExecuteNonQueryStatement(sql string) (r *rpc.TSStatus, err error) {
+	request := rpc.TSExecuteStatementReq{
+		SessionId:   s.sessionId,
+		Statement:   sql,
+		StatementId: s.requestStatementId,
+		FetchSize:   &s.config.FetchSize,
+	}
+	resp, err := s.client.ExecuteStatement(context.Background(), &request)
+
+	if err != nil && resp == nil {
+		if s.reconnect() {
+			request.SessionId = s.sessionId
+			resp, err = s.client.ExecuteStatement(context.Background(), &request)
+		}
+	}
+
+	return resp.Status, err
+}
+
 func (s *Session) ExecuteQueryStatement(sql string, timeoutMs *int64) (*SessionDataSet, error) {
 	request := rpc.TSExecuteStatementReq{SessionId: s.sessionId, Statement: sql, StatementId: s.requestStatementId,
 		FetchSize: &s.config.FetchSize, Timeout: timeoutMs}
diff --git a/example/session_example.go b/example/session_example.go
index 5ce8cf9..6af3cb9 100644
--- a/example/session_example.go
+++ b/example/session_example.go
@@ -67,6 +67,9 @@ func main() {
 	createTimeseries("root.sg1.dev1.status")
 	deleteTimeseries("root.sg1.dev1.status")
 
+	createTimeseriesByNonQueryStatement("create timeseries root.sg1.dev1.status with datatype = int32")
+	deleteTimeseries("root.sg1.dev1.status")
+
 	createMultiTimeseries()
 	deleteTimeseries("root.sg1.dev1.temperature")
 
@@ -295,6 +298,10 @@ func createTimeseries(path string) {
 	checkError(session.CreateTimeseries(path, dataType, encoding, compressor, nil, nil))
 }
 
+func createTimeseriesByNonQueryStatement(sql string) {
+	checkError(session.ExecuteNonQueryStatement(sql))
+}
+
 func createAlignedTimeseries(prefixPath string, measurements, measurementAlias []string) {
 	var (
 		dataTypes = []client.TSDataType{