reifydb_core/value/column/data/
take.rs1use crate::value::column::ColumnData;
5
6impl ColumnData {
7 pub fn take(&self, num: usize) -> ColumnData {
8 match self {
9 ColumnData::Bool(container) => ColumnData::Bool(container.take(num)),
10 ColumnData::Float4(container) => ColumnData::Float4(container.take(num)),
11 ColumnData::Float8(container) => ColumnData::Float8(container.take(num)),
12 ColumnData::Int1(container) => ColumnData::Int1(container.take(num)),
13 ColumnData::Int2(container) => ColumnData::Int2(container.take(num)),
14 ColumnData::Int4(container) => ColumnData::Int4(container.take(num)),
15 ColumnData::Int8(container) => ColumnData::Int8(container.take(num)),
16 ColumnData::Int16(container) => ColumnData::Int16(container.take(num)),
17 ColumnData::Utf8 {
18 container,
19 max_bytes,
20 } => ColumnData::Utf8 {
21 container: container.take(num),
22 max_bytes: *max_bytes,
23 },
24 ColumnData::Uint1(container) => ColumnData::Uint1(container.take(num)),
25 ColumnData::Uint2(container) => ColumnData::Uint2(container.take(num)),
26 ColumnData::Uint4(container) => ColumnData::Uint4(container.take(num)),
27 ColumnData::Uint8(container) => ColumnData::Uint8(container.take(num)),
28 ColumnData::Uint16(container) => ColumnData::Uint16(container.take(num)),
29 ColumnData::Date(container) => ColumnData::Date(container.take(num)),
30 ColumnData::DateTime(container) => ColumnData::DateTime(container.take(num)),
31 ColumnData::Time(container) => ColumnData::Time(container.take(num)),
32 ColumnData::Duration(container) => ColumnData::Duration(container.take(num)),
33 ColumnData::Undefined(container) => ColumnData::Undefined(container.take(num)),
34 ColumnData::RowNumber(container) => ColumnData::RowNumber(container.take(num)),
35 ColumnData::IdentityId(container) => ColumnData::IdentityId(container.take(num)),
36 ColumnData::Uuid4(container) => ColumnData::Uuid4(container.take(num)),
37 ColumnData::Uuid7(container) => ColumnData::Uuid7(container.take(num)),
38 ColumnData::Blob {
39 container,
40 max_bytes,
41 } => ColumnData::Blob {
42 container: container.take(num),
43 max_bytes: *max_bytes,
44 },
45 ColumnData::Int {
46 container,
47 max_bytes,
48 } => ColumnData::Int {
49 container: container.take(num),
50 max_bytes: *max_bytes,
51 },
52 ColumnData::Uint {
53 container,
54 max_bytes,
55 } => ColumnData::Uint {
56 container: container.take(num),
57 max_bytes: *max_bytes,
58 },
59 ColumnData::Decimal {
60 container,
61 precision,
62 scale,
63 } => ColumnData::Decimal {
64 container: container.take(num),
65 precision: *precision,
66 scale: *scale,
67 },
68 ColumnData::Any(container) => ColumnData::Any(container.take(num)),
69 }
70 }
71}