15
15
ALTER TABLE @extschema@.pathman_config RENAME COLUMN attname TO expr;
16
16
ALTER TABLE @extschema@.pathman_config ADD COLUMN cooked_expr TEXT ;
17
17
18
- DROP TRIGGER pathman_config_params_trigger;
18
+ DROP TRIGGER pathman_config_params_trigger ON @extschema@.pathman_config_params ;
19
19
20
20
CREATE TRIGGER pathman_config_params_trigger
21
21
AFTER INSERT OR UPDATE OR DELETE ON @extschema@.pathman_config_params
22
22
FOR EACH ROW EXECUTE PROCEDURE @extschema@.pathman_config_params_trigger_func();
23
23
24
- CREATE OR REPLACE VIEW @extschema@.pathman_cache_stats
25
- AS SELECT * FROM @extschema@.show_cache_stats();
24
+
25
+ DROP FUNCTION @extschema@.validate_interval_value(REGCLASS, TEXT , INTEGER , TEXT ) CASCADE;
26
+
27
+ CREATE OR REPLACE FUNCTION @extschema@.validate_interval_value(
28
+ partrel REGCLASS,
29
+ expr TEXT ,
30
+ parttype INTEGER ,
31
+ range_interval TEXT ,
32
+ cooked_expr TEXT )
33
+ RETURNS BOOL AS ' pg_pathman' , ' validate_interval_value'
34
+ LANGUAGE C;
26
35
27
36
ALTER TABLE @extschema@.pathman_config
28
37
ADD CONSTRAINT pathman_config_interval_check
29
- CHECK (@extschema@.validate_interval_value(atttype,
38
+ CHECK (@extschema@.validate_interval_value(partrel,
39
+ expr,
30
40
parttype,
31
- range_interval));
41
+ range_interval,
42
+ cooked_expr));
32
43
33
44
DO $$
34
45
DECLARE
@@ -41,18 +52,35 @@ BEGIN
41
52
EXECUTE format(' ALTER TABLE %s RENAME CONSTRAINT %s TO %s' ,
42
53
v_rec .t , v_rec .conname , v_rec .new_conname );
43
54
END LOOP;
44
-
45
- RETURN TRUE;
46
55
END
47
56
$$ LANGUAGE plpgsql;
48
57
49
58
59
+ DROP VIEW pathman_partition_list;
60
+
61
+ DROP FUNCTION @extschema@.show_partition_list();
62
+
63
+ CREATE OR REPLACE FUNCTION @extschema@.show_partition_list()
64
+ RETURNS TABLE (
65
+ parent REGCLASS,
66
+ partition REGCLASS,
67
+ parttype INT4,
68
+ expr TEXT ,
69
+ range_min TEXT ,
70
+ range_max TEXT )
71
+ AS ' pg_pathman' , ' show_partition_list_internal'
72
+ LANGUAGE C STRICT;
73
+
74
+ CREATE OR REPLACE VIEW @extschema@.pathman_partition_list
75
+ AS SELECT * FROM @extschema@.show_partition_list();
76
+
77
+ GRANT SELECT ON @extschema@.pathman_partition_list TO PUBLIC;
78
+
79
+
50
80
/* ------------------------------------------------------------------------
51
81
* Drop irrelevant objects
52
82
* ----------------------------------------------------------------------*/
53
- DROP FUNCTION @extschema@.validate_interval_value(REGCLASS, TEXT , INTEGER , TEXT );
54
- DROP FUNCTION @extschema@.show_partition_list();
55
- DROP FUNCTION @extschema@._partition_data_concurrent(REGCLASS, ANYELEMENT, ANYELEMENT, INT , BIGINT );
83
+ DROP FUNCTION @extschema@._partition_data_concurrent(REGCLASS, ANYELEMENT, ANYELEMENT, INT , OUT BIGINT );
56
84
DROP FUNCTION @extschema@.disable_pathman_for(REGCLASS);
57
85
DROP FUNCTION @extschema@.common_relation_checks(REGCLASS, TEXT );
58
86
DROP FUNCTION @extschema@.validate_relations_equality(OID , OID );
@@ -89,26 +117,6 @@ ALTER FUNCTION @extschema@.build_sequence_name(REGCLASS) STRICT;
89
117
/* ------------------------------------------------------------------------
90
118
* (Re)create functions
91
119
* ----------------------------------------------------------------------*/
92
- CREATE OR REPLACE FUNCTION @extschema@.validate_interval_value(
93
- partrel REGCLASS,
94
- expr TEXT ,
95
- parttype INTEGER ,
96
- range_interval TEXT ,
97
- cooked_expr TEXT )
98
- RETURNS BOOL AS ' pg_pathman' , ' validate_interval_value'
99
- LANGUAGE C;
100
-
101
- CREATE OR REPLACE FUNCTION @extschema@.show_partition_list()
102
- RETURNS TABLE (
103
- parent REGCLASS,
104
- partition REGCLASS,
105
- parttype INT4,
106
- expr TEXT ,
107
- range_min TEXT ,
108
- range_max TEXT )
109
- AS ' pg_pathman' , ' show_partition_list_internal'
110
- LANGUAGE C STRICT;
111
-
112
120
CREATE OR REPLACE FUNCTION @extschema@.show_cache_stats()
113
121
RETURNS TABLE (
114
122
context TEXT ,
@@ -118,6 +126,9 @@ RETURNS TABLE (
118
126
AS ' pg_pathman' , ' show_cache_stats_internal'
119
127
LANGUAGE C STRICT;
120
128
129
+ CREATE OR REPLACE VIEW @extschema@.pathman_cache_stats
130
+ AS SELECT * FROM @extschema@.show_cache_stats();
131
+
121
132
122
133
CREATE OR REPLACE FUNCTION @extschema@._partition_data_concurrent(
123
134
relation REGCLASS,
0 commit comments