MCPcopy Create free account
hub / github.com/PerroEngine/Perro / parse_csv_static

Function parse_csv_static

perro_source/core/perro_csv/src/lib.rs:973–1009  ·  view source on GitHub ↗
(bytes: &[u8])

Source from the content-addressed store, hash-verified

971enum CandidateSeed<'a> {
972 One(u64),
973 Many(&'a [u64]),
974}
975
976fn compare_bool(equal: bool, op: CsvCompare) -> bool {
977 match op {
978 CsvCompare::Eq => equal,
979 CsvCompare::Ne => !equal,
980 _ => false,
981 }
982}
983
984fn compare_ord(ord: std::cmp::Ordering, op: CsvCompare) -> bool {
985 match op {
986 CsvCompare::Eq => ord == std::cmp::Ordering::Equal,
987 CsvCompare::Ne => ord != std::cmp::Ordering::Equal,
988 CsvCompare::Lt => ord == std::cmp::Ordering::Less,
989 CsvCompare::Le => ord != std::cmp::Ordering::Greater,
990 CsvCompare::Gt => ord == std::cmp::Ordering::Greater,
991 CsvCompare::Ge => ord != std::cmp::Ordering::Less,
992 }
993}
994
995#[derive(Clone, Debug)]
996pub struct CSVQueryResult {
997 table: &'static Csv,
998 rows: Vec<usize>,
999 /// `None` = all columns (identity), avoids materializing `0..col_count`.
1000 select_cols: Option<Vec<usize>>,
1001}
1002
1003impl CSVQueryResult {
1004 #[inline]
1005 pub fn len(&self) -> usize {
1006 self.rows.len()
1007 }
1008
1009 #[inline]
1010 pub fn is_empty(&self) -> bool {
1011 self.rows.is_empty()
1012 }

Callers 8

huge_csv_benchFunction · 0.85
csv_promotes_to_bufFunction · 0.85
time_capped_load_parseFunction · 0.85
load_csv_bytesMethod · 0.85

Calls 7

leak_cellsFunction · 0.85
cloneMethod · 0.80
headersMethod · 0.80
iterMethod · 0.45
lenMethod · 0.45
insertMethod · 0.45
pushMethod · 0.45