@@ -9,16 +9,19 @@ use scylla::value::CqlValue;
9
9
use crate :: options;
10
10
use crate :: requests:: parameter_wrappers:: QueryParameterWrapper ;
11
11
use crate :: requests:: request:: QueryOptionsWrapper ;
12
+ use crate :: result:: EncodingOptions ;
12
13
use crate :: utils:: { bigint_to_i64, js_error} ;
13
14
use crate :: {
14
15
requests:: request:: PreparedStatementWrapper , result:: QueryResultWrapper , utils:: err_to_napi,
15
16
} ;
16
17
17
18
#[ napi]
19
+ #[ derive( Clone ) ]
18
20
pub struct SessionOptions {
19
21
pub connect_points : Vec < String > ,
20
22
pub application_name : Option < String > ,
21
23
pub application_version : Option < String > ,
24
+ pub encoding_options : Option < EncodingOptions > ,
22
25
}
23
26
24
27
#[ napi]
@@ -29,6 +32,7 @@ pub struct BatchWrapper {
29
32
#[ napi]
30
33
pub struct SessionWrapper {
31
34
inner : Session ,
35
+ pub ( crate ) options : SessionOptions ,
32
36
}
33
37
34
38
#[ napi]
@@ -39,6 +43,7 @@ impl SessionOptions {
39
43
connect_points : vec ! [ ] ,
40
44
application_name : None ,
41
45
application_version : None ,
46
+ encoding_options : None ,
42
47
}
43
48
}
44
49
}
@@ -53,7 +58,10 @@ impl SessionWrapper {
53
58
. build ( )
54
59
. await
55
60
. map_err ( err_to_napi) ?;
56
- Ok ( SessionWrapper { inner : s } )
61
+ Ok ( SessionWrapper {
62
+ inner : s,
63
+ options : options. clone ( ) ,
64
+ } )
57
65
}
58
66
59
67
#[ napi]
@@ -72,7 +80,7 @@ impl SessionWrapper {
72
80
. query_unpaged ( query, & [ ] )
73
81
. await
74
82
. map_err ( err_to_napi) ?;
75
- QueryResultWrapper :: from_query ( query_result)
83
+ QueryResultWrapper :: from_query ( query_result, self )
76
84
}
77
85
78
86
/// Executes unprepared query. This assumes the types will be either guessed or provided by user.
@@ -93,7 +101,7 @@ impl SessionWrapper {
93
101
. query_unpaged ( query, params_vec)
94
102
. await
95
103
. map_err ( err_to_napi) ?;
96
- QueryResultWrapper :: from_query ( query_result)
104
+ QueryResultWrapper :: from_query ( query_result, & self )
97
105
}
98
106
99
107
/// Prepares a statement through rust driver for a given session
@@ -131,6 +139,7 @@ impl SessionWrapper {
131
139
. execute_unpaged ( & query, params_vec)
132
140
. await
133
141
. map_err ( err_to_napi) ?,
142
+ self ,
134
143
)
135
144
}
136
145
@@ -149,6 +158,7 @@ impl SessionWrapper {
149
158
. batch ( & batch. inner , params_vec)
150
159
. await
151
160
. map_err ( err_to_napi) ?,
161
+ self ,
152
162
)
153
163
}
154
164
}
0 commit comments