dynamobi/dynamobi — Issue #657: [FRG-215] optimizer goes into infinite loop after PushProjectPastFilterRule
Author: dynamobi-build
Created: 2011-12-30 03:41:27+00:00
State: open
Labels: FRG

[reporter="jpham", created="Sun, 24 Sep 2006 21:39:07 -0500 (GMT-05:00)"]
Hi Zelaine, would this be your area?

When running a particular query, the optimizer goes into an infinite loop involving PushProjectPastFilerRule and MergeProjectRule. The rule PushProjectPastFilter tries to transform the query execution tree. But the tree it generates is determined to be equivalent to an older tree, causing a loop. Perhaps this is another digest mystery?

This test case is from lu/regressionsql/javaCalc.sql

create table a (

i tinyint generated always as identity primary key,

j tinyint not null,

k tinyint);

create table smallint_nullable_src (

i smallint generated always as identity primary key,

val smallint);

create view smallint_nullable as

select val from smallint_nullable_src;

insert into a (j) select * from smallint_nullable

where val > 127;