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::IdentityId(container) => ColumnData::IdentityId(container.take(num)),
35 ColumnData::Uuid4(container) => ColumnData::Uuid4(container.take(num)),
36 ColumnData::Uuid7(container) => ColumnData::Uuid7(container.take(num)),
37 ColumnData::Blob {
38 container,
39 max_bytes,
40 } => ColumnData::Blob {
41 container: container.take(num),
42 max_bytes: *max_bytes,
43 },
44 ColumnData::Int {
45 container,
46 max_bytes,
47 } => ColumnData::Int {
48 container: container.take(num),
49 max_bytes: *max_bytes,
50 },
51 ColumnData::Uint {
52 container,
53 max_bytes,
54 } => ColumnData::Uint {
55 container: container.take(num),
56 max_bytes: *max_bytes,
57 },
58 ColumnData::Decimal {
59 container,
60 precision,
61 scale,
62 } => ColumnData::Decimal {
63 container: container.take(num),
64 precision: *precision,
65 scale: *scale,
66 },
67 ColumnData::Any(container) => ColumnData::Any(container.take(num)),
68 }
69 }
70}