| 1640 | } |
| 1641 | |
| 1642 | fn mark_field(schema: &DFSchema) -> (Option<TableReference>, Arc<Field>) { |
| 1643 | let mut table_references = schema |
| 1644 | .iter() |
| 1645 | .filter_map(|(qualifier, _)| qualifier) |
| 1646 | .collect::<Vec<_>>(); |
| 1647 | table_references.dedup(); |
| 1648 | let table_reference = if table_references.len() == 1 { |
| 1649 | table_references.pop().cloned() |
| 1650 | } else { |
| 1651 | None |
| 1652 | }; |
| 1653 | |
| 1654 | ( |
| 1655 | table_reference, |
| 1656 | Arc::new(Field::new("mark", DataType::Boolean, false)), |
| 1657 | ) |
| 1658 | } |
| 1659 | |
| 1660 | /// Creates a schema for a join operation. |
| 1661 | /// The fields from the left side are first |