|
328 | 328 | $$ LANGUAGE plpgsql; |
329 | 329 |
|
330 | 330 | /* |
331 | | - * |
| 331 | + * |
332 | 332 | */ |
333 | 333 | CREATEOR REPLACE FUNCTION @extschema@.check_boundaries( |
334 | 334 | p_relation REGCLASS |
@@ -706,7 +706,7 @@ BEGIN |
706 | 706 | FROM @extschema@.pathman_configWHERE relname::regclass= p_relation; |
707 | 707 |
|
708 | 708 | v_atttype := @extschema@.get_attribute_type_name(p_relation, v_attname); |
709 | | -
|
| 709 | + |
710 | 710 | EXECUTE format('SELECT @extschema@.append_partition_internal($1, $2, $3, ARRAY[]::%s[])', v_atttype) |
711 | 711 | INTO v_part_name |
712 | 712 | USING p_relation, v_atttype, v_interval; |
@@ -918,7 +918,15 @@ DECLARE |
918 | 918 | v_condTEXT; |
919 | 919 | v_plain_partnameTEXT; |
920 | 920 | v_plain_schemaTEXT; |
| 921 | +rel_persistenceCHAR; |
921 | 922 | BEGIN |
| 923 | +/* Ignore temporary tables*/ |
| 924 | +SELECT relpersistenceFROMpg_catalog.pg_classWHEREoid= p_partition INTO rel_persistence; |
| 925 | +IF rel_persistence='t'::CHAR THEN |
| 926 | +RAISE EXCEPTION'Temporary table % cannot be used as a partition', |
| 927 | +quote_ident(p_partition::TEXT); |
| 928 | +END IF; |
| 929 | + |
922 | 930 | /* Prevent concurrent partition management*/ |
923 | 931 | PERFORM @extschema@.acquire_partitions_lock(); |
924 | 932 |
|
@@ -1086,7 +1094,7 @@ DECLARE |
1086 | 1094 | EXECUTE q USING %7$s; |
1087 | 1095 | RETURN NULL; |
1088 | 1096 | END $body$ LANGUAGE plpgsql'; |
1089 | | -triggerTEXT :='CREATE TRIGGER %s_update_trigger'|| |
| 1097 | +triggerTEXT :='CREATE TRIGGER %s_update_trigger'|| |
1090 | 1098 | 'BEFORE UPDATE ON %s'|| |
1091 | 1099 | 'FOR EACH ROW EXECUTE PROCEDURE %s_update_trigger_func()'; |
1092 | 1100 | att_namesTEXT; |
|