Opened 9 months ago

Closed 9 months ago

#4549 closed defect (fixed)

ST_Dump* results in geometry_dump does not exists when postgis schema not in search_path

Reported by: robe Owned by: pramsey
Priority: medium Milestone: PostGIS 2.5.4
Component: postgis Version: 2.5.x
Keywords: Cc:

Description

Here is a test to exercise the issue:

CREATE SCHEMA IF NOT EXISTS postgis;
CREATE EXTENSION postgis SCHEMA postgis;

CREATE TABLE g AS 
SELECT postgis.ST_Collect(postgis.ST_Point(i,i+1) ) AS geom
FROM generate_series(-10,30) AS i;


SELECT foo
FROM g, postgis.ST_Dump(g.geom) AS foo;


Results in error:

ERROR:  relation "geometry_dump" does not exist

    

Change History (12)

comment:1 Changed 9 months ago by robe

Summary: ST_Dump results in geometry_dump does not exists when postgis schema not in search_pathST_Dump* results in geometry_dump does not exists when postgis schema not in search_path

Tests for other dump like things:

Fails with same issue

SELECT foo
FROM g, postgis.ST_Dumprings(postgis.ST_Buffer(g.geom,1)) AS foo;

However this works:

SELECT foo
FROM g, postgis.ST_DumpPoints(postgis.ST_Buffer(g.geom,1)) AS foo;

outputs:

("{1,1}",010100000000000000000024C000000000000020C0) ("{1,2}",0101000000CB75FF7C29F623C0D4B21C3E3A381FC0) ("{1,3}",0101000000D528F3BC06D923C06E1595D521781EC0) ("{1,4}",01010000001BEA9062B6A923C0EB32CA9818C71DC0) ("{1,5}",0101000000BEF367E6096A23C08A183033EC2B1DC0) ("{1,6}",01010000008FE69AB3731C23C0CE2BDE3A93AC1CC0) ("{1,7}",01010000004D753515EFC322C059AE1986F24D1CC0) ("{1,8}",01010000009AA6F1E0E26322C06B140106AD131CC0) ("{1,9}",010100000002000000000022C00000000000001CC0) ("{1,10}",010100000000000000000022C00000000000001CC0) ("{1,11}",0101000000CB75FF7C29F621C0D4B21C3E3A381BC0) ("{1,12}",0101000000D528F3BC06D921C06E1595D521781AC0) ("{1,13}",01010000001BEA9062B6A921C0EB32CA9818C719C0) ("{1,14}",0101000000BEF367E6096A21C08A183033EC2B19C0) ("{1,15}",01010000008FE69AB3731C21C0CE2BDE3A93AC18C0) ("{1,16}",01010000004D753515EFC320C059AE1986F24D18C0) :

ST_IsvalidDetail has similar issue:

SELECT foo
FROM g, postgis.ST_ISValidDetail(postgis.ST_Buffer(g.geom,1)) AS foo;

Fails with: ERROR: relation "valid_detail" does not exist

Last edited 9 months ago by robe (previous) (diff)

comment:2 Changed 9 months ago by Raul Marin

In 17951:

Use get_call_result_type to retrieve tuple descriptions

Closes #499
References #4549
References #4546

comment:3 Changed 9 months ago by Raul Marin

In 17954:

Add tests for schema qualified functions

References #4549

comment:4 Changed 9 months ago by Raul Marin

In 17956:

Fix schema qualification of internal types

References #4549

comment:5 Changed 9 months ago by Raul Marin

In 17958:

Fix schema qualification of internal types

References #4549

comment:6 Changed 9 months ago by Raul Marin

In 17959:

Fix schema qualification of internal types

References #4549

comment:7 Changed 9 months ago by Raul Marin

Resolution: fixed
Status: newclosed

In 17960:

Fix schema qualification of internal types

Closes #4549

comment:8 Changed 9 months ago by Algunenano

Resolution: fixed
Status: closedreopened

Seems I've broken 2.3, 2.4 and 2.5 (3.0 and trunk are ok).

comment:9 Changed 9 months ago by Raul Marin

In 17963:

Undo quiet option change

References #4549

comment:10 Changed 9 months ago by Raul Marin

In 17964:

Undo quiet option change

References #4549

comment:11 Changed 9 months ago by Raul Marin

In 17965:

Undo quiet option change

References #4549

comment:12 Changed 9 months ago by Algunenano

Resolution: fixed
Status: reopenedclosed
Note: See TracTickets for help on using tickets.