zero_mysql/protocol/
row.rs

1use crate::value::NullBitmap;
2
3/// The payload part of a row packet.
4#[derive(Debug, Clone)]
5pub struct BinaryRowPayload<'a> {
6    null_bitmap: NullBitmap<'a>,
7    values: &'a [u8],
8    num_columns: usize,
9}
10
11impl<'a> BinaryRowPayload<'a> {
12    pub fn new(null_bitmap: NullBitmap<'a>, values: &'a [u8], num_columns: usize) -> Self {
13        Self {
14            null_bitmap,
15            values,
16            num_columns,
17        }
18    }
19
20    pub fn null_bitmap(&self) -> NullBitmap<'_> {
21        self.null_bitmap
22    }
23
24    pub fn values(&self) -> &'a [u8] {
25        self.values
26    }
27
28    pub fn num_columns(&self) -> usize {
29        self.num_columns
30    }
31}
32
33/// The payload part of a row packet.
34#[derive(Debug, Clone, Copy)]
35pub struct TextRowPayload<'a>(pub &'a [u8]);