[gdal-dev] LAUNDER option for geopackages

Even Rouault even.rouault at spatialys.com
Wed Apr 3 13:59:52 PDT 2024


Hi,

I've given this a crack at https://github.com/OSGeo/gdal/pull/9609

The newly introduced LAUNDER option for GeoPackage is indeed quite 
"extreme" compared to the existing ones, hence I've defaulted it to NO.

I've also added a LAUNDER_ASCII option to PG/PGDump to do something 
similar to GeoPackage LAUNDER.

Even

Le 03/04/2024 à 17:50, Rahkonen Jukka via gdal-dev a écrit :
>
> Hi,
>
> The GeoPackage standard recommends some laundering to be done by the 
> clients:
>
> Implementers should be aware of the fact that SQLite table names are 
> not case
>
> sensitive and that table names in sqlite_master and gpkg_extensions 
> may not have
>
> the same case. When searching for table name references, it is 
> recommended to
>
> transform table names to lower case with the lower() function. See the 
> Abstract
>
> Test Suite for an example.
>
> If GeoNode does not have any other reason for its requirement than 
> what you have pointed out, then maybe it is too strict.
>
> Having launder in GPKG driver feels still reasonable. SQLite driver 
> has it already https://gdal.org/drivers/vector/sqlite.html.
>
>
> “LAUNDER=[YES/NO]: Defaults to YES. Controls whether layer and field 
> names will be laundered for easier use in SQLite. Laundered names will 
> be converted to lower case and some special characters(' - #) will be 
> changed to underscores.”
>
> It is either not documented or not implemented, but laundering 
> identifiers to work without "quotas" would also require removing 
> numbers from the beginning of the name. And at least % should be added 
> to the list of special characters. But total laundering requires quite 
> a lot https://www.sqlite.org/draft/tokenreq.html.
>
> Laundering characters like äöå for GeoNode feels too much. Who would 
> say into what characters to launder?
>
> -Jukka Rahkonen-
>
> *Lähettäjä:* gdal-dev <gdal-dev-bounces at lists.osgeo.org> *Puolesta 
> *Robert Hewlett via gdal-dev
> *Lähetetty:* keskiviikko 3. huhtikuuta 2024 17.51
> *Vastaanottaja:* gdal-dev at lists.osgeo.org
> *Aihe:* [gdal-dev] LAUNDER option for geopackages
>
> Hi,
>
> Is there a LAUNDER for geopackages?
>
> I ask this because at the following site:
>
> https://www.geopackage.org/guidance/getting-started.html
>
> Gives this specific guidance:
>
> Note: *For maximum interoperability,* start your database identifiers 
> (table names, column names, etc.) with a lowercase character and only 
> use *lowercase characters*, numbers 0-9, and underscores (_).
>
> Which then turned into a *constraint* in GeoNode (I could not upload a 
> certain geopackage from the township of langley) where I eventually 
> discovered in the celery logs this error:
>
> ERROR/ForkPoolWorker-958] {'validation_code': 'RQ1', 
> 'validation_description': 'Layer names must start with a letter, and 
> *valid char
> acters are lowercase a-z*, numbers or underscores.', 'level': 'error', 
> 'locations': ['Error layer: Parcel_Attributes']}
>
> I would love LAUNDER to be a more global option.
>
> Upper for: Oracle and Shapefiles.
>
> Lower for: Postgresql, Mysql, geopackages
>
> Just wondering,
>
> Rob
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/gdal-dev

-- 
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20240403/4769d49b/attachment.htm>


More information about the gdal-dev mailing list