Skip to content

Commit 330553a

Browse files
committed
refactor(sys): add stmt2.rs
1 parent 1df7f7a commit 330553a

File tree

4 files changed

+119
-120
lines changed

4 files changed

+119
-120
lines changed

taos-ws-sys/src/native/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ pub mod error;
2121
pub mod query;
2222
pub mod sml;
2323
pub mod stmt;
24+
pub mod stmt2;
2425
pub mod stub;
2526
pub mod tmq;
2627

@@ -32,6 +33,9 @@ pub type TAOS_ROW = *mut *mut c_void;
3233
#[allow(non_camel_case_types)]
3334
pub type TAOS_RES = c_void;
3435

36+
#[allow(non_camel_case_types)]
37+
pub type __taos_async_fn_t = extern "C" fn(param: *mut c_void, res: *mut TAOS_RES, code: c_int);
38+
3539
type TaosResult<T> = Result<T, TaosError>;
3640

3741
#[repr(C)]

taos-ws-sys/src/native/query.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ use tracing::trace;
1515

1616
use crate::native::error::{set_err_and_get_code, TaosError, TaosMaybeError};
1717
use crate::native::{
18-
ResultSet, ResultSetOperations, Row, TaosResult, TAOS, TAOS_FIELD, TAOS_RES, TAOS_ROW,
18+
ResultSet, ResultSetOperations, Row, TaosResult, __taos_async_fn_t, TAOS, TAOS_FIELD, TAOS_RES,
19+
TAOS_ROW,
1920
};
2021

21-
#[allow(non_camel_case_types)]
22-
pub type __taos_async_fn_t = extern "C" fn(param: *mut c_void, res: *mut TAOS_RES, code: c_int);
23-
2422
#[no_mangle]
2523
pub unsafe extern "C" fn taos_query(taos: *mut TAOS, sql: *const c_char) -> *mut TAOS_RES {
2624
taos_query_with_reqid(taos, sql, generate_req_id() as _)

taos-ws-sys/src/native/stmt2.rs

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
use std::ffi::{c_char, c_int, c_ulong, c_void};
2+
3+
use crate::native::{__taos_async_fn_t, TAOS, TAOS_RES};
4+
5+
#[allow(non_camel_case_types)]
6+
pub type TAOS_STMT2 = c_void;
7+
8+
#[repr(C)]
9+
#[allow(non_camel_case_types)]
10+
#[allow(non_snake_case)]
11+
pub struct TAOS_STMT2_OPTION {
12+
pub reqid: i64,
13+
pub singleStbInsert: bool,
14+
pub singleTableBindOnce: bool,
15+
pub asyncExecFn: __taos_async_fn_t,
16+
pub userdata: *mut c_void,
17+
}
18+
19+
#[repr(C)]
20+
#[allow(non_camel_case_types)]
21+
pub struct TAOS_STMT2_BIND {
22+
pub buffer_type: c_int,
23+
pub buffer: *mut c_void,
24+
pub length: *mut i32,
25+
pub is_null: *mut c_char,
26+
pub num: c_int,
27+
}
28+
29+
#[repr(C)]
30+
#[allow(non_camel_case_types)]
31+
pub struct TAOS_STMT2_BINDV {
32+
pub count: c_int,
33+
pub tbnames: *mut *mut c_char,
34+
pub tags: *mut *mut TAOS_STMT2_BIND,
35+
pub bind_cols: *mut *mut TAOS_STMT2_BIND,
36+
}
37+
38+
#[repr(C)]
39+
#[allow(non_camel_case_types)]
40+
pub struct TAOS_FIELD_ALL {
41+
pub name: [c_char; 65],
42+
pub r#type: i8,
43+
pub precision: u8,
44+
pub scale: u8,
45+
pub bytes: i32,
46+
pub field_type: u8,
47+
}
48+
49+
#[no_mangle]
50+
pub extern "C" fn taos_stmt2_init(
51+
taos: *mut TAOS,
52+
option: *mut TAOS_STMT2_OPTION,
53+
) -> *mut TAOS_STMT2 {
54+
todo!()
55+
}
56+
57+
#[no_mangle]
58+
pub extern "C" fn taos_stmt2_prepare(
59+
stmt: *mut TAOS_STMT2,
60+
sql: *const c_char,
61+
length: c_ulong,
62+
) -> c_int {
63+
todo!()
64+
}
65+
66+
#[no_mangle]
67+
pub extern "C" fn taos_stmt2_bind_param(
68+
stmt: *mut TAOS_STMT2,
69+
bindv: *mut TAOS_STMT2_BINDV,
70+
col_idx: i32,
71+
) -> c_int {
72+
todo!()
73+
}
74+
75+
#[no_mangle]
76+
pub extern "C" fn taos_stmt2_exec(stmt: *mut TAOS_STMT2, affected_rows: *mut c_int) -> c_int {
77+
todo!()
78+
}
79+
80+
#[no_mangle]
81+
pub extern "C" fn taos_stmt2_close(stmt: *mut TAOS_STMT2) -> c_int {
82+
todo!()
83+
}
84+
85+
#[no_mangle]
86+
pub extern "C" fn taos_stmt2_is_insert(stmt: *mut TAOS_STMT2, insert: *mut c_int) -> c_int {
87+
todo!()
88+
}
89+
90+
#[no_mangle]
91+
pub extern "C" fn taos_stmt2_get_fields(
92+
stmt: *mut TAOS_STMT2,
93+
count: *mut c_int,
94+
fields: *mut *mut TAOS_FIELD_ALL,
95+
) -> c_int {
96+
todo!()
97+
}
98+
99+
#[no_mangle]
100+
pub extern "C" fn taos_stmt2_free_fields(stmt: *mut TAOS_STMT2, fields: *mut TAOS_FIELD_ALL) {
101+
todo!()
102+
}
103+
104+
#[no_mangle]
105+
pub extern "C" fn taos_stmt2_result(stmt: *mut TAOS_STMT2) -> *mut TAOS_RES {
106+
todo!()
107+
}
108+
109+
#[no_mangle]
110+
pub extern "C" fn taos_stmt2_error(stmt: *mut TAOS_STMT2) -> *mut c_char {
111+
todo!()
112+
}

taos-ws-sys/src/native/stub.rs

Lines changed: 1 addition & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
#![allow(unused_variables)]
22

3-
use std::ffi::{c_char, c_int, c_ulong, c_void};
3+
use std::ffi::{c_char, c_int, c_void};
44

5-
use crate::native::query::__taos_async_fn_t;
6-
use crate::native::stmt::TAOS_FIELD_E;
75
use crate::native::tmq::tmq_t;
86
use crate::native::{TAOS, TAOS_FIELD, TAOS_RES};
97

@@ -189,39 +187,6 @@ pub extern "C" fn taos_set_config(config: *const c_char) -> setConfRet {
189187
todo!("taos_set_config");
190188
}
191189

192-
#[allow(non_camel_case_types)]
193-
pub type TAOS_STMT2 = c_void;
194-
195-
#[repr(C)]
196-
#[allow(non_snake_case)]
197-
#[allow(non_camel_case_types)]
198-
pub struct TAOS_STMT2_OPTION {
199-
pub reqid: i64,
200-
pub singleStbInsert: bool,
201-
pub singleTableBindOnce: bool,
202-
pub asyncExecFn: __taos_async_fn_t,
203-
pub userdata: *mut c_void,
204-
}
205-
206-
#[repr(C)]
207-
#[allow(non_camel_case_types)]
208-
pub struct TAOS_STMT2_BIND {
209-
pub buffer_type: i32,
210-
pub buffer: *mut c_void,
211-
pub length: *mut i32,
212-
pub is_null: *mut c_char,
213-
pub num: i32,
214-
}
215-
216-
#[repr(C)]
217-
#[allow(non_camel_case_types)]
218-
pub struct TAOS_STMT2_BINDV {
219-
pub count: i32,
220-
pub tbnames: *mut *mut c_char,
221-
pub tags: *mut *mut TAOS_STMT2_BIND,
222-
pub bind_cols: *mut *mut TAOS_STMT2_BIND,
223-
}
224-
225190
#[repr(C)]
226191
#[allow(non_camel_case_types)]
227192
pub enum TAOS_FIELD_T {
@@ -242,86 +207,6 @@ pub struct TAOS_FIELD_STB {
242207
pub field_type: u8,
243208
}
244209

245-
#[no_mangle]
246-
pub extern "C" fn taos_stmt2_init(
247-
taos: *mut TAOS,
248-
option: *mut TAOS_STMT2_OPTION,
249-
) -> *mut TAOS_STMT2 {
250-
todo!("taos_stmt2_init");
251-
}
252-
253-
#[no_mangle]
254-
pub extern "C" fn taos_stmt2_prepare(
255-
stmt: *mut TAOS_STMT2,
256-
sql: *const c_char,
257-
length: c_ulong,
258-
) -> i32 {
259-
todo!("taos_stmt2_prepare");
260-
}
261-
262-
#[no_mangle]
263-
pub extern "C" fn taos_stmt2_bind_param(
264-
stmt: *mut TAOS_STMT2,
265-
bindv: *mut TAOS_STMT2_BINDV,
266-
col_idx: i32,
267-
) -> i32 {
268-
todo!("taos_stmt2_bind_param");
269-
}
270-
271-
#[no_mangle]
272-
pub extern "C" fn taos_stmt2_exec(stmt: *mut TAOS_STMT2, affected_rows: *mut i32) -> i32 {
273-
todo!("taos_stmt2_exec");
274-
}
275-
276-
#[no_mangle]
277-
pub extern "C" fn taos_stmt2_close(stmt: *mut TAOS_STMT2) -> i32 {
278-
todo!("taos_stmt2_close");
279-
}
280-
281-
#[no_mangle]
282-
pub extern "C" fn taos_stmt2_is_insert(stmt: *mut TAOS_STMT2, insert: *mut i32) -> i32 {
283-
todo!("taos_stmt2_is_insert");
284-
}
285-
286-
#[no_mangle]
287-
pub extern "C" fn taos_stmt2_result(stmt: *mut TAOS_STMT2) -> *mut TAOS_RES {
288-
todo!("taos_stmt2_result");
289-
}
290-
291-
#[no_mangle]
292-
pub extern "C" fn taos_stmt2_error(stmt: *mut TAOS_STMT2) -> *const c_char {
293-
todo!("taos_stmt2_error");
294-
}
295-
296-
#[no_mangle]
297-
pub extern "C" fn taos_stmt2_get_fields(
298-
stmt: *mut TAOS_STMT2,
299-
field_type: TAOS_FIELD_T,
300-
count: *mut i32,
301-
fields: *mut *mut TAOS_FIELD_E,
302-
) -> i32 {
303-
todo!("taos_stmt2_get_fields")
304-
}
305-
306-
#[no_mangle]
307-
pub extern "C" fn taos_stmt2_get_stb_fields(
308-
stmt: *mut TAOS_STMT2,
309-
count: *mut i32,
310-
fields: *mut *mut TAOS_FIELD_STB,
311-
) -> i32 {
312-
todo!("taos_stmt2_get_stb_fields")
313-
}
314-
315-
#[no_mangle]
316-
pub extern "C" fn taos_stmt2_free_fields(stmt: *mut TAOS_STMT2, fields: *mut TAOS_FIELD_E) {
317-
todo!("taos_stmt2_free_fields")
318-
}
319-
320-
#[no_mangle]
321-
pub extern "C" fn taos_stmt2_free_stb_fields(stmt: *mut TAOS_STMT2, fields: *mut TAOS_FIELD_STB) {
322-
todo!("taos_stmt2_free_stb_fields")
323-
}
324-
325210
#[allow(non_camel_case_types)]
326211
pub type __taos_async_whitelist_fn_t = extern "C" fn(
327212
param: *mut c_void,

0 commit comments

Comments
 (0)