ERROR: bogus varno: 1 with 8.1beta and postgis 1.0.3

Lists: pgsql-hackers
From: rm_pg(at)cheapcomplexdevices(dot)com
To: pgsql-hackers(at)postgresql(dot)org
Cc: rm_pg(at)cheapcomplexdevices(dot)com, postgis-users(at)postgis(dot)refractions(dot)net
Subject: ERROR: bogus varno: 1 with 8.1beta and postgis 1.0.3
Date: 2005-08-31 07:30:55
Message-ID: Pine.LNX.4.63.0508310021380.12082@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers


With psql 8.1beta1 I get a pretty cryptic error message "ERROR: bogus varno: 1"
occasionally when I try to mix postgis (GIST-based) conditions with normal
conditions. The statements where this happen are totally reroducable.

Attached is an example of this happening. I'd be happy to look further,
but I'm not really sure where to look myself; and I must apologize in
advance that I'll be traveling for a couple days so my response time
for getting more info may be slow. I'm using the latest postgis and the
beta of 8.1 on ubuntu. The previous postgis claims to have some support
for 8.1 added; and quite a few statements seem to work fine.

Any thoughts where I should look next?

Ron Mayer

===============================================================================
== Mising postgis conditions with non postgis conditions in the where
== clause, yielding "ERROR: bogus varno: 1"
===============================================================================

[12]ron2:/home/ramayer/data/logs% psql fli fli
Welcome to psql 8.1beta1, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

fli=# explain select * from rtgr.lines,userfeatures.area_features
where rtgr.lines.the_geom && setSRID('BOX3D(-121.29 38.58, -121.29 38.58)'::BOX3D, -1 )
and rtgr.lines.the_geom && userfeatures.area_features.the_geom
and length(name)>0 and userfeatures.area_features.featureid in (8);
fli-#
fli-#
fli-# ERROR: bogus varno: 1

===============================================================================
== Just the postgis conditions - doesn't trigger the bogus varno.
===============================================================================

fli=# explain select * from rtgr.lines,userfeatures.area_features
where rtgr.lines.the_geom && setSRID('BOX3D(-121.29 38.58, -121.29 38.58)'::BOX3D, -1 )
and rtgr.lines.the_geom && userfeatures.area_features.the_geom;
fli-# fli-#
QUERY PLAN
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Nested Loop (cost=0.00..8.90 rows=1 width=277)
-> Index Scan using rtgr_lines__gist on lines (cost=0.00..5.01 rows=1
width=101)
Index Cond: (the_geom &&
'01030000000100000005000000C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340'::geometry)
Filter: (the_geom &&
'01030000000100000005000000C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340C3F5285C8F525EC00AD7A3703D4A4340'::geometry)
-> Index Scan using area_features__postgis on area_features
(cost=0.00..3.87 rows=1 width=176)
Index Cond: ("outer".the_geom && area_features.the_geom)
Filter: ("outer".the_geom && area_features.the_geom)
(7 rows)

fli=#


From: Gavin Sherry <swm(at)linuxworld(dot)com(dot)au>
To: rm_pg(at)cheapcomplexdevices(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org, postgis-users(at)postgis(dot)refractions(dot)net
Subject: Re: ERROR: bogus varno: 1 with 8.1beta and postgis 1.0.3
Date: 2005-08-31 09:27:16
Message-ID: Pine.LNX.4.58.0508311920010.752@linuxworld.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

On Wed, 31 Aug 2005 rm_pg(at)cheapcomplexdevices(dot)com wrote:

>
> With psql 8.1beta1 I get a pretty cryptic error message "ERROR: bogus varno: 1"
> occasionally when I try to mix postgis (GIST-based) conditions with normal
> conditions. The statements where this happen are totally reroducable.

Thanks for detailed report. However, others beat you to it. Tom fixed the
problem on the weekend.

http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/setrefs.c.diff?r1=1.111&r2=1.112

Gavin