1-- valid only for PostgreSQL 12 and newer, because we are testing features
2-- available only on this version.
3
4CREATE TABLE qgis_test.test_gen_col (
5  id SERIAL PRIMARY KEY,
6  name varchar(32),
7  geom GEOMETRY('Polygon', 4326) NOT NULL,
8  cent GEOMETRY('Point', 4326) NOT NULL GENERATED ALWAYS AS ( st_centroid(geom) ) STORED,
9  poly_area FLOAT NOT NULL GENERATED ALWAYS AS ( st_area(st_transform(geom, 31979)) ) STORED
10);
11
12CREATE TABLE qgis_test.test_gen_geog_col (
13  id SERIAL PRIMARY KEY,
14  geog GEOGRAPHY('Polygon', 4326) NOT NULL,
15  cent GEOGRAPHY('Point', 4326) NOT NULL GENERATED ALWAYS AS ( st_centroid(geog) ) STORED,
16  poly_area FLOAT NOT NULL GENERATED ALWAYS AS ( st_area(geog) ) STORED
17);
18
19CREATE TABLE qgis_test.generated_columns(
20  pk INTEGER PRIMARY KEY,
21  generated_field varchar(30) GENERATED ALWAYS AS ('test:' || "pk"::varchar) STORED);
22INSERT INTO qgis_test.generated_columns ("pk") VALUES(1);
23