voltdb-client-rust 0.1.11

A socket client library for Voltdb server
Documentation
use bytebuffer::ByteBuffer;

use crate::encode::{*};
use crate::table::VoltTable;

impl VoltTable {
    pub fn get_i8_by_column(&mut self, column: &str) -> Result<Option<i8>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_i8_by_idx(idx)?);
    }

    pub fn get_i8_by_idx(&mut self, column: i16) -> Result<Option<i8>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_BIT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_i8()?;
        return Ok(Some(value));
    }


    pub fn get_u8_by_column(&mut self, column: &str) -> Result<Option<u8>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_u8_by_idx(idx)?);
    }

    pub fn get_u8_by_idx(&mut self, column: i16) -> Result<Option<u8>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_BIT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_u8()?;
        return Ok(Some(value));
    }


    pub fn get_i16_by_column(&mut self, column: &str) -> Result<Option<i16>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_i16_by_idx(idx)?);
    }

    pub fn get_i16_by_idx(&mut self, column: i16) -> Result<Option<i16>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_SHORT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_i16()?;
        return Ok(Some(value));
    }


    pub fn get_u16_by_column(&mut self, column: &str) -> Result<Option<u16>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_u16_by_idx(idx)?);
    }

    pub fn get_u16_by_idx(&mut self, column: i16) -> Result<Option<u16>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_SHORT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_u16()?;
        return Ok(Some(value));
    }


    pub fn get_i32_by_column(&mut self, column: &str) -> Result<Option<i32>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_i32_by_idx(idx)?);
    }

    pub fn get_i32_by_idx(&mut self, column: i16) -> Result<Option<i32>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_INT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_i32()?;
        return Ok(Some(value));
    }


    pub fn get_u32_by_column(&mut self, column: &str) -> Result<Option<u32>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_u32_by_idx(idx)?);
    }

    pub fn get_u32_by_idx(&mut self, column: i16) -> Result<Option<u32>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_INT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_u32()?;
        return Ok(Some(value));
    }


    pub fn get_i64_by_column(&mut self, column: &str) -> Result<Option<i64>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_i64_by_idx(idx)?);
    }

    pub fn get_i64_by_idx(&mut self, column: i16) -> Result<Option<i64>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_LONG_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_i64()?;
        return Ok(Some(value));
    }


    pub fn get_u64_by_column(&mut self, column: &str) -> Result<Option<u64>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_u64_by_idx(idx)?);
    }

    pub fn get_u64_by_idx(&mut self, column: i16) -> Result<Option<u64>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_LONG_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_u64()?;
        return Ok(Some(value));
    }


    pub fn get_f32_by_column(&mut self, column: &str) -> Result<Option<f32>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_f32_by_idx(idx)?);
    }

    pub fn get_f32_by_idx(&mut self, column: i16) -> Result<Option<f32>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_FLOAT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_f32()?;
        return Ok(Some(value));
    }


    pub fn get_f64_by_column(&mut self, column: &str) -> Result<Option<f64>, VoltError> {
        let idx = self.get_column_index(column)?;
        return Ok(self.get_f64_by_idx(idx)?);
    }

    pub fn get_f64_by_idx(&mut self, column: i16) -> Result<Option<f64>, VoltError> {
        let bs = self.get_bytes_by_idx(column)?;
        if bs == NULL_FLOAT_VALUE {
            return Ok(Option::None);
        }
        let mut buffer = ByteBuffer::from_bytes(&bs);
        let value = buffer.read_f64()?;
        return Ok(Some(value));
    }
}