@@ -17,12 +17,13 @@ use crate::frame::protocol_features::ProtocolFeatures;
1717use crate :: frame:: {
1818 self ,
1919 request:: { self , batch, execute, query, register, SerializableRequest } ,
20- response:: { event:: Event , result, NonErrorResponse , Response , ResponseOpcode } ,
20+ response:: { event:: Event , result, Response , ResponseOpcode } ,
2121 server_event_type:: EventType ,
2222 FrameParams , SerializedRequest ,
2323} ;
2424use crate :: policies:: address_translator:: AddressTranslator ;
2525use crate :: query:: Query ;
26+ use crate :: response:: { NonErrorAuthResponse , NonErrorStartupResponse , QueryResponse } ;
2627use crate :: routing:: locator:: tablets:: { RawTablet , TabletParsingError } ;
2728use crate :: routing:: { Shard , ShardInfo , Sharder } ;
2829use crate :: statement:: prepared_statement:: PreparedStatement ;
@@ -208,105 +209,6 @@ struct TaskResponse {
208209 body : Bytes ,
209210}
210211
211- pub ( crate ) struct QueryResponse {
212- pub ( crate ) response : Response ,
213- pub ( crate ) tracing_id : Option < Uuid > ,
214- pub ( crate ) warnings : Vec < String > ,
215- #[ allow( dead_code) ] // This is not exposed to user (yet?)
216- pub ( crate ) custom_payload : Option < HashMap < String , Bytes > > ,
217- }
218-
219- // A QueryResponse in which response can not be Response::Error
220- pub ( crate ) struct NonErrorQueryResponse {
221- pub ( crate ) response : NonErrorResponse ,
222- pub ( crate ) tracing_id : Option < Uuid > ,
223- pub ( crate ) warnings : Vec < String > ,
224- }
225-
226- impl QueryResponse {
227- pub ( crate ) fn into_non_error_query_response (
228- self ,
229- ) -> Result < NonErrorQueryResponse , UserRequestError > {
230- Ok ( NonErrorQueryResponse {
231- response : self . response . into_non_error_response ( ) ?,
232- tracing_id : self . tracing_id ,
233- warnings : self . warnings ,
234- } )
235- }
236-
237- pub ( crate ) fn into_query_result_and_paging_state (
238- self ,
239- ) -> Result < ( QueryResult , PagingStateResponse ) , UserRequestError > {
240- self . into_non_error_query_response ( ) ?
241- . into_query_result_and_paging_state ( )
242- }
243-
244- pub ( crate ) fn into_query_result ( self ) -> Result < QueryResult , QueryError > {
245- self . into_non_error_query_response ( ) ?. into_query_result ( )
246- }
247- }
248-
249- impl NonErrorQueryResponse {
250- pub ( crate ) fn as_set_keyspace ( & self ) -> Option < & result:: SetKeyspace > {
251- match & self . response {
252- NonErrorResponse :: Result ( result:: Result :: SetKeyspace ( sk) ) => Some ( sk) ,
253- _ => None ,
254- }
255- }
256-
257- pub ( crate ) fn as_schema_change ( & self ) -> Option < & result:: SchemaChange > {
258- match & self . response {
259- NonErrorResponse :: Result ( result:: Result :: SchemaChange ( sc) ) => Some ( sc) ,
260- _ => None ,
261- }
262- }
263-
264- pub ( crate ) fn into_query_result_and_paging_state (
265- self ,
266- ) -> Result < ( QueryResult , PagingStateResponse ) , UserRequestError > {
267- let ( raw_rows, paging_state_response) = match self . response {
268- NonErrorResponse :: Result ( result:: Result :: Rows ( ( rs, paging_state_response) ) ) => {
269- ( Some ( rs) , paging_state_response)
270- }
271- NonErrorResponse :: Result ( _) => ( None , PagingStateResponse :: NoMorePages ) ,
272- _ => {
273- return Err ( UserRequestError :: UnexpectedResponse (
274- self . response . to_response_kind ( ) ,
275- ) )
276- }
277- } ;
278-
279- Ok ( (
280- QueryResult :: new ( raw_rows, self . tracing_id , self . warnings ) ,
281- paging_state_response,
282- ) )
283- }
284-
285- pub ( crate ) fn into_query_result ( self ) -> Result < QueryResult , QueryError > {
286- let ( result, paging_state) = self . into_query_result_and_paging_state ( ) ?;
287-
288- if !paging_state. finished ( ) {
289- error ! (
290- "Internal driver API misuse or a server bug: nonfinished paging state\
291- would be discarded by `NonErrorQueryResponse::into_query_result`"
292- ) ;
293- return Err ( ProtocolError :: NonfinishedPagingState . into ( ) ) ;
294- }
295-
296- Ok ( result)
297- }
298- }
299-
300- pub ( crate ) enum NonErrorStartupResponse {
301- Ready ,
302- Authenticate ( response:: authenticate:: Authenticate ) ,
303- }
304-
305- pub ( crate ) enum NonErrorAuthResponse {
306- AuthChallenge ( response:: authenticate:: AuthChallenge ) ,
307- AuthSuccess ( response:: authenticate:: AuthSuccess ) ,
308- }
309-
310212#[ cfg( feature = "ssl" ) ]
311213mod ssl_config {
312214 use openssl:: {
0 commit comments