diff --git a/sql/ddl_api.sql b/sql/ddl_api.sql index b2cadd8ec..8b6bf00b0 100644 --- a/sql/ddl_api.sql +++ b/sql/ddl_api.sql @@ -38,15 +38,21 @@ DECLARE tablespace_name NAME; main_table_has_items BOOLEAN; is_hypertable BOOLEAN; + is_partitioned BOOLEAN; chunk_time_interval_actual BIGINT; time_type REGTYPE; BEGIN - SELECT relname, nspname, reltablespace - INTO STRICT table_name, schema_name, tablespace_oid + SELECT relname, nspname, reltablespace, relkind = 'p' + INTO STRICT table_name, schema_name, tablespace_oid, is_partitioned FROM pg_class c INNER JOIN pg_namespace n ON (n.OID = c.relnamespace) WHERE c.OID = main_table; + IF is_partitioned THEN + RAISE EXCEPTION 'table % is already partitioned', main_table + USING ERRCODE = 'IO110'; + END IF; + SELECT tableowner INTO STRICT table_owner FROM pg_catalog.pg_tables