@@ -3,7 +3,7 @@ use std::marker::PhantomData;
3
3
use clickhouse:: { query:: Query , * } ;
4
4
use eyre:: Result ;
5
5
6
- use super :: { dbms:: ClickhouseDBMS , errors :: ClickhouseError , types:: ClickhouseQuery } ;
6
+ use super :: { dbms:: ClickhouseDBMS , types:: ClickhouseQuery } ;
7
7
use crate :: { errors:: DatabaseError , params:: BindParameters , Database , DatabaseTable } ;
8
8
9
9
#[ derive( Clone ) ]
@@ -39,50 +39,33 @@ where
39
39
async fn insert_one < T : DatabaseTable > ( & self , value : & T :: DataType ) -> Result < ( ) , DatabaseError > {
40
40
let mut insert = self
41
41
. client
42
- . insert ( Self :: DBMS :: from_database_table_str ( T :: NAME ) . full_name ( ) )
43
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: InsertError ( e. to_string ( ) ) ) ) ?;
42
+ . insert ( Self :: DBMS :: from_database_table_str ( T :: NAME ) . full_name ( ) ) ?;
44
43
45
- insert
46
- . write ( value)
47
- . await
48
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: InsertError ( e. to_string ( ) ) ) ) ?;
44
+ insert. write ( value) . await ?;
49
45
50
- insert
51
- . end ( )
52
- . await
53
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: InsertError ( e. to_string ( ) ) ) ) ?;
46
+ insert. end ( ) . await ?;
54
47
55
48
Ok ( ( ) )
56
49
}
57
50
58
51
async fn insert_many < T : DatabaseTable > ( & self , values : & [ T :: DataType ] ) -> Result < ( ) , DatabaseError > {
59
52
let mut insert = self
60
53
. client
61
- . insert ( Self :: DBMS :: from_database_table_str ( T :: NAME ) . full_name ( ) )
62
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: InsertError ( e. to_string ( ) ) ) ) ?;
54
+ . insert ( Self :: DBMS :: from_database_table_str ( T :: NAME ) . full_name ( ) ) ?;
63
55
64
56
for value in values {
65
- insert
66
- . write ( value)
67
- . await
68
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: InsertError ( e. to_string ( ) ) ) ) ?;
57
+ insert. write ( value) . await ?;
69
58
}
70
59
71
- insert
72
- . end ( )
73
- . await
74
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: InsertError ( e. to_string ( ) ) ) ) ?;
60
+ insert. end ( ) . await ?;
75
61
76
62
Ok ( ( ) )
77
63
}
78
64
79
65
async fn query_one < Q : ClickhouseQuery , P : BindParameters > ( & self , query : impl AsRef < str > + Send , params : & P ) -> Result < Q , DatabaseError > {
80
66
let query = params. bind_query ( self . client . query ( query. as_ref ( ) ) ) ;
81
67
82
- let res = query
83
- . fetch_one :: < Q > ( )
84
- . await
85
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: QueryError ( e. to_string ( ) ) ) ) ?;
68
+ let res = query. fetch_one :: < Q > ( ) . await ?;
86
69
87
70
Ok ( res)
88
71
}
@@ -94,40 +77,28 @@ where
94
77
) -> Result < Option < Q > , DatabaseError > {
95
78
let query = params. bind_query ( self . client . query ( query. as_ref ( ) ) ) ;
96
79
97
- let res = query
98
- . fetch_optional :: < Q > ( )
99
- . await
100
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: QueryError ( e. to_string ( ) ) ) ) ?;
80
+ let res = query. fetch_optional :: < Q > ( ) . await ?;
101
81
102
82
Ok ( res)
103
83
}
104
84
105
85
async fn query_many < Q : ClickhouseQuery , P : BindParameters > ( & self , query : impl AsRef < str > + Send , params : & P ) -> Result < Vec < Q > , DatabaseError > {
106
86
let query = params. bind_query ( self . client . query ( query. as_ref ( ) ) ) ;
107
87
108
- let res = query
109
- . fetch_all :: < Q > ( )
110
- . await
111
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: QueryError ( e. to_string ( ) ) ) ) ?;
88
+ let res = query. fetch_all :: < Q > ( ) . await ?;
112
89
113
90
Ok ( res)
114
91
}
115
92
116
93
async fn query_raw < Q : ClickhouseQuery , P : BindParameters > ( & self , query : impl AsRef < str > + Send , params : & P ) -> Result < Vec < u8 > , DatabaseError > {
117
94
let query = params. bind_query ( self . client . query ( query. as_ref ( ) ) ) ;
118
- query
119
- . fetch_raw :: < Q > ( )
120
- . await
121
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: QueryError ( e. to_string ( ) ) ) )
95
+ Ok ( query. fetch_raw :: < Q > ( ) . await ?)
122
96
}
123
97
124
98
async fn execute_remote < P : BindParameters > ( & self , query : impl AsRef < str > + Send , params : & P ) -> Result < ( ) , DatabaseError > {
125
99
let query = params. bind_query ( self . client . query ( query. as_ref ( ) ) ) ;
126
100
127
- query
128
- . execute ( )
129
- . await
130
- . map_err ( |e| DatabaseError :: from ( ClickhouseError :: QueryError ( e. to_string ( ) ) ) ) ?;
101
+ query. execute ( ) . await ?;
131
102
132
103
Ok ( ( ) )
133
104
}
0 commit comments