Protocol updates

This commit is contained in:
Steven Fackler 2016-09-20 09:40:59 -04:00
parent 16ce48a510
commit 1062b2a4d6
2 changed files with 17 additions and 11 deletions

View File

@ -471,8 +471,8 @@ impl InnerConnection {
return DbError::new(fields); return DbError::new(fields);
} }
backend::Message::CopyInResponse { .. } => { backend::Message::CopyInResponse { .. } => {
try!(self.stream.write_message(&frontend::CopyFail { try!(self.stream.write_message2(|buf| {
message: "COPY queries cannot be directly executed", frontend::copy_fail("COPY queries cannot be directly executed", buf)
})); }));
try!(self.stream.write_message(&frontend::Sync)); try!(self.stream.write_message(&frontend::Sync));
try!(self.stream.flush()); try!(self.stream.flush());
@ -819,8 +819,8 @@ impl InnerConnection {
.collect()); .collect());
} }
backend::Message::CopyInResponse { .. } => { backend::Message::CopyInResponse { .. } => {
try!(self.stream.write_message(&frontend::CopyFail { try!(self.stream.write_message2(|buf| {
message: "COPY queries cannot be directly executed", frontend::copy_fail("COPY queries cannot be directly executed", buf)
})); }));
try!(self.stream.write_message(&frontend::Sync)); try!(self.stream.write_message(&frontend::Sync));
try!(self.stream.flush()); try!(self.stream.flush());

View File

@ -146,8 +146,8 @@ impl<'conn> Statement<'conn> {
break; break;
} }
backend::Message::CopyInResponse { .. } => { backend::Message::CopyInResponse { .. } => {
try!(conn.stream.write_message(&frontend::CopyFail { try!(conn.stream.write_message2(|buf| {
message: "COPY queries cannot be directly executed", frontend::copy_fail("COPY queries cannot be directly executed", buf)
})); }));
try!(conn.stream.write_message(&frontend::Sync)); try!(conn.stream.write_message(&frontend::Sync));
try!(conn.stream.flush()); try!(conn.stream.flush());
@ -299,8 +299,10 @@ impl<'conn> Statement<'conn> {
try!(info.conn.stream.write_message(&frontend::CopyData { data: &buf[..len] })); try!(info.conn.stream.write_message(&frontend::CopyData { data: &buf[..len] }));
} }
Err(err) => { Err(err) => {
try!(info.conn.stream.write_message(&frontend::CopyFail { message: "" })); try!(info.conn.stream.write_message2(|buf| frontend::copy_fail("", buf)));
try!(info.conn.stream.write_message(&frontend::CopyDone)); try!(info.conn.stream.write_message2(|buf| {
Ok::<(), io::Error>(frontend::copy_done(buf))
}));
try!(info.conn.stream.write_message(&frontend::Sync)); try!(info.conn.stream.write_message(&frontend::Sync));
try!(info.conn.stream.flush()); try!(info.conn.stream.flush());
match try!(info.conn.read_message()) { match try!(info.conn.read_message()) {
@ -318,7 +320,9 @@ impl<'conn> Statement<'conn> {
} }
} }
try!(info.conn.stream.write_message(&frontend::CopyDone)); try!(info.conn.stream.write_message2(|buf| {
Ok::<(), io::Error>(frontend::copy_done(buf))
}));
try!(info.conn.stream.write_message(&frontend::Sync)); try!(info.conn.stream.write_message(&frontend::Sync));
try!(info.conn.stream.flush()); try!(info.conn.stream.flush());
@ -369,8 +373,10 @@ impl<'conn> Statement<'conn> {
(format, column_formats) (format, column_formats)
} }
backend::Message::CopyInResponse { .. } => { backend::Message::CopyInResponse { .. } => {
try!(conn.stream.write_message(&frontend::CopyFail { message: "" })); try!(conn.stream.write_message2(|buf| frontend::copy_fail("", buf)));
try!(conn.stream.write_message(&frontend::CopyDone)); try!(conn.stream.write_message2(|buf| {
Ok::<(), io::Error>(frontend::copy_done(buf))
}));
try!(conn.stream.write_message(&frontend::Sync)); try!(conn.stream.write_message(&frontend::Sync));
try!(conn.stream.flush()); try!(conn.stream.flush());
match try!(conn.read_message()) { match try!(conn.read_message()) {