[postgis-devel] lwgeom parser robustness and niceness

strk strk at keybit.net
Mon Jun 7 02:49:53 PDT 2004


I've been testing lwgeom stuff.
I've found it fault on every 'unexpected' format.

All these queries kill the backend:

        -- EMPTY geoms
        SELECT 'POINT()'::lwgeom;
        SELECT 'MULTIPOINT()'::lwgeom;
        SELECT 'LINESTRING()'::lwgeom;
        SELECT 'MULTILINESTRING()'::lwgeom;
        SELECT 'POLYGON()'::lwgeom;
        SELECT 'MULTIPOLYGON()'::lwgeom;
        SELECT 'GEOMETRYCOLLECTION()'::lwgeom;

        -- NON geoms (a check for first letter is performed)
        SELECT 'P()'::lwgeom
        SELECT 'L()'::lwgeom
        SELECT 'M()'::lwgeom
        SELECT 'G()'::lwgeom

        -- INVALID geoms
        SELECT 'POINT(0 0 0 0 0)'::lwgeom;
        SELECT 'LINESTRING(0 0)'::lwgeom;
        SELECT 'POLYGON((0 0, 1 1))'::lwgeom;
        SELECT 'POLYGON(0 0)'::lwgeom;
        ... try your own ...

        -- MIXED dimension geoms
        SELECT 'MULTIPOINT(0 0 0, 0 0)'::lwgeom;
        SELECT 'LINESTRING(0 0 0 0, 0 0 0)'::lwgeom;
        ... try your own ...

Also, I don't like this error message:

	SELECT 'point(0 0)'::lwgeom;
	ERROR:  couldnt determine if input lwgeom is WKB or WKT

I think 1) it's clearly a WKT and 2) we could accept lower or mixed case
lwgeoms, wouldn't it be acceptable in speed ?

--strk;



More information about the postgis-devel mailing list