@@ -64,6 +64,7 @@ iotdb-client-rs="0.3.3"
64
64
chrono =" 0.4.19"
65
65
prettytable-rs =" 0.8.0"
66
66
```
67
+ ## Example
67
68
68
69
``` rust
69
70
use std :: vec;
@@ -77,7 +78,7 @@ use iotdb_client_rs::protocal::{TSCompressionType, TSDataType, TSEncoding};
77
78
use prettytable :: {cell, Row , Table };
78
79
79
80
fn main () {
80
- run (). expect (" failed to run session_example." )
81
+ run (). expect (" failed to run session_example." );
81
82
}
82
83
83
84
fn run () -> Result <()> {
@@ -90,15 +91,28 @@ fn run() -> Result<()> {
90
91
};
91
92
let mut session = RpcSession :: new (& config )? ;
92
93
session . open ()? ;
94
+
95
+ // time_zone
93
96
let tz = session . get_time_zone ()? ;
94
97
if tz != " Asia/Shanghai" {
95
98
session . set_time_zone (" Asia/Shanghai" )? ;
96
99
}
100
+
101
+ // set_storage_group
97
102
session . set_storage_group (" root.ln1" )? ;
98
103
session . delete_storage_group (" root.ln1" )? ;
104
+
105
+ // delete_storage_groups
99
106
session . set_storage_group (" root.ln1" )? ;
100
107
session . set_storage_group (" root.ln2" )? ;
101
108
session . delete_storage_groups (vec! [" root.ln1" , " root.ln2" ])? ;
109
+
110
+ // if storage group 'root.sg_rs' exist remove it.
111
+ // session
112
+ // .delete_storage_group("root.sg_rs")
113
+ // .unwrap_or_default();
114
+
115
+ // create_timeseries
102
116
session . create_timeseries (
103
117
" root.sg_rs.dev2.status" ,
104
118
TSDataType :: Float ,
@@ -110,6 +124,21 @@ fn run() -> Result<()> {
110
124
None ,
111
125
)? ;
112
126
session . delete_timeseries (vec! [" root.sg_rs.dev2.status" ])? ;
127
+
128
+ // create_multi_timeseries
129
+ session . create_multi_timeseries (
130
+ vec! [" root.sg3.dev1.temperature" , " root.sg3.dev1.desc" ],
131
+ vec! [TSDataType :: Float , TSDataType :: Text ],
132
+ vec! [TSEncoding :: Plain , TSEncoding :: Plain ],
133
+ vec! [TSCompressionType :: SNAPPY , TSCompressionType :: SNAPPY ],
134
+ None ,
135
+ None ,
136
+ None ,
137
+ None ,
138
+ )? ;
139
+ session . delete_timeseries (vec! [" root.sg3.dev1.temperature" , " root.sg3.dev1.desc" ])? ;
140
+
141
+ // insert_record
113
142
session . insert_record (
114
143
" root.sg_rs.dev5" ,
115
144
vec! [" online" , " desc" ],
@@ -118,6 +147,21 @@ fn run() -> Result<()> {
118
147
false ,
119
148
)? ;
120
149
session . delete_timeseries (vec! [" root.sg_rs.dev5.online" , " root.sg_rs.dev5.desc" ])? ;
150
+
151
+ // insert_string_record
152
+ session . insert_string_record (
153
+ " root.sg_rs.wf02.wt02" ,
154
+ vec! [" id" , " location" ],
155
+ vec! [" SN:001" , " BeiJing" ],
156
+ Local :: now (). timestamp_millis (),
157
+ false ,
158
+ )? ;
159
+ session . delete_timeseries (vec! [
160
+ " root.sg_rs.wf02.wt02.id" ,
161
+ " root.sg_rs.wf02.wt02.location" ,
162
+ ])? ;
163
+
164
+ // insert_records
121
165
session . insert_records (
122
166
vec! [" root.sg_rs.dev1" ],
123
167
vec! [vec! [
@@ -146,28 +190,8 @@ fn run() -> Result<()> {
146
190
" root.sg_rs.dev1.description" ,
147
191
" root.sg_rs.dev1.status" ,
148
192
])? ;
149
- session . create_multi_timeseries (
150
- vec! [" root.sg3.dev1.temperature" , " root.sg3.dev1.desc" ],
151
- vec! [TSDataType :: Float , TSDataType :: Text ],
152
- vec! [TSEncoding :: Plain , TSEncoding :: Plain ],
153
- vec! [TSCompressionType :: SNAPPY , TSCompressionType :: SNAPPY ],
154
- None ,
155
- None ,
156
- None ,
157
- None ,
158
- )? ;
159
- session . delete_timeseries (vec! [" root.sg3.dev1.temperature" , " root.sg3.dev1.desc" ])? ;
160
- session . insert_string_record (
161
- " root.sg_rs.wf02.wt02" ,
162
- vec! [" id" , " location" ],
163
- vec! [" SN:001" , " BeiJing" ],
164
- Local :: now (). timestamp_millis (),
165
- false ,
166
- )? ;
167
- session . delete_timeseries (vec! [
168
- " root.sg_rs.wf02.wt02.id" ,
169
- " root.sg_rs.wf02.wt02.location" ,
170
- ])? ;
193
+
194
+ // insert_records_of_one_device
171
195
session . insert_records_of_one_device (
172
196
" root.sg_rs.dev0" ,
173
197
vec! [
@@ -188,6 +212,8 @@ fn run() -> Result<()> {
188
212
],
189
213
false ,
190
214
)? ;
215
+
216
+ // table
191
217
let mut ts = Local :: now (). timestamp_millis ();
192
218
let mut tablet1 = create_tablet (5 , ts );
193
219
tablet1 . sort ();
@@ -196,9 +222,13 @@ fn run() -> Result<()> {
196
222
ts += 10 ;
197
223
let mut tablet3 = create_tablet (2 , ts );
198
224
tablet1 . sort ();
225
+
226
+ // insert_tablet
199
227
session . insert_tablet (& tablet1 )? ;
200
228
tablet2 . sort ();
201
229
tablet3 . sort ();
230
+
231
+ // insert_tablets
202
232
session . insert_tablets (vec! [& tablet2 , & tablet3 ])? ;
203
233
session . insert_records_of_one_device (
204
234
" root.sg_rs.dev1" ,
@@ -207,8 +237,37 @@ fn run() -> Result<()> {
207
237
vec! [vec! [Value :: Bool (true )], vec! [Value :: Bool (true )]],
208
238
true ,
209
239
)? ;
240
+
241
+ // delete_data
210
242
session . delete_data (vec! [" root.sg_rs.dev1.status" ], 1 , 16 )? ;
243
+
244
+ // execute_query_statement
211
245
let dataset = session . execute_query_statement (" select * from root.sg_rs.device2" , None )? ;
246
+ // Get columns, column types and values from the data set
247
+ // For example:
248
+ // dataset
249
+ // .get_column_names()
250
+ // .iter()
251
+ // .for_each(|c| print!("{}\t", c));
252
+ // print!("\n");
253
+ // dataset
254
+ // .get_data_types()
255
+ // .iter()
256
+ // .for_each(|c| print!("{:?}\t", c));
257
+ // print!("\n");
258
+ // dataset.for_each(|r| {
259
+ // r.values.iter().for_each(|v| match v {
260
+ // Value::Bool(v) => print!("{}\t", v),
261
+ // Value::Int32(v) => print!("{}\t", v),
262
+ // Value::Int64(v) => print!("{}\t", v),
263
+ // Value::Float(v) => print!("{}\t", v),
264
+ // Value::Double(v) => print!("{}\t", v),
265
+ // Value::Text(v) => print!("{}\t", v),
266
+ // Value::Null => print!("null\t"),
267
+ // });
268
+ // print!("\n");
269
+ // });
270
+
212
271
let mut table = Table :: new ();
213
272
table . set_titles (Row :: new (
214
273
dataset
@@ -223,6 +282,8 @@ fn run() -> Result<()> {
223
282
));
224
283
});
225
284
table . printstd ();
285
+
286
+ // execute_statement
226
287
let dataset = session . execute_statement (" show timeseries" , None )? ;
227
288
let mut table = Table :: new ();
228
289
table . set_titles (Row :: new (
@@ -238,11 +299,15 @@ fn run() -> Result<()> {
238
299
));
239
300
});
240
301
table . printstd ();
302
+
303
+ // execute_batch_statement
241
304
session . execute_batch_statement (vec! [
242
305
" insert into root.sg_rs.dev6(time,s5) values(1,true)" ,
243
306
" insert into root.sg_rs.dev6(time,s5) values(2,true)" ,
244
307
" insert into root.sg_rs.dev6(time,s5) values(3,true)" ,
245
308
])? ;
309
+
310
+ // execute_raw_data_query
246
311
let dataset = session . execute_raw_data_query (
247
312
vec! [
248
313
" root.sg_rs.device2.restart_count" ,
@@ -266,6 +331,8 @@ fn run() -> Result<()> {
266
331
));
267
332
});
268
333
table . printstd ();
334
+
335
+ // execute_update_statement
269
336
if let Some (dataset ) =
270
337
session . execute_update_statement (" delete timeseries root.sg_rs.dev1.*" )?
271
338
{
0 commit comments