zero_mysql/protocol/command/
text.rs

1use crate::constant::CommandByte;
2use crate::error::Result;
3use crate::protocol::primitive::*;
4
5/// Write COM_QUERY command
6pub fn write_query(out: &mut Vec<u8>, sql: &str) {
7    write_int_1(out, CommandByte::Query as u8);
8    out.extend_from_slice(sql.as_bytes());
9}
10
11/// Result set metadata header
12#[derive(Debug, Clone)]
13pub struct ResultSetHeader {
14    pub column_count: u64,
15}
16
17/// Read text protocol result set header (column count)
18pub fn read_text_resultset_header(payload: &[u8]) -> Result<ResultSetHeader> {
19    let (column_count, _rest) = read_int_lenenc(payload)?;
20    Ok(ResultSetHeader { column_count })
21}