voltdb_client_rust/
generate.rs

1use bytebuffer::ByteBuffer;
2
3use crate::encode::{*};
4use crate::table::VoltTable;
5
6impl VoltTable {
7    pub fn get_i8_by_column(&mut self, column: &str) -> Result<Option<i8>, VoltError> {
8        let idx = self.get_column_index(column)?;
9        return Ok(self.get_i8_by_idx(idx)?);
10    }
11
12    pub fn get_i8_by_idx(&mut self, column: i16) -> Result<Option<i8>, VoltError> {
13        let bs = self.get_bytes_by_idx(column)?;
14        if bs == NULL_BIT_VALUE {
15            return Ok(Option::None);
16        }
17        let mut buffer = ByteBuffer::from_bytes(&bs);
18        let value = buffer.read_i8()?;
19        return Ok(Some(value));
20    }
21
22
23    pub fn get_u8_by_column(&mut self, column: &str) -> Result<Option<u8>, VoltError> {
24        let idx = self.get_column_index(column)?;
25        return Ok(self.get_u8_by_idx(idx)?);
26    }
27
28    pub fn get_u8_by_idx(&mut self, column: i16) -> Result<Option<u8>, VoltError> {
29        let bs = self.get_bytes_by_idx(column)?;
30        if bs == NULL_BIT_VALUE {
31            return Ok(Option::None);
32        }
33        let mut buffer = ByteBuffer::from_bytes(&bs);
34        let value = buffer.read_u8()?;
35        return Ok(Some(value));
36    }
37
38
39    pub fn get_i16_by_column(&mut self, column: &str) -> Result<Option<i16>, VoltError> {
40        let idx = self.get_column_index(column)?;
41        return Ok(self.get_i16_by_idx(idx)?);
42    }
43
44    pub fn get_i16_by_idx(&mut self, column: i16) -> Result<Option<i16>, VoltError> {
45        let bs = self.get_bytes_by_idx(column)?;
46        if bs == NULL_SHORT_VALUE {
47            return Ok(Option::None);
48        }
49        let mut buffer = ByteBuffer::from_bytes(&bs);
50        let value = buffer.read_i16()?;
51        return Ok(Some(value));
52    }
53
54
55    pub fn get_u16_by_column(&mut self, column: &str) -> Result<Option<u16>, VoltError> {
56        let idx = self.get_column_index(column)?;
57        return Ok(self.get_u16_by_idx(idx)?);
58    }
59
60    pub fn get_u16_by_idx(&mut self, column: i16) -> Result<Option<u16>, VoltError> {
61        let bs = self.get_bytes_by_idx(column)?;
62        if bs == NULL_SHORT_VALUE {
63            return Ok(Option::None);
64        }
65        let mut buffer = ByteBuffer::from_bytes(&bs);
66        let value = buffer.read_u16()?;
67        return Ok(Some(value));
68    }
69
70
71    pub fn get_i32_by_column(&mut self, column: &str) -> Result<Option<i32>, VoltError> {
72        let idx = self.get_column_index(column)?;
73        return Ok(self.get_i32_by_idx(idx)?);
74    }
75
76    pub fn get_i32_by_idx(&mut self, column: i16) -> Result<Option<i32>, VoltError> {
77        let bs = self.get_bytes_by_idx(column)?;
78        if bs == NULL_INT_VALUE {
79            return Ok(Option::None);
80        }
81        let mut buffer = ByteBuffer::from_bytes(&bs);
82        let value = buffer.read_i32()?;
83        return Ok(Some(value));
84    }
85
86
87    pub fn get_u32_by_column(&mut self, column: &str) -> Result<Option<u32>, VoltError> {
88        let idx = self.get_column_index(column)?;
89        return Ok(self.get_u32_by_idx(idx)?);
90    }
91
92    pub fn get_u32_by_idx(&mut self, column: i16) -> Result<Option<u32>, VoltError> {
93        let bs = self.get_bytes_by_idx(column)?;
94        if bs == NULL_INT_VALUE {
95            return Ok(Option::None);
96        }
97        let mut buffer = ByteBuffer::from_bytes(&bs);
98        let value = buffer.read_u32()?;
99        return Ok(Some(value));
100    }
101
102
103    pub fn get_i64_by_column(&mut self, column: &str) -> Result<Option<i64>, VoltError> {
104        let idx = self.get_column_index(column)?;
105        return Ok(self.get_i64_by_idx(idx)?);
106    }
107
108    pub fn get_i64_by_idx(&mut self, column: i16) -> Result<Option<i64>, VoltError> {
109        let bs = self.get_bytes_by_idx(column)?;
110        if bs == NULL_LONG_VALUE {
111            return Ok(Option::None);
112        }
113        let mut buffer = ByteBuffer::from_bytes(&bs);
114        let value = buffer.read_i64()?;
115        return Ok(Some(value));
116    }
117
118
119    pub fn get_u64_by_column(&mut self, column: &str) -> Result<Option<u64>, VoltError> {
120        let idx = self.get_column_index(column)?;
121        return Ok(self.get_u64_by_idx(idx)?);
122    }
123
124    pub fn get_u64_by_idx(&mut self, column: i16) -> Result<Option<u64>, VoltError> {
125        let bs = self.get_bytes_by_idx(column)?;
126        if bs == NULL_LONG_VALUE {
127            return Ok(Option::None);
128        }
129        let mut buffer = ByteBuffer::from_bytes(&bs);
130        let value = buffer.read_u64()?;
131        return Ok(Some(value));
132    }
133
134
135    pub fn get_f32_by_column(&mut self, column: &str) -> Result<Option<f32>, VoltError> {
136        let idx = self.get_column_index(column)?;
137        return Ok(self.get_f32_by_idx(idx)?);
138    }
139
140    pub fn get_f32_by_idx(&mut self, column: i16) -> Result<Option<f32>, VoltError> {
141        let bs = self.get_bytes_by_idx(column)?;
142        if bs == NULL_FLOAT_VALUE {
143            return Ok(Option::None);
144        }
145        let mut buffer = ByteBuffer::from_bytes(&bs);
146        let value = buffer.read_f32()?;
147        return Ok(Some(value));
148    }
149
150
151    pub fn get_f64_by_column(&mut self, column: &str) -> Result<Option<f64>, VoltError> {
152        let idx = self.get_column_index(column)?;
153        return Ok(self.get_f64_by_idx(idx)?);
154    }
155
156    pub fn get_f64_by_idx(&mut self, column: i16) -> Result<Option<f64>, VoltError> {
157        let bs = self.get_bytes_by_idx(column)?;
158        if bs == NULL_FLOAT_VALUE {
159            return Ok(Option::None);
160        }
161        let mut buffer = ByteBuffer::from_bytes(&bs);
162        let value = buffer.read_f64()?;
163        return Ok(Some(value));
164    }
165}