Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions datafusion/sql/src/statement.rs
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ use datafusion_expr::{
LogicalPlan, LogicalPlanBuilder, OperateFunctionArg, PlanType, Prepare,
ResetVariable, SetVariable, SortExpr, Statement as PlanStatement, ToStringifiedPlan,
TransactionAccessMode, TransactionConclusion, TransactionEnd,
TransactionIsolationLevel, TransactionStart, Volatility, WriteOp, cast, col,
TransactionIsolationLevel, TransactionStart, Volatility, WriteOp, cast,
};
use sqlparser::ast::{
self, BeginTransactionKind, CheckConstraint, ForeignKeyConstraint, IndexColumn,
Expand Down Expand Up @@ -555,14 +555,14 @@ impl<S: ContextProvider> SqlToRel<'_, S> {
input_schema.fields().len()
);
}
let input_fields = input_schema.fields();
let input_columns = input_schema.columns();
let project_exprs = schema
.fields()
.iter()
.zip(input_fields)
.map(|(field, input_field)| {
.zip(input_columns)
.map(|(field, input_column)| {
cast(
col(input_field.name()),
Expr::Column(input_column),
field.data_type().clone(),
)
.alias(field.name())
Expand Down
14 changes: 14 additions & 0 deletions datafusion/sqllogictest/test_files/ddl.slt
Original file line number Diff line number Diff line change
Expand Up @@ -979,6 +979,20 @@ CREATE TABLE dup_src AS VALUES(1, 2);
statement error DataFusion error: Schema error: Schema contains duplicate unqualified field name column1
CREATE TABLE dup_ctas AS SELECT * FROM dup_src LEFT JOIN dup_src y ON dup_src.column1 = y.column2;

statement ok
CREATE TABLE dup_ctas_with_schema(left_c1 bigint, right_c1 bigint) AS
SELECT dup_src.column1, right_src.column1
FROM dup_src
CROSS JOIN (SELECT column2 AS column1 FROM dup_src) right_src;

query II
SELECT left_c1, right_c1 FROM dup_ctas_with_schema;
----
1 2

statement ok
DROP TABLE dup_ctas_with_schema;

statement error DataFusion error: Schema error: Schema contains duplicate unqualified field name column1
CREATE VIEW dup_view AS SELECT * FROM dup_src LEFT JOIN dup_src y ON dup_src.column1 = y.column2;

Expand Down
Loading