[postgis-tickets] [PostGIS] #4111: debbie failing on PostgreSQL 10 run on topology
PostGIS
trac at osgeo.org
Fri Jun 29 10:37:12 PDT 2018
#4111: debbie failing on PostgreSQL 10 run on topology
------------------------+--------------------------------
Reporter: robe | Owner: robe
Type: defect | Status: new
Priority: blocker | Milestone: PostGIS PostgreSQL
Component: buildbots | Version: trunk
Resolution: | Keywords:
------------------------+--------------------------------
Comment (by robe):
I was mistaken about the commit, David Rowley, pointed out it sounds more
like this one:
https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=a4c95b0b80c70677c09c0d5c82a6fba875160288
{{{
Fix mishandling of sortgroupref labels while splitting SRF targetlists.
split_pathtarget_at_srfs() neglected to worry about sortgroupref labels
in the intermediate PathTargets it constructs. I think we'd supposed
that their labeling didn't matter, but it does at least for the case that
GroupAggregate/GatherMerge nodes appear immediately under the ProjectSet
step(s). This results in "ERROR: ORDER/GROUP BY expression not found in
targetlist" during create_plan(), as reported by Rajkumar Raghuwanshi.
To fix, make this logic track the sortgroupref labeling of expressions,
not just their contents. This also restores the pre-v10 behavior that
separate GROUP BY expressions will be kept distinct even if they are
textually equal().
Discussion:
https://postgr.es/m/CAKcux6=1_Ye9kx8YLBPmJs_xE72PPc6vNi5q2AOHowMaCWjJ2w@mail.gmail.com
}}}
The test we have which triggers it is badly written so we should probably
change it anyway as it's using a set returning function in the SELECT
(topogeo_AddLineString) and ordering by a constant which doesn't even
guarantee ORDER, so why we even have to order by 1 there is kinda hella
dumb
{{{
SELECT 't3280', 'L1b' || topology.TopoGeo_AddLinestring('bug3280', geom)
FROM bug3280.edge where edge_id = 1
ORDER BY 1;
}}}
and if we do have an order by there, it should be ORDER BY 2 which
actually works :)
{{{
SELECT 't3280', 'L1b' || topology.TopoGeo_AddLinestring('bug3280', geom)
FROM bug3280.edge where edge_id = 1
ORDER BY 21;
}}}
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4111#comment:4>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list