Hi all,
The current way for a SpatialDatabasesDSMetadata to get information about a
geo table is to send a query for each detected dataset in the OGC
geometry_columns view/table:
• first, a query is sent to find the list of schema and tables,
• then for each Dataset name, a new query if sent to get geo column info
(name, srid, etc.)
On big databases (~120 schemas, 10000k tables), it can be quite slow,
especially if DB is remote.
One way to improve this is to get the list of dataStoreLayers and dataset
names in the same query, by querying geometry_columns once, with all needed
columns.
I made a quick test with PostgisDSMetadata and performance to list geo
tables dropped from several minutes to some ms.
Do you think its worth adding this support to the code, after support for
all spatial databases is added ?
Thanks.
(by the way, OJ 1.13 r5792 crashes on OS X, when loading a spatialite
database that used to work.
file command on spatialite gives:
/Users/nicolas/tmp/test_qgis_spatialite.sqlite: SQLite 3.x database, last
written using SQLite version 3020000
and console output after crash:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0000000161c2a8b5, pid=49947, tid=0x000000000000de07
#
# JRE version: Java(TM) SE Runtime Environment (8.0_144-b01) (build
1.8.0_144-b01)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode
bsd-amd64 compressed oops)
# Problematic frame:
# C [libsqlite3.0.dylib+0x3b8b5] findElementWithHash+0x69
)
Nicolas
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel