The Geopackage specification has an inconsistency regarding the character casing of persistent Geopackage objects that needs to be corrected or clearly documented as an exception to avoid continued confusion. The issue is with column names cited in section 2.3.3.1.1 (Table 12) of the document.
Section 1.0 Base states:
The required capabilities specified in this clause serve as the base for options specified in clause 2 and extensions specified in clause 3. All gpkg_* tables and views and all tiles user data tables specified in this standard SHALL have only the specified columns and table constraints. Any features user data tables MAY have columns in addition to those specified. All specified table and column name values SHALL be lowercase.
Section 2.3.3.1.1 Table Definition
Table 12 Data Column Constraints Table or View Definition
This table contains two entries under Column Name that violate the explicit instructions in Section 1.0 that states column name values SHALL be lowercase (referenced above). Column names minIsInclusive and maxIsInclusive should be lowercase, not mixed case.
Implementation of this correction requires the following changes in the Geopackage specification (reference version 12-128r12_OGC Geopackage_Encoding_Standard_with_Corrigendum_2.pdf):
Section 2.3.3.1.1 Table Definition
Table 12 Data Column Constraints Table or View Definition
Column names minIsInclusive and maxIsInclusive should be lowercase, not mixed case (change to minisinclusive and maxisinclusive).
Section 2.3.3.1.2 Table Data Values
Req 65: minIsInclusive and maxIsInclusive should be changed to lowercase minisinclusive and maxisinclusive. Same update needs to happen in the test case for Req 65.
Req 66: minIsInclusive and maxIsInclusive should be changed to lowercase minisinclusive and maxisinclusive. Same update needs to happen in the test case for Req 66.
C.9 gpkg_data_column _constraints
Table 32 gpkg_data_column _constraints Table Definition SQL
Column names minIsInclusive and maxIsInclusive should be lowercase, not mixed case (change to minisinclusive and maxisinclusive).
The Geopackage specification has an inconsistency regarding the character casing of persistent Geopackage objects that needs to be corrected or clearly documented as an exception to avoid continued confusion. The issue is with column names cited in section 2.3.3.1.1 (Table 12) of the document.
Section 1.0 Base states:
The required capabilities specified in this clause serve as the base for options specified in clause 2 and extensions specified in clause 3. All gpkg_* tables and views and all tiles user data tables specified in this standard SHALL have only the specified columns and table constraints. Any features user data tables MAY have columns in addition to those specified. All specified table and column name values SHALL be lowercase.
Section 2.3.3.1.1 Table Definition
Table 12 Data Column Constraints Table or View Definition
This table contains two entries under Column Name that violate the explicit instructions in Section 1.0 that states column name values SHALL be lowercase (referenced above). Column names minIsInclusive and maxIsInclusive should be lowercase, not mixed case.
Implementation of this correction requires the following changes in the Geopackage specification (reference version 12-128r12_OGC Geopackage_Encoding_Standard_with_Corrigendum_2.pdf):
Section 2.3.3.1.1 Table Definition
Table 12 Data Column Constraints Table or View Definition
Column names minIsInclusive and maxIsInclusive should be lowercase, not mixed case (change to minisinclusive and maxisinclusive).
Section 2.3.3.1.2 Table Data Values
Req 65: minIsInclusive and maxIsInclusive should be changed to lowercase minisinclusive and maxisinclusive. Same update needs to happen in the test case for Req 65.
Req 66: minIsInclusive and maxIsInclusive should be changed to lowercase minisinclusive and maxisinclusive. Same update needs to happen in the test case for Req 66.
C.9 gpkg_data_column _constraints
Table 32 gpkg_data_column _constraints Table Definition SQL
Column names minIsInclusive and maxIsInclusive should be lowercase, not mixed case (change to minisinclusive and maxisinclusive).