mirror of
https://github.com/launchbadge/sqlx
synced 2024-09-21 23:01:55 +00:00
Parse outputs a statement, not a portal
This commit is contained in:
parent
0c945cbbe2
commit
451e0ee73f
1 changed files with 6 additions and 4 deletions
|
@ -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<u8>) {
|
||||
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::<NetworkEndian>(len as i32);
|
||||
|
||||
buf.put_str_nul(self.portal);
|
||||
buf.put_str_nul(self.statement);
|
||||
buf.put_str_nul(self.query);
|
||||
|
||||
buf.put_i16::<NetworkEndian>(self.param_types.len() as i16);
|
||||
|
|
Loading…
Reference in a new issue