Skip to content

Commit b578073

Browse files
committed
Refactor.
1 parent cffead0 commit b578073

5 files changed

Lines changed: 38 additions & 50 deletions

File tree

rust/experimental/query_engine/engine-columnar-otap-bridge/src/arrow_helpers.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,11 @@ where
152152

153153
Some(match transformed_values.len() {
154154
v if v < u8::MAX as usize => Arc::new(DictionaryArray::<UInt8Type>::new(
155-
keys.transform_into_key_array(lookup),
155+
keys.into_key_array(lookup),
156156
Arc::new(transformed_values),
157157
)),
158158
_ => Arc::new(DictionaryArray::<UInt16Type>::new(
159-
keys.transform_into_key_array(lookup),
159+
keys.into_key_array(lookup),
160160
Arc::new(transformed_values),
161161
)),
162162
})

rust/experimental/query_engine/engine-columnar-otap-bridge/src/logs.rs

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,59 +1415,51 @@ impl OtapLogRecordField {
14151415
primitive_array_writer(
14161416
keys,
14171417
values,
1418-
DictionaryValueArray::transform_into_timestamp_nanoseconds_array,
1418+
DictionaryValueArray::into_timestamp_nanoseconds_array,
14191419
)
14201420
}),
14211421
OtapLogRecordField::ObservedTimeUnixNano => {
14221422
(consts::OBSERVED_TIME_UNIX_NANO, |keys, values| {
14231423
primitive_array_writer(
14241424
keys,
14251425
values,
1426-
DictionaryValueArray::transform_into_timestamp_nanoseconds_array,
1426+
DictionaryValueArray::into_timestamp_nanoseconds_array,
14271427
)
14281428
})
14291429
}
14301430
OtapLogRecordField::SeverityNumber => (consts::SEVERITY_NUMBER, |keys, values| {
14311431
adaptive_dictionary_writer(
14321432
keys,
14331433
values,
1434-
DictionaryValueArray::transform_into_int_array::<Int32Type>,
1434+
DictionaryValueArray::into_int_array::<Int32Type>,
14351435
)
14361436
}),
14371437
OtapLogRecordField::SeverityText => (consts::SEVERITY_TEXT, |keys, values| {
1438-
adaptive_dictionary_writer(
1439-
keys,
1440-
values,
1441-
DictionaryValueArray::transform_into_string_array,
1442-
)
1438+
adaptive_dictionary_writer(keys, values, DictionaryValueArray::into_string_array)
14431439
}),
14441440
OtapLogRecordField::TraceId => (consts::TRACE_ID, |keys, values| {
14451441
adaptive_dictionary_writer(
14461442
keys,
14471443
values,
1448-
DictionaryValueArray::transform_into_fixed_sized_binary_array::<16>,
1444+
DictionaryValueArray::into_fixed_sized_binary_array::<16>,
14491445
)
14501446
}),
14511447
OtapLogRecordField::SpanId => (consts::SPAN_ID, |keys, values| {
14521448
adaptive_dictionary_writer(
14531449
keys,
14541450
values,
1455-
DictionaryValueArray::transform_into_fixed_sized_binary_array::<8>,
1451+
DictionaryValueArray::into_fixed_sized_binary_array::<8>,
14561452
)
14571453
}),
14581454
OtapLogRecordField::Flags => (consts::FLAGS, |keys, values| {
14591455
primitive_array_writer(
14601456
keys,
14611457
values,
1462-
DictionaryValueArray::transform_into_int_array::<UInt32Type>,
1458+
DictionaryValueArray::into_int_array::<UInt32Type>,
14631459
)
14641460
}),
14651461
OtapLogRecordField::EventName => (consts::EVENT_NAME, |keys, values| {
1466-
adaptive_dictionary_writer(
1467-
keys,
1468-
values,
1469-
DictionaryValueArray::transform_into_string_array,
1470-
)
1462+
adaptive_dictionary_writer(keys, values, DictionaryValueArray::into_string_array)
14711463
}),
14721464
OtapLogRecordField::Body => (consts::BODY, body_writer),
14731465
}

rust/experimental/query_engine/engine-columnar/src/primitives/dictionary/dictionary_keys.rs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -162,49 +162,48 @@ impl DictionaryKeyArray {
162162
}
163163
}
164164

165-
pub fn transform_into_key_array<KOutput: ArrowDictionaryKeyType>(
165+
pub fn into_key_array<KOutput: ArrowDictionaryKeyType>(
166166
self,
167167
value_index_lookup: IndexLookup,
168168
) -> PrimitiveArray<KOutput> {
169-
self.transform_into_key_builder(value_index_lookup).finish()
169+
self.into_key_builder(value_index_lookup).finish()
170170
}
171171

172-
pub(crate) fn transform_into_key_builder<KOutput: ArrowDictionaryKeyType>(
172+
pub(crate) fn into_key_builder<KOutput: ArrowDictionaryKeyType>(
173173
self,
174174
value_index_lookup: IndexLookup,
175175
) -> DictionaryKeyArrayBuilder<KOutput> {
176176
match self {
177177
DictionaryKeyArray::KeyArray(array) => match array.data_type() {
178-
DataType::UInt8 => transform_key_array_into_key_builder(
178+
DataType::UInt8 => key_array_into_key_builder(
179179
array.as_primitive::<UInt8Type>(),
180180
value_index_lookup,
181181
),
182-
DataType::UInt16 => transform_key_array_into_key_builder(
182+
DataType::UInt16 => key_array_into_key_builder(
183183
array.as_primitive::<UInt16Type>(),
184184
value_index_lookup,
185185
),
186-
DataType::UInt32 => transform_key_array_into_key_builder(
186+
DataType::UInt32 => key_array_into_key_builder(
187187
array.as_primitive::<UInt32Type>(),
188188
value_index_lookup,
189189
),
190-
DataType::UInt64 => transform_key_array_into_key_builder(
190+
DataType::UInt64 => key_array_into_key_builder(
191191
array.as_primitive::<UInt64Type>(),
192192
value_index_lookup,
193193
),
194194

195-
DataType::Int8 => transform_key_array_into_key_builder(
196-
array.as_primitive::<Int8Type>(),
197-
value_index_lookup,
198-
),
199-
DataType::Int16 => transform_key_array_into_key_builder(
195+
DataType::Int8 => {
196+
key_array_into_key_builder(array.as_primitive::<Int8Type>(), value_index_lookup)
197+
}
198+
DataType::Int16 => key_array_into_key_builder(
200199
array.as_primitive::<Int16Type>(),
201200
value_index_lookup,
202201
),
203-
DataType::Int32 => transform_key_array_into_key_builder(
202+
DataType::Int32 => key_array_into_key_builder(
204203
array.as_primitive::<Int32Type>(),
205204
value_index_lookup,
206205
),
207-
DataType::Int64 => transform_key_array_into_key_builder(
206+
DataType::Int64 => key_array_into_key_builder(
208207
array.as_primitive::<Int64Type>(),
209208
value_index_lookup,
210209
),
@@ -330,10 +329,7 @@ impl DictionaryKeyArray {
330329
}
331330
}
332331

333-
fn transform_key_array_into_key_builder<
334-
KInput: ArrowDictionaryKeyType,
335-
KOutput: ArrowDictionaryKeyType,
336-
>(
332+
fn key_array_into_key_builder<KInput: ArrowDictionaryKeyType, KOutput: ArrowDictionaryKeyType>(
337333
keys: &PrimitiveArray<KInput>,
338334
value_index_lookup: IndexLookup,
339335
) -> DictionaryKeyArrayBuilder<KOutput> {

rust/experimental/query_engine/engine-columnar/src/primitives/dictionary/dictionary_root.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,7 @@ fn with_values_typed<'a, K: ArrowDictionaryKeyType>(
278278

279279
let (mut source_values, lookup) = source_values.into_set();
280280

281-
let mut source_key_builder = source_keys.transform_into_key_builder::<K>(lookup);
281+
let mut source_key_builder = source_keys.into_key_builder::<K>(lookup);
282282

283283
let key_length = source_key_builder.get_key_length();
284284
let mut source_key_writer = source_key_builder.get_writer();

rust/experimental/query_engine/engine-columnar/src/primitives/dictionary/dictionary_values.rs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,15 @@ impl DictionaryValueArray<'_> {
109109
}
110110
}
111111

112-
pub fn transform_into_string_array(self) -> (StringArray, IndexLookup) {
112+
pub fn into_string_array(self) -> (StringArray, IndexLookup) {
113113
self.transform_into_array(
114114
ArrayRef::as_string_opt,
115115
|v| Some(v.to_string()),
116116
StringArray::from_iter_values,
117117
)
118118
}
119119

120-
pub fn transform_into_int_array<T: ArrowPrimitiveType>(self) -> (PrimitiveArray<T>, IndexLookup)
120+
pub fn into_int_array<T: ArrowPrimitiveType>(self) -> (PrimitiveArray<T>, IndexLookup)
121121
where
122122
T::Native: Hash + Eq + TryFrom<i64>,
123123
{
@@ -128,7 +128,7 @@ impl DictionaryValueArray<'_> {
128128
)
129129
}
130130

131-
pub fn transform_into_timestamp_nanoseconds_array(
131+
pub fn into_timestamp_nanoseconds_array(
132132
self,
133133
) -> (PrimitiveArray<TimestampNanosecondType>, IndexLookup) {
134134
self.transform_into_array(
@@ -142,7 +142,7 @@ impl DictionaryValueArray<'_> {
142142
)
143143
}
144144

145-
pub fn transform_into_fixed_sized_binary_array<const SIZE: usize>(
145+
pub fn into_fixed_sized_binary_array<const SIZE: usize>(
146146
self,
147147
) -> (FixedSizeBinaryArray, IndexLookup) {
148148
self.transform_into_array(
@@ -277,40 +277,40 @@ impl<'a> DictionaryValueArray<'a> {
277277
}
278278
}
279279

280-
pub fn transform_into_array<TArray: Array + Clone, T: Hash + Eq, FAsArray, FConvert, FBuild>(
280+
pub fn transform_into_array<TArray: Array + Clone, T: Hash + Eq, FAsArray, FTransform, FBuild>(
281281
self,
282282
as_array: FAsArray,
283-
convert: FConvert,
283+
transform: FTransform,
284284
build: FBuild,
285285
) -> (TArray, IndexLookup)
286286
where
287287
FAsArray: Fn(&Arc<dyn Array>) -> Option<&TArray>,
288-
FConvert: Fn(&ValueOrRef<'a>) -> Option<T>,
288+
FTransform: Fn(&ValueOrRef<'a>) -> Option<T>,
289289
FBuild: Fn(indexmap::set::IntoIter<T>) -> TArray,
290290
{
291291
match self {
292292
DictionaryValueArray::Array(a) => {
293293
if let Some(s) = as_array(&a) {
294294
(s.clone(), None)
295295
} else {
296-
let (values, lookup) = transform_array_into_set(|v| convert(&v), a);
296+
let (values, lookup) = transform_array_into_set(|v| transform(&v), a);
297297

298298
(build(values.into_iter()), lookup)
299299
}
300300
}
301301
DictionaryValueArray::Vec(a) => {
302-
let null_value = convert(&ValueOrRef::Null);
302+
let null_value = transform(&ValueOrRef::Null);
303303

304-
iter_into_array(a.iter().map(convert), null_value, build)
304+
iter_into_array(a.iter().map(transform), null_value, build)
305305
}
306306
DictionaryValueArray::Set(a) => {
307-
let null_value = convert(&ValueOrRef::Null);
307+
let null_value = transform(&ValueOrRef::Null);
308308

309-
iter_into_array(a.iter().map(convert), null_value, build)
309+
iter_into_array(a.iter().map(transform), null_value, build)
310310
}
311311
DictionaryValueArray::Boolean => {
312312
let values = [ValueOrRef::Boolean(false), ValueOrRef::Boolean(true)];
313-
iter_into_array(values.iter().map(convert), None, build)
313+
iter_into_array(values.iter().map(transform), None, build)
314314
}
315315
}
316316
}

0 commit comments

Comments
 (0)