Skip to content

Commit 35ff2ed

Browse files
committed
Add more specific type variation consts
1 parent ca5dec0 commit 35ff2ed

File tree

3 files changed

+10
-10
lines changed

3 files changed

+10
-10
lines changed

datafusion/substrait/src/logical_plan/consumer/types.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ use crate::variation_const::{
2222
DATE_32_TYPE_VARIATION_REF, DATE_64_TYPE_VARIATION_REF,
2323
DECIMAL_128_TYPE_VARIATION_REF, DECIMAL_256_TYPE_VARIATION_REF,
2424
DEFAULT_CONTAINER_TYPE_VARIATION_REF, DEFAULT_INTERVAL_DAY_TYPE_VARIATION_REF,
25-
DEFAULT_TYPE_VARIATION_REF,DICTIONARY_CONTAINER_TYPE_VARIATION_REF, DURATION_INTERVAL_DAY_TYPE_VARIATION_REF,
25+
DEFAULT_MAP_TYPE_VARIATION_REF, DEFAULT_TYPE_VARIATION_REF,
26+
DICTIONARY_MAP_TYPE_VARIATION_REF, DURATION_INTERVAL_DAY_TYPE_VARIATION_REF,
2627
INTERVAL_DAY_TIME_TYPE_REF, INTERVAL_MONTH_DAY_NANO_TYPE_NAME,
2728
INTERVAL_MONTH_DAY_NANO_TYPE_REF, INTERVAL_YEAR_MONTH_TYPE_REF,
2829
LARGE_CONTAINER_TYPE_VARIATION_REF, TIMESTAMP_MICRO_TYPE_VARIATION_REF,
@@ -183,7 +184,7 @@ pub fn from_substrait_type(
183184
from_substrait_type(consumer, value_type, dfs_names, name_idx)?;
184185

185186
match map.type_variation_reference {
186-
DEFAULT_CONTAINER_TYPE_VARIATION_REF => {
187+
DEFAULT_MAP_TYPE_VARIATION_REF => {
187188
let key_field = Arc::new(Field::new("key", key_type, false));
188189
let value_field = Arc::new(Field::new("value", value_type, true));
189190
Ok(DataType::Map(
@@ -195,7 +196,7 @@ pub fn from_substrait_type(
195196
false, // whether keys are sorted
196197
))
197198
}
198-
DICTIONARY_CONTAINER_TYPE_VARIATION_REF => Ok(DataType::Dictionary(
199+
DICTIONARY_MAP_TYPE_VARIATION_REF => Ok(DataType::Dictionary(
199200
Box::new(key_type),
200201
Box::new(value_type),
201202
)),

datafusion/substrait/src/logical_plan/producer/types.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ use crate::variation_const::{
2121
DATE_32_TYPE_VARIATION_REF, DATE_64_TYPE_VARIATION_REF,
2222
DECIMAL_128_TYPE_VARIATION_REF, DECIMAL_256_TYPE_VARIATION_REF,
2323
DEFAULT_CONTAINER_TYPE_VARIATION_REF, DEFAULT_INTERVAL_DAY_TYPE_VARIATION_REF,
24-
DEFAULT_TYPE_VARIATION_REF,DICTIONARY_CONTAINER_TYPE_VARIATION_REF, DURATION_INTERVAL_DAY_TYPE_VARIATION_REF,
24+
DEFAULT_MAP_TYPE_VARIATION_REF, DEFAULT_TYPE_VARIATION_REF,
25+
DICTIONARY_MAP_TYPE_VARIATION_REF, DURATION_INTERVAL_DAY_TYPE_VARIATION_REF,
2526
LARGE_CONTAINER_TYPE_VARIATION_REF, TIME_32_TYPE_VARIATION_REF,
2627
TIME_64_TYPE_VARIATION_REF, UNSIGNED_INTEGER_TYPE_VARIATION_REF,
2728
VIEW_CONTAINER_TYPE_VARIATION_REF,
@@ -276,7 +277,7 @@ pub(crate) fn to_substrait_type(
276277
kind: Some(r#type::Kind::Map(Box::new(r#type::Map {
277278
key: Some(Box::new(key_type)),
278279
value: Some(Box::new(value_type)),
279-
type_variation_reference: DEFAULT_CONTAINER_TYPE_VARIATION_REF,
280+
type_variation_reference: DEFAULT_MAP_TYPE_VARIATION_REF,
280281
nullability,
281282
}))),
282283
})
@@ -290,7 +291,7 @@ pub(crate) fn to_substrait_type(
290291
kind: Some(r#type::Kind::Map(Box::new(r#type::Map {
291292
key: Some(Box::new(key_type)),
292293
value: Some(Box::new(value_type)),
293-
type_variation_reference: DICTIONARY_CONTAINER_TYPE_VARIATION_REF,
294+
type_variation_reference: DICTIONARY_MAP_TYPE_VARIATION_REF,
294295
nullability,
295296
}))),
296297
})

datafusion/substrait/src/variation_const.rs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,8 @@ pub const TIME_64_TYPE_VARIATION_REF: u32 = 1;
5555
pub const DEFAULT_CONTAINER_TYPE_VARIATION_REF: u32 = 0;
5656
pub const LARGE_CONTAINER_TYPE_VARIATION_REF: u32 = 1;
5757
pub const VIEW_CONTAINER_TYPE_VARIATION_REF: u32 = 2;
58-
/// Used for the arrow type [`DataType::Map`].
59-
///
60-
/// [`DataType::Map`]: datafusion::arrow::datatypes::DataType::Map
61-
pub const DICTIONARY_CONTAINER_TYPE_VARIATION_REF: u32 = 3;
58+
pub const DEFAULT_MAP_TYPE_VARIATION_REF: u32 = 0;
59+
pub const DICTIONARY_MAP_TYPE_VARIATION_REF: u32 = 1;
6260
pub const DECIMAL_128_TYPE_VARIATION_REF: u32 = 0;
6361
pub const DECIMAL_256_TYPE_VARIATION_REF: u32 = 1;
6462
/// Used for the arrow type [`DataType::Interval`] with [`IntervalUnit::DayTime`].

0 commit comments

Comments
 (0)