← Back to team overview

maria-developers team mailing list archive

MDEV-8789: fully qualified field name resolving problem



I decided to show my finding as soon as I have them found (to give time to explain/fix, also I think that name resolving fix could possibly cause some big rewriting) but if you prefer "all togather" do not hesitate to say it.

So the test suite which demostrate the problem:

create table t1(a int, b int);
insert into t1 values (1,1),(2,2),(10,10),(20,20);
create table t2(c int, d int);
insert into t2 values (10,1),(20,2);

# mentioning "full path" to field works here
select * from test.t2 where test.t2.c <20;

# and does not work here
with t2 as (select a,b from t1 where a < 10) select * from t2 as tt, test.t2 where tt.a = test.t2.c;

drop table t1,t2;


SELECT with "WITH" clause fails complaining about undefined column in the WHERE clause.

BTW if remove alias tt it complain about two tables t2 when such query:

select * from test2.t2, test.t2 where test2.t2.c = test.t2.c;

is legal. I am not 100% sure if it is also a bug, but possible it is.

Follow ups