reifydb_core/value/column/push/
uint.rs1use reifydb_type::Uint;
5
6use crate::value::column::{ColumnData, push::Push};
7
8impl Push<Uint> for ColumnData {
9 fn push(&mut self, value: Uint) {
10 match self {
11 ColumnData::Uint {
12 container,
13 ..
14 } => {
15 container.push(value);
16 }
17 ColumnData::Undefined(container) => {
18 let mut new_container = ColumnData::uint_with_capacity(container.len());
19
20 if let ColumnData::Uint {
21 container: new_container,
22 ..
23 } = &mut new_container
24 {
25 for _ in 0..container.len() {
26 new_container.push_undefined();
27 }
28 new_container.push(value);
29 }
30 *self = new_container;
31 }
32 _ => unreachable!("Push<Uint> for ColumnData with incompatible type"),
33 }
34 }
35}