Обсуждение: BUG #1853: explain gives ERROR: bogus varno: 23

Поиск
Список
Период
Сортировка

BUG #1853: explain gives ERROR: bogus varno: 23

От
"Dustin Sallings"
Дата:
The following bug has been logged online:

Bug reference:      1853
Logged by:          Dustin Sallings
Email address:      dustin@spy.net
PostgreSQL version: 8.1b1
Operating system:   Mac OS X 10.3.something
Description:        explain gives ERROR:  bogus varno: 23
Details:

If I run this query on my model:

  select
    sensor_id,
        min(sample) as min_reading,
        avg(sample) as avg_reading,
        stddev(sample) as stddev_reading,
        max(sample) as max_reading,
        date(ts) as day
  from
    samples
  where
    ts >= (select max(day)+1 from rollups_day)
    and ts < current_date
  group by
    sensor_id, day


It works by itself, but if I run it in explain, it fails with the following
error:

ERROR:  bogus varno: 23


...  I've so far been unable to make a standalone sample break because I
don't quite understand the problem.

samples is a view made of up union alls to a bunch of tables like this:

View definition:
((((( SELECT samples_1999.ts, samples_1999.sensor_id, samples_1999.sample
   FROM samples_1999
UNION ALL
 SELECT samples_2000.ts, samples_2000.sensor_id, samples_2000.sample
   FROM samples_2000)
UNION ALL
 SELECT samples_2001.ts, samples_2001.sensor_id, samples_2001.sample
   FROM samples_2001)
UNION ALL
 SELECT samples_2002.ts, samples_2002.sensor_id, samples_2002.sample
   FROM samples_2002)
UNION ALL
 SELECT samples_2003.ts, samples_2003.sensor_id, samples_2003.sample
   FROM samples_2003)
UNION ALL
 SELECT samples_2004.ts, samples_2004.sensor_id, samples_2004.sample
   FROM samples_2004)
UNION ALL
 SELECT samples_2005.ts, samples_2005.sensor_id, samples_2005.sample
   FROM samples_2005;


I don't have any confidential data in this database, so I can provide the
entire thing if necessary, but it is a rather large database.

Re: BUG #1853: explain gives ERROR: bogus varno: 23

От
Michael Fuhr
Дата:
On Sun, Aug 28, 2005 at 06:13:12AM +0100, Dustin Sallings wrote:
> PostgreSQL version: 8.1b1
> Description:        explain gives ERROR:  bogus varno: 23

This might be the same problem that was fixed yesterday:

http://archives.postgresql.org/pgsql-committers/2005-08/msg00374.php

Try building the latest code from CVS and see if you still get the
error.

Do you get the error if you execute "SET enable_bitmapscan TO off;"
and then run EXPLAIN?

--
Michael Fuhr

Re: BUG #1853: explain gives ERROR: bogus varno: 23

От
Dustin Sallings
Дата:
On Aug 28, 2005, at 7:14 , Michael Fuhr wrote:

> Do you get the error if you execute "SET enable_bitmapscan TO off;"
> and then run EXPLAIN?

     This works fine, thanks.

     I'll wait for the next beta to try it without.  It's just enough
of a hassle for me to do a build that I don't want to keep them going.

--
SPY                      My girlfriend asked me which one I like better.
pub  1024/3CAE01D5 1994/11/03 Dustin Sallings <dustin@spy.net>
|    Key fingerprint =  87 02 57 08 02 D0 DA D6  C8 0F 3E 65 51 98 D8 BE
L_______________________ I hope the answer won't upset her. ____________