int i, j; /* Loop counters */
int num, mum; /* sub-geom / point count */
int count = 0; /* Running count of points */
- int minpoints = 3;
+ int minpoints = 2;
LWDEBUG(3, "check_compoundcurve_minpoints");
num = tp->uu.nn.num;
all: test
test check: ../postgis/postgis.sql ../loader/pgsql2shp ../loader/shp2pgsql
- sed 's,$$libdir/postgis,$(srcdir)/../postgis/libpostgis,g' ../postgis/postgis.sql > postgis.sql
+ sed 's,$$libdir/postgis,$(srcdir)/../postgis/postgis,g' ../postgis/postgis.sql > postgis.sql
@USE_VERSION=$(POSTGIS_PGSQL_VERSION) ./run_test $(TESTS)
SELECT 'valid wkb compound curve 4', ST_asEWKT(ST_GeomFromEWKB(decode('0109000000020000000102000000030000009FE5797057376340E09398B1B2373BC05AAE0A165F0963409F6760A2493D3DC0DB6286DFB057634082D8A1B32F843EC0010800000005000000DB6286DFB057634082D8A1B32F843EC0DB6286DFB057634082D8A1B32F843EC075B4E4D0C60C634031FA5D1A371540C0D7197CED9B636340A3CB59A7630A41C050F4A72AC0FB6240974769FCE3CF41C0', 'hex')));\r
SELECT 'valid wkb compound curve 5', ST_asEWKT(ST_GeomFromEWKB(decode('010900000003000000010800000003000000468280E724BC6340BF4B46210B973BC0F890AEA18D8063402D9664151D483CC0EED64BB6EE726340903CA5BDA0863AC0010200000004000000EED64BB6EE726340903CA5BDA0863AC09FE5797057376340E09398B1B2373BC05AAE0A165F0963409F6760A2493D3DC0DB6286DFB057634082D8A1B32F843EC0010800000005000000DB6286DFB057634082D8A1B32F843EC0DB6286DFB057634082D8A1B32F843EC075B4E4D0C60C634031FA5D1A371540C0D7197CED9B636340A3CB59A7630A41C050F4A72AC0FB6240974769FCE3CF41C0', 'hex')));\r
SELECT 'null response', ST_NumPoints(ST_GeomFromEWKT('COMPOUNDCURVE(CIRCULARSTRING(0 0,2 0, 2 1, 2 3, 4 3),(4 3, 4 5, 1 4, 0 0))'));\r
+SELECT 'minpoints issues - pass', GeomFromText('COMPOUNDCURVE((0 0,1 1))');\r
+SELECT 'minpoints issues - pass', GeomFromText('COMPOUNDCURVE(CIRCULARSTRING(0 0,0 1,1 1))');\r
+SELECT 'minpoints issues - fail', GeomFromText('COMPOUNDCURVE(CIRCULARSTRING(0 0,1 1))');\r
+SELECT 'minpoints issues - fail', GeomFromText('COMPOUNDCURVE(CIRCULARSTRING(0 0))');\r
+SELECT 'minpoints issues - fail', GeomFromText('COMPOUNDCURVE((0 0),(0 0,1 1))');\r
valid wkb compound curve 4|COMPOUNDCURVE((153.72942375 -27.2175704,152.29285719 -29.23940482,154.74034096 -30.51635287),CIRCULARSTRING(154.74034096 -30.51635287,154.74034096 -30.51635287,152.39926953 -32.16574411,155.11278414 -34.08116619,151.86720784 -35.62414508))
valid wkb compound curve 5|COMPOUNDCURVE(CIRCULARSTRING(157.87950492 -27.59001358,156.01728901 -28.28169378,155.59163966 -26.52589021),(155.59163966 -26.52589021,153.72942375 -27.2175704,152.29285719 -29.23940482,154.74034096 -30.51635287),CIRCULARSTRING(154.74034096 -30.51635287,154.74034096 -30.51635287,152.39926953 -32.16574411,155.11278414 -34.08116619,151.86720784 -35.62414508))
null response|
+minpoints issues - pass|01090000000100000001020000000200000000000000000000000000000000000000000000000000F03F000000000000F03F
+minpoints issues - pass|010900000001000000010800000003000000000000000000000000000000000000000000000000000000000000000000F03F000000000000F03F000000000000F03F
+ERROR: geometry must have an odd number of points
+HINT: "COMPOUNDCURVE(CIRCULARSTRING(0 0,1 1)" <-- parse error at position 37 within geometry
+ERROR: geometry requires more points
+HINT: "COMPOUNDCURVE(CIRCULARSTRING(0 0)" <-- parse error at position 33 within geometry
+ERROR: geometry requires more points
+HINT: "COMPOUNDCURVE((0 0)" <-- parse error at position 19 within geometry