@@ -188,3 +188,104 @@ CREATE TABLE qgis_test.mls3d(
188
188
);
189
189
190
190
INSERT INTO qgis_test .mls3d values (1 , ' srid=4326;MultiLineString((0 0 0, 1 1 1),(2 2 2, 3 3 3))' ::geometry);
191
+
192
+
193
+ -- ---------------------------------------
194
+ -- Test tables with INHERITS
195
+ --
196
+ -- This is bad design: the common fields
197
+ -- are replicated in child tables and
198
+ -- leads to duplicated ids in the parent
199
+ -- table
200
+ --
201
+
202
+
203
+ CREATE TABLE qgis_test .base_table_bad
204
+ (
205
+ gid serial NOT NULL ,
206
+ geom geometry(Point ,4326 ),
207
+ code character varying,
208
+ CONSTRAINT base_bad_pkey PRIMARY KEY (gid)
209
+ )
210
+ WITH (
211
+ OIDS= FALSE
212
+ );
213
+
214
+ CREATE TABLE qgis_test .child_table_bad
215
+ (
216
+ gid serial NOT NULL ,
217
+ geom geometry(Point ,4326 ),
218
+ code character varying,
219
+ CONSTRAINT child_bad_pkey PRIMARY KEY (gid)
220
+ )
221
+ INHERITS ( qgis_test .base_table_bad )
222
+ WITH (
223
+ OIDS= FALSE
224
+ );
225
+
226
+
227
+ CREATE TABLE qgis_test .child_table2_bad
228
+ (
229
+ gid serial NOT NULL ,
230
+ geom geometry(Point ,4326 ),
231
+ code character varying,
232
+ CONSTRAINT child2_bad_pkey PRIMARY KEY (gid)
233
+ )
234
+ INHERITS ( qgis_test .base_table_bad )
235
+ WITH (
236
+ OIDS= FALSE
237
+ );
238
+
239
+ INSERT INTO qgis_test .child_table_bad (geom, code) VALUES (' srid=4326;Point(0 0)' ::geometry, ' child 1' );
240
+ INSERT INTO qgis_test .child_table_bad (geom, code) VALUES (' srid=4326;Point(1 1)' ::geometry, ' child 2' );
241
+
242
+
243
+ INSERT INTO qgis_test .child_table2_bad (geom, code) VALUES (' srid=4326;Point(-1 -1)' ::geometry, ' child2 1' );
244
+ INSERT INTO qgis_test .child_table2_bad (geom, code) VALUES (' srid=4326;Point(-1 1)' ::geometry, ' child2 2' );
245
+
246
+
247
+
248
+ -- ---------------------------------------
249
+ -- Test tables with INHERITS
250
+ --
251
+ -- This is good design: the common fields
252
+ -- and the pk are only in the parent table
253
+ -- no pk duplication
254
+
255
+
256
+ CREATE TABLE qgis_test .base_table_good
257
+ (
258
+ gid serial NOT NULL ,
259
+ geom geometry(Point ,4326 ),
260
+ CONSTRAINT base_good_pkey PRIMARY KEY (gid)
261
+ )
262
+ WITH (
263
+ OIDS= FALSE
264
+ );
265
+
266
+ CREATE TABLE qgis_test .child_table_good
267
+ (
268
+ code1 character varying
269
+ )
270
+ INHERITS ( qgis_test .base_table_good )
271
+ WITH (
272
+ OIDS= FALSE
273
+ );
274
+
275
+
276
+ CREATE TABLE qgis_test .child_table2_good
277
+ (
278
+ code2 character varying
279
+ )
280
+ INHERITS ( qgis_test .base_table_good )
281
+ WITH (
282
+ OIDS= FALSE
283
+ );
284
+
285
+ INSERT INTO qgis_test .child_table_good (geom, code1) VALUES (' srid=4326;Point(0 0)' ::geometry, ' child 1' );
286
+ INSERT INTO qgis_test .child_table_good (geom, code1) VALUES (' srid=4326;Point(1 1)' ::geometry, ' child 2' );
287
+
288
+
289
+ INSERT INTO qgis_test .child_table2_good (geom, code2) VALUES (' srid=4326;Point(-1 -1)' ::geometry, ' child2 1' );
290
+ INSERT INTO qgis_test .child_table2_good (geom, code2) VALUES (' srid=4326;Point(-1 1)' ::geometry, ' child2 2' );
291
+
0 commit comments