4747//! It can be used for binding named parameter in CassStatement or field by name in CassUserType.
4848//! * Functions from make_appender don't take any extra argument, as they are for use by CassCollection
4949//! functions - values are appended to collection.
50- use crate :: cass_types:: CassDataType ;
51- use scylla:: frame:: response:: result:: CqlValue ;
50+ use crate :: { cass_types:: CassDataType , value:: CassCqlValue } ;
5251
53- pub fn is_compatible_type ( _data_type : & CassDataType , _value : & Option < CqlValue > ) -> bool {
52+ pub fn is_compatible_type ( _data_type : & CassDataType , _value : & Option < CassCqlValue > ) -> bool {
5453 // TODO: cppdriver actually checks types.
5554 true
5655}
@@ -66,7 +65,7 @@ macro_rules! make_index_binder {
6665 ) -> CassError {
6766 // For some reason detected as unused, which is not true
6867 #[ allow( unused_imports) ]
69- use scylla :: frame :: response :: result :: CqlValue :: * ;
68+ use crate :: value :: CassCqlValue :: * ;
7069 match ( $e) ( $( $arg) , * ) {
7170 Ok ( v) => $consume_v( ptr_to_ref_mut( this) , index as usize , v) ,
7271 Err ( e) => e,
@@ -86,7 +85,7 @@ macro_rules! make_name_binder {
8685 ) -> CassError {
8786 // For some reason detected as unused, which is not true
8887 #[ allow( unused_imports) ]
89- use scylla :: frame :: response :: result :: CqlValue :: * ;
88+ use crate :: value :: CassCqlValue :: * ;
9089 let name = ptr_to_cstr( name) . unwrap( ) ;
9190 match ( $e) ( $( $arg) , * ) {
9291 Ok ( v) => $consume_v( ptr_to_ref_mut( this) , name, v) ,
@@ -108,7 +107,7 @@ macro_rules! make_name_n_binder {
108107 ) -> CassError {
109108 // For some reason detected as unused, which is not true
110109 #[ allow( unused_imports) ]
111- use scylla :: frame :: response :: result :: CqlValue :: * ;
110+ use crate :: value :: CassCqlValue :: * ;
112111 let name = ptr_to_cstr_n( name, name_length) . unwrap( ) ;
113112 match ( $e) ( $( $arg) , * ) {
114113 Ok ( v) => $consume_v( ptr_to_ref_mut( this) , name, v) ,
@@ -128,7 +127,7 @@ macro_rules! make_appender {
128127 ) -> CassError {
129128 // For some reason detected as unused, which is not true
130129 #[ allow( unused_imports) ]
131- use scylla :: frame :: response :: result :: CqlValue :: * ;
130+ use crate :: value :: CassCqlValue :: * ;
132131 match ( $e) ( $( $arg) , * ) {
133132 Ok ( v) => $consume_v( ptr_to_ref_mut( this) , v) ,
134133 Err ( e) => e,
@@ -178,7 +177,10 @@ macro_rules! invoke_binder_maker_macro_with_type {
178177 $this,
179178 $consume_v,
180179 $fn,
181- |v| Ok ( Some ( Date ( v) ) ) ,
180+ |v| {
181+ use scylla:: frame:: value:: CqlDate ;
182+ Ok ( Some ( Date ( CqlDate ( v) ) ) )
183+ } ,
182184 [ v @ cass_uint32_t]
183185 ) ;
184186 } ;
@@ -295,7 +297,7 @@ macro_rules! invoke_binder_maker_macro_with_type {
295297 $consume_v,
296298 $fn,
297299 |p: * const crate :: tuple:: CassTuple | {
298- std :: convert :: TryInto :: try_into ( ptr_to_ref( p) ) . map ( Some )
300+ Ok ( Some ( ptr_to_ref( p) . into ( ) ) )
299301 } ,
300302 [ p @ * const crate :: tuple:: CassTuple ]
301303 ) ;
0 commit comments