Resolves a column name in a `USING` clause.
(
&self,
column_name: &ColumnName,
join_side: JoinSide,
name_manager: &mut NameManager,
)
| 409 | |
| 410 | /// Resolves a column name in a `USING` clause. |
| 411 | pub fn resolve_using_column( |
| 412 | &self, |
| 413 | column_name: &ColumnName, |
| 414 | join_side: JoinSide, |
| 415 | name_manager: &mut NameManager, |
| 416 | ) -> Result<(ColumnRef, Arc<str>), PlanError> { |
| 417 | self.resolve_column(&[], column_name, name_manager) |
| 418 | .map_err(|e| match e { |
| 419 | // Attach a bit more context to unknown and ambiguous column |
| 420 | // errors to match PostgreSQL. |
| 421 | PlanError::AmbiguousColumn(column) => { |
| 422 | PlanError::AmbiguousColumnInUsingClause { column, join_side } |
| 423 | } |
| 424 | PlanError::UnknownColumn { column, .. } => { |
| 425 | PlanError::UnknownColumnInUsingClause { column, join_side } |
| 426 | } |
| 427 | _ => e, |
| 428 | }) |
| 429 | } |
| 430 | |
| 431 | /// Resolves a named column reference in a given scope. |
| 432 | /// Returns the interned name for tracking purposes. |
no test coverage detected