mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-18 00:06:00 -04:00
Add test for extracting candidate primary keys from geometryless view
This commit is contained in:
parent
6b82917715
commit
ea970d9ef1
@ -111,6 +111,14 @@ class TestPyQgsProviderConnectionPostgres(unittest.TestCase, TestPyQgsProviderCo
|
|||||||
self.assertFalse('geometries_table' in table_names)
|
self.assertFalse('geometries_table' in table_names)
|
||||||
self.assertFalse('geometries_view' in table_names)
|
self.assertFalse('geometries_view' in table_names)
|
||||||
|
|
||||||
|
tables = conn.tables('qgis_test', QgsAbstractDatabaseProviderConnection.Aspatial | QgsAbstractDatabaseProviderConnection.View)
|
||||||
|
table_names = self._table_names(tables)
|
||||||
|
b32523_view = self._table_by_name(tables, 'b32523')
|
||||||
|
self.assertTrue(b32523_view)
|
||||||
|
pks = b32523_view.primaryKeyColumns()
|
||||||
|
self.assertTrue('pk' in pks)
|
||||||
|
self.assertTrue('random' in pks)
|
||||||
|
|
||||||
geometries_table = self._table_by_name(conn.tables('qgis_test'), 'geometries_table')
|
geometries_table = self._table_by_name(conn.tables('qgis_test'), 'geometries_table')
|
||||||
srids_and_types = [[t.crs.postgisSrid(), t.wkbType]
|
srids_and_types = [[t.crs.postgisSrid(), t.wkbType]
|
||||||
for t in geometries_table.geometryColumnTypes()]
|
for t in geometries_table.geometryColumnTypes()]
|
||||||
|
9
tests/testdata/provider/testdata_pg.sql
vendored
9
tests/testdata/provider/testdata_pg.sql
vendored
@ -662,3 +662,12 @@ CREATE VIEW qgis_test.some_poly_data_shift_bbox AS
|
|||||||
|
|
||||||
CREATE TABLE qgis_test.b31799_test_table AS (SELECT (ST_DumpPoints(ST_GeneratePoints(ST_Expand('SRID=4326;POINT(0 0)'::geometry,90),10))).geom, random());
|
CREATE TABLE qgis_test.b31799_test_table AS (SELECT (ST_DumpPoints(ST_GeneratePoints(ST_Expand('SRID=4326;POINT(0 0)'::geometry,90),10))).geom, random());
|
||||||
CREATE VIEW qgis_test.b31799_test_view_ctid AS (SELECT ctid, geom, random() FROM qgis_test.b31799_test_table, pg_sleep(0.1));
|
CREATE VIEW qgis_test.b31799_test_view_ctid AS (SELECT ctid, geom, random() FROM qgis_test.b31799_test_table, pg_sleep(0.1));
|
||||||
|
|
||||||
|
---------------------------------------------
|
||||||
|
--
|
||||||
|
-- Geometryless view
|
||||||
|
-- See https://github.com/qgis/QGIS/issues/32523
|
||||||
|
--
|
||||||
|
CREATE VIEW qgis_test.b32523 AS
|
||||||
|
SELECT pk, random()
|
||||||
|
FROM qgis_test.some_poly_data;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user