Skip to content

enable_optimize_predicate_expression is confused by aliases and subqueries #6734

@SaltTan

Description

@SaltTan

A query from a subquery with a chain of aliases and a join with a subquery fails when enable_optimize_predicate_expression is enabled.

SELECT alias AS name
FROM
(
    SELECT name AS alias
    FROM system.settings
)
ANY INNER JOIN
(
    SELECT name
    FROM system.settings
) USING (name)
WHERE name = 'enable_optimize_predicate_expression'
SETTINGS enable_optimize_predicate_expression = 0

┌─name─────────────────────────────────┐
│ enable_optimize_predicate_expression │
└──────────────────────────────────────┘

1 rows in set. Elapsed: 0.017 sec.

SELECT alias AS name
FROM
(
    SELECT name AS alias
    FROM system.settings
)
ANY INNER JOIN
(
    SELECT name
    FROM system.settings
) USING (name)
WHERE name = 'enable_optimize_predicate_expression'
SETTINGS enable_optimize_predicate_expression = 1

Received exception from server (version 19.13.3):
Code: 47. DB::Exception: Received from localhost:9000. DB::Exception: Missing columns: 'alias' while processing query: 'SELECT name FROM system.settings WHERE alias = 'enable_optimize_predicate_expression'', required columns: 'name' 'alias', source columns: 'description' 'changed' 'name' 'value'.

Metadata

Metadata

Assignees

Labels

bugConfirmed user-visible misbehaviour in official releasecomp-query-optimizerQuery plan optimization: physical plan steps, plan-level rewrites and optimizations (QueryPlan pa...

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions