Skip to content

Commit 1966c0c

Browse files
committed
store resolved field name in index
1 parent 95fe304 commit 1966c0c

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

datafusion/common/src/dfschema.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -620,16 +620,18 @@ impl DFSchema {
620620

621621
fn build_index(fields: &[DFField]) -> BTreeMap<OwnedFieldReference, Vec<usize>> {
622622
let mut index = BTreeMap::new();
623-
let iter = fields
624-
.iter()
625-
.map(|field| {
626-
OwnedFieldReference::new(
627-
field.name().clone(),
628-
field.qualifier().map(|q| q.to_owned_reference()),
629-
)
630-
})
631-
.enumerate();
632-
for (idx, field) in iter {
623+
for (idx, df_field) in fields.iter().enumerate() {
624+
let field = match &df_field.qualifier {
625+
Some(q) => OwnedFieldReference::new(
626+
df_field.name().clone(),
627+
Some(q.to_owned_reference()),
628+
),
629+
None => {
630+
let column = Column::from_qualified_name(df_field.name());
631+
OwnedFieldReference::new(column.name, column.relation)
632+
}
633+
};
634+
633635
match index.entry(field) {
634636
Entry::Vacant(entry) => {
635637
entry.insert(vec![idx]);

0 commit comments

Comments
 (0)