diff --git a/src/postgres/protocol/parse.rs b/src/postgres/protocol/parse.rs index d44ff31e..680ae0fe 100644 --- a/src/postgres/protocol/parse.rs +++ b/src/postgres/protocol/parse.rs @@ -3,7 +3,7 @@ use crate::io::BufMut; use byteorder::NetworkEndian; pub struct Parse<'a> { - pub portal: &'a str, + pub statement: &'a str, pub query: &'a str, pub param_types: &'a [u32], } @@ -12,11 +12,13 @@ impl Encode for Parse<'_> { fn encode(&self, buf: &mut Vec) { buf.push(b'P'); - // len + portal + nul + query + null + len(param_types) + param_types - let len = 4 + self.portal.len() + 1 + self.query.len() + 1 + 2 + self.param_types.len() * 4; + // len + statement + nul + query + null + len(param_types) + param_types + let len = + 4 + self.statement.len() + 1 + self.query.len() + 1 + 2 + self.param_types.len() * 4; + buf.put_i32::(len as i32); - buf.put_str_nul(self.portal); + buf.put_str_nul(self.statement); buf.put_str_nul(self.query); buf.put_i16::(self.param_types.len() as i16);