[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