mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
add test for postgres hasSpatialIndex
This commit is contained in:
parent
89101c51e3
commit
fa8a45a1c2
@ -31,6 +31,7 @@ from qgis.core import (
|
||||
QgsVectorLayer,
|
||||
QgsVectorLayerExporter,
|
||||
QgsFeatureRequest,
|
||||
QgsFeatureSource,
|
||||
QgsFeature,
|
||||
QgsFieldConstraints,
|
||||
QgsDataProvider,
|
||||
@ -2515,6 +2516,20 @@ class TestPyQgsPostgresProvider(unittest.TestCase, ProviderTestCase):
|
||||
'username': 'my username',
|
||||
})
|
||||
|
||||
def testHasSpatialIndex(self):
|
||||
for layer_name in ('hspi_table', 'hspi_materialized_view'):
|
||||
columns = {'geom_without_index': QgsFeatureSource.SpatialIndexNotPresent, 'geom_with_index': QgsFeatureSource.SpatialIndexPresent}
|
||||
for (geometry_column, spatial_index) in columns.items():
|
||||
conn = 'service=\'qgis_test\''
|
||||
if 'QGIS_PGTEST_DB' in os.environ:
|
||||
conn = os.environ['QGIS_PGTEST_DB']
|
||||
vl = QgsVectorLayer(
|
||||
conn +
|
||||
' sslmode=disable key=\'id\' srid=4326 type=\'Polygon\' table="qgis_test"."{n}" ({c}) sql='.format(n=layer_name, c=geometry_column),
|
||||
'test', 'postgres')
|
||||
self.assertTrue(vl.isValid())
|
||||
self.assertEqual(vl.hasSpatialIndex(), spatial_index)
|
||||
|
||||
|
||||
class TestPyQgsPostgresProviderCompoundKey(unittest.TestCase, ProviderTestCase):
|
||||
|
||||
|
1
tests/testdata/provider/testdata_pg.sh
vendored
1
tests/testdata/provider/testdata_pg.sh
vendored
@ -16,6 +16,7 @@ SCRIPTS="
|
||||
tests/testdata/provider/testdata_pg_json.sql
|
||||
tests/testdata/provider/testdata_pg_pointcloud.sql
|
||||
tests/testdata/provider/testdata_pg_bigint_pk.sql
|
||||
tests/testdata/provider/testdata_pg_hasspatialindex.sql
|
||||
"
|
||||
|
||||
SCRIPTS12="
|
||||
|
16
tests/testdata/provider/testdata_pg_hasspatialindex.sql
vendored
Normal file
16
tests/testdata/provider/testdata_pg_hasspatialindex.sql
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
--CREATE SCHEMA IF NOT EXISTS qgis_test;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS qgis_test.hspi_table;
|
||||
|
||||
CREATE TABLE qgis_test.hspi_table
|
||||
(
|
||||
id serial PRIMARY KEY,
|
||||
geom_without_index geometry(Polygon,4326),
|
||||
geom_with_index geometry(Polygon,4326)
|
||||
);
|
||||
CREATE INDEX hspi_index_1 ON qgis_test.hspi_table USING GIST (geom_with_index);
|
||||
|
||||
CREATE MATERIALIZED view qgis_test.hspi_materialized_view AS SELECT * FROM qgis_test.hspi_table;
|
||||
CREATE INDEX hspi_index_2 ON qgis_test.hspi_materialized_view USING GIST (geom_with_index);
|
||||
|
Loading…
x
Reference in New Issue
Block a user