Do not use subquery result, when value is unknown, for constant folding.
v2: fix simple subqueries, fixes 00597_push_down_predicate.
v3:
- use identity over introducing yet another cast analog (as suggested by @akuzm)
- simpler suitable_for_const_folding check
v4: use identity(cast()) since only cast() can provide corrent type (for
data types that does not have it's own type, i.e. DateTime)
v5: do not optimize consts if only_analyze isset, regardless the block
content
sed -r -i \
-e 's/SELECT $/SELECT/' \
-e 's/SELECT DISTINCT $/SELECT DISTINCT/' \
-e 's/WITH $/WITH/' \ # zero matches, new test will be added
-e 's/ARRAY JOIN $/ARRAY JOIN/' \
-e 's/GROUP BY $/GROUP BY/' \
-e 's/ORDER BY $/ORDER BY/' \
-e 's/LIMIT ([0-9]+) BY $/LIMIT \1 BY/' \ # zero matches, new test will be added
tests/queries/*/*.sql \
tests/queries/*/*.reference
(With except for tests/queries/0_stateless/00751_default_databasename_for_view.reference)