Skip to main content

reifydb_core/value/column/push/
uint.rs

1// SPDX-License-Identifier: AGPL-3.0-or-later
2// Copyright (c) 2025 ReifyDB
3
4use reifydb_type::{storage::DataBitVec, value::uint::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::Option {
18				inner,
19				bitvec,
20			} => {
21				inner.push(value);
22				DataBitVec::push(bitvec, true);
23			}
24			_ => unreachable!("Push<Uint> for ColumnData with incompatible type"),
25		}
26	}
27}