@@ -435,16 +435,17 @@ impl InnerConnection {
435435 fn raw_prepare ( & mut self , stmt_name : & str , query : & str ) -> Result < ( Vec < Type > , Vec < Column > ) > {
436436 debug ! ( "preparing query with name `{}`: {}" , stmt_name, query) ;
437437
438- try!( self . write_messages ( & [ Frontend :: Parse {
439- name : stmt_name,
440- query : query,
441- param_types : & [ ] ,
442- } ,
443- Frontend :: Describe {
444- variant : b'S' ,
445- name : stmt_name,
446- } ,
447- Frontend :: Sync ] ) ) ;
438+ try!( self . write_message ( & frontend:: Parse {
439+ name : stmt_name,
440+ query : query,
441+ param_types : & [ ] ,
442+ } ) ) ;
443+ try!( self . write_message ( & frontend:: Describe {
444+ variant : b'S' ,
445+ name : stmt_name,
446+ } ) ) ;
447+ try!( self . write_message ( & frontend:: Sync ) ) ;
448+ try!( self . stream . flush ( ) ) ;
448449
449450 match try!( self . read_message ( ) ) {
450451 Backend :: ParseComplete => { }
@@ -499,11 +500,11 @@ impl InnerConnection {
499500 return DbError :: new ( fields) ;
500501 }
501502 Backend :: CopyInResponse { .. } => {
502- try!( self . write_messages ( & [ Frontend :: CopyFail {
503- message : "COPY queries cannot be directly \
504- executed" ,
505- } ,
506- Frontend :: Sync ] ) ) ;
503+ try!( self . write_message ( & frontend :: CopyFail {
504+ message : "COPY queries cannot be directly executed" ,
505+ } ) ) ;
506+ try! ( self . write_message ( & frontend :: Sync ) ) ;
507+ try! ( self . stream . flush ( ) ) ;
507508 }
508509 Backend :: CopyOutResponse { .. } => {
509510 loop {
@@ -548,18 +549,19 @@ impl InnerConnection {
548549 }
549550 }
550551
551- try!( self . write_messages ( & [ Frontend :: Bind {
552- portal : portal_name,
553- statement : & stmt_name,
554- formats : & [ 1 ] ,
555- values : & values,
556- result_formats : & [ 1 ] ,
557- } ,
558- Frontend :: Execute {
559- portal : portal_name,
560- max_rows : row_limit,
561- } ,
562- Frontend :: Sync ] ) ) ;
552+ try!( self . write_message ( & frontend:: Bind {
553+ portal : portal_name,
554+ statement : & stmt_name,
555+ formats : & [ 1 ] ,
556+ values : & values,
557+ result_formats : & [ 1 ] ,
558+ } ) ) ;
559+ try!( self . write_message ( & frontend:: Execute {
560+ portal : portal_name,
561+ max_rows : row_limit,
562+ } ) ) ;
563+ try!( self . write_message ( & frontend:: Sync ) ) ;
564+ try!( self . stream . flush ( ) ) ;
563565
564566 match try!( self . read_message ( ) ) {
565567 Backend :: BindComplete => Ok ( ( ) ) ,
@@ -613,11 +615,12 @@ impl InnerConnection {
613615 }
614616
615617 fn close_statement ( & mut self , name : & str , type_ : u8 ) -> Result < ( ) > {
616- try!( self . write_messages ( & [ Frontend :: Close {
617- variant : type_,
618- name : name,
619- } ,
620- Frontend :: Sync ] ) ) ;
618+ try!( self . write_message ( & frontend:: Close {
619+ variant : type_,
620+ name : name,
621+ } ) ) ;
622+ try!( self . write_message ( & frontend:: Sync ) ) ;
623+ try!( self . stream . flush ( ) ) ;
621624 let resp = match try!( self . read_message ( ) ) {
622625 Backend :: CloseComplete => Ok ( ( ) ) ,
623626 Backend :: ErrorResponse { fields } => DbError :: new ( fields) ,
@@ -816,7 +819,8 @@ impl InnerConnection {
816819 fn quick_query ( & mut self , query : & str ) -> Result < Vec < Vec < Option < String > > > > {
817820 check_desync ! ( self ) ;
818821 debug ! ( "executing query: {}" , query) ;
819- try!( self . write_messages ( & [ Frontend :: Query { query : query } ] ) ) ;
822+ try!( self . write_message ( & frontend:: Query { query : query } ) ) ;
823+ try!( self . stream . flush ( ) ) ;
820824
821825 let mut result = vec ! [ ] ;
822826 loop {
@@ -830,11 +834,11 @@ impl InnerConnection {
830834 . collect ( ) ) ;
831835 }
832836 Backend :: CopyInResponse { .. } => {
833- try!( self . write_messages ( & [ Frontend :: CopyFail {
834- message : "COPY queries cannot be directly \
835- executed" ,
836- } ,
837- Frontend :: Sync ] ) ) ;
837+ try!( self . write_message ( & frontend :: CopyFail {
838+ message : "COPY queries cannot be directly executed" ,
839+ } ) ) ;
840+ try! ( self . write_message ( & frontend :: Sync ) ) ;
841+ try! ( self . stream . flush ( ) ) ;
838842 }
839843 Backend :: ErrorResponse { fields } => {
840844 try!( self . wait_for_ready ( ) ) ;
@@ -848,7 +852,8 @@ impl InnerConnection {
848852
849853 fn finish_inner ( & mut self ) -> Result < ( ) > {
850854 check_desync ! ( self ) ;
851- try!( self . write_messages ( & [ Frontend :: Terminate ] ) ) ;
855+ try!( self . write_message ( & frontend:: Terminate ) ) ;
856+ try!( self . stream . flush ( ) ) ;
852857 Ok ( ( ) )
853858 }
854859}
0 commit comments