EXPLAIN with view: bogus varno: 5
От | Michael Fuhr |
---|---|
Тема | EXPLAIN with view: bogus varno: 5 |
Дата | |
Msg-id | 20050827024542.GA33982@winnie.fuhr.org обсуждение исходный текст |
Ответы |
Re: EXPLAIN with view: bogus varno: 5
Re: EXPLAIN with view: bogus varno: 5 |
Список | pgsql-hackers |
Running EXPLAIN on a view that has an aggregate and uses an index results in the error "bogus varno: 5". At least I think the aggregate and index are necessary -- removing either from the following example allows EXPLAIN to succeed: test=> CREATE TABLE foo (x integer); CREATE TABLE test=> CREATE INDEX foo_x_idx ON foo (x); CREATE INDEX test=> CREATE VIEW fooview1 AS SELECT count(*) FROM foo WHERE x < 10; CREATE VIEW test=> CREATE VIEW fooview2 AS SELECT * FROM foo WHERE x < 10; CREATE VIEW test=> CREATE VIEW fooview3 AS SELECT count(*) FROM foo; CREATE VIEW test=> CREATE VIEW fooview4 AS SELECT * FROM foo; CREATE VIEW test=> \set VERBOSITY verbose test=> EXPLAIN SELECT * FROM fooview1; ERROR: XX000: bogus varno: 5 LOCATION: get_rte_for_var, ruleutils.c:2478 test=> EXPLAIN SELECT * FROM fooview2; QUERY PLAN --------------------------------------------------------------------------Bitmap Heap Scan on foo (cost=3.50..22.41 rows=713width=4) Recheck Cond: (x < 10) -> Bitmap Index Scan on foo_x_idx (cost=0.00..3.50 rows=713 width=0) IndexCond: (x < 10) (4 rows) test=> EXPLAIN SELECT * FROM fooview3; QUERY PLAN -------------------------------------------------------------Aggregate (cost=36.75..36.75 rows=1 width=0) -> Seq Scanon foo (cost=0.00..31.40 rows=2140 width=0) (2 rows) test=> EXPLAIN SELECT * FROM fooview4; QUERY PLAN -------------------------------------------------------Seq Scan on foo (cost=0.00..31.40 rows=2140 width=4) (1 row) test=> DROP INDEX foo_x_idx; DROP INDEX test=> EXPLAIN SELECT * FROM fooview1; QUERY PLAN ------------------------------------------------------------Aggregate (cost=38.53..38.53 rows=1 width=0) -> Seq Scan onfoo (cost=0.00..36.75 rows=713 width=0) Filter: (x < 10) (3 rows) -- Michael Fuhr
В списке pgsql-hackers по дате отправления: