[postgis-devel] [PostGIS] #179: ST_MakeLine and ST_MakeLine_Garry crash server with null arrays

PostGIS trac at osgeo.org
Sun Sep 13 08:13:15 PDT 2009


#179: ST_MakeLine and ST_MakeLine_Garry crash server with null arrays
----------------------+-----------------------------------------------------
  Reporter:  robe     |       Owner:  pramsey      
      Type:  defect   |      Status:  reopened     
  Priority:  medium   |   Milestone:  postgis 1.3.7
 Component:  postgis  |     Version:  1.3.X        
Resolution:           |    Keywords:               
----------------------+-----------------------------------------------------
Comment (by robe):

 Yes we can have links.  Actually I think there may be a simpler solution
 to all of this.  Why can't we mark the aggregates as STRICT.  Not sure if
 that is backward compatible or not, but I have a feeling that is how this
 problem started when postgreSQL version started allowing nulls in
 aggregates -- but I see they have a STRICT option which I believe works
 for 8.3 and 8.4 (8.2 and 8.1 I suspect are non-issues since I don't think
 the NULLs were ever allowed).

 See this note extracted from PostgreSQL 8.4 create agg.

 "If the state transition function is declared "strict", then it cannot be
 called with null inputs. With such a transition function, aggregate
 execution behaves as follows. Rows with any null input values are ignored
 (the function is not called and the previous state value is retained). If
 the initial state value is null, then at the first row with all-nonnull
 input values, the first argument value replaces the state value, and the
 transition function is invoked at subsequent rows with all-nonnull input
 values. This is handy for implementing aggregates like max. Note that this
 behavior is only available when state_data_type is the same as the first
 input_data_type. When these types are different, you must supply a nonnull
 initial condition or use a nonstrict transition function. "

 http://www.postgresql.org/docs/8.4/interactive/sql-createaggregate.html

 I would like to see this fixed in 1.3.  Unfortuantely because of the new
 box3d_extent thing in 1.4, some of my apps break if I just convert over to
 1.4 so I can't without retesting and some recoding.  Which I am a bit in
 the process of doing.

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/179#comment:15>
PostGIS <http://trac.osgeo.org/postgis/>
PostGIS


More information about the postgis-devel mailing list