Torben,

the underlying problem for GeoPackageGetFeatureOutputFormatTest is that 
SystemTestData.SEVEN has two geometry columns and this violates the 
GeoPackage spec:

"Requirement 30: A feature table SHALL have only one geometry column."
https://github.com/opengeospatial/geopackage/blob/master/spec/2a_features.adoc

The SQL constraint matches the GeoPackage spec.

Kind regards,
Ben.

On 27/04/17 15:05, Ben Caradoc-Davies wrote:
> git blame indicates that the constraint was added in this commit:
> https://github.com/geotools/geotools/commit/4c367628f7ca13d43cebccb4a3ee50cd2d72bb3c
> The constraint is straight out of the OGC GeoPackage Encoding Standard:
> Appendix A: Table Definition SQL (Normative)
> https://github.com/opengeospatial/geopackage/blob/master/spec/annexes/ddl.adoc
> Removing the constraint fixes GeoPackageGetFeatureOutputFormatTest
[...]
> On 27/04/17 14:50, Ben Caradoc-Davies wrote:
>> The underlying cause is the SQLite extended result
>> code 2067:
>> https://sqlite.org/rescode.html
>> (2067) SQLITE_CONSTRAINT_UNIQUE
>> The SQLITE_CONSTRAINT_UNIQUE error code is an extended error code for
>> SQLITE_CONSTRAINT indicating that a UNIQUE constraint failed.
>> addGeometryColumnsEntry is called twice with these values:
>> [Seven, pointProperty, Point, 32615, 0, 0]
>> [Seven, boundedBy, Polygon, 32615, 0, 0]
>> but gpkg_geometry_columns.sql has the following constraint that limits
>> each table to one geometry column:
>> CONSTRAINT uk_gc_table_name UNIQUE (table_name)

-- 
Ben Caradoc-Davies <b...@transient.nz>
Director
Transient Software Limited <http://transient.nz/>
New Zealand

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
GeoTools-Devel mailing list
GeoTools-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to