On Fri, 07 Aug 2015 16:43:11 +0200, Ing. Pierluigi De Rosa wrote:
Dear all,

I'm experiencing than when I create a new empty spatialite from qgis it
takes long time to do it.
---------------- <snip> -------------
sql = 'SELECT InitSpatialMetadata()'


Hi Pierluigi,

InitSpatialMetadata() will insert about 5,000 rows into the
spatial_ref_sys table.
SQLite is a full ACID DBMS, so performing so many INSERTs
outside a TRANSACTION will certainly be a very slow operation.

solution #1:
-----------
sql = 'BEGIN; SELECT InitSpatialMetadata(); COMMIT;'

solution #2:
------------
sql = 'SELECT InitSpatialMetadata(1);'

both solutions have the same identical effect:
in the first case you'll explicitly define a Transaction
in your own SQL code.
in the second case by passing to InitSpatialMetadata()
a TRUE argument you'll authorize this function to silently
handle an internal Transaction.

bye Sandro
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer

Reply via email to