Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitde65d53

Browse files
committed
Merge branch 'master' into rel_1_3_beta
2 parentsf95b65e +5d62358 commitde65d53

File tree

5 files changed

+62
-10
lines changed

5 files changed

+62
-10
lines changed

‎expected/pathman_callbacks.out

Lines changed: 32 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ SELECT set_init_callback('callbacks.abc',
2727

2828
INSERT INTO callbacks.abc VALUES (123, 1);
2929
INSERT INTO callbacks.abc VALUES (223, 1); /* show warning */
30-
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_3", "range_max": "301", "range_min": "201"}
30+
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_3", "range_max": "301", "range_min": "201", "parent_schema": "callbacks", "partition_schema": "callbacks"}
3131
SELECT set_spawn_using_bgw('callbacks.abc', true);
3232
set_spawn_using_bgw
3333
---------------------
@@ -54,21 +54,21 @@ SELECT set_spawn_using_bgw('callbacks.abc', false);
5454
(1 row)
5555

5656
SELECT append_range_partition('callbacks.abc');
57-
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_5", "range_max": "501", "range_min": "401"}
57+
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_5", "range_max": "501", "range_min": "401", "parent_schema": "callbacks", "partition_schema": "callbacks"}
5858
append_range_partition
5959
------------------------
6060
callbacks.abc_5
6161
(1 row)
6262

6363
SELECT prepend_range_partition('callbacks.abc');
64-
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_6", "range_max": "1", "range_min": "-99"}
64+
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_6", "range_max": "1", "range_min": "-99", "parent_schema": "callbacks", "partition_schema": "callbacks"}
6565
prepend_range_partition
6666
-------------------------
6767
callbacks.abc_6
6868
(1 row)
6969

7070
SELECT add_range_partition('callbacks.abc', 501, 602);
71-
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_7", "range_max": "602", "range_min": "501"}
71+
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_7", "range_max": "602", "range_min": "501", "parent_schema": "callbacks", "partition_schema": "callbacks"}
7272
add_range_partition
7373
---------------------
7474
callbacks.abc_7
@@ -97,16 +97,38 @@ SELECT set_init_callback('callbacks.abc',
9797
(1 row)
9898

9999
SELECT create_hash_partitions('callbacks.abc', 'a', 5);
100-
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_0"}
101-
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_1"}
102-
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_2"}
103-
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_3"}
104-
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_4"}
100+
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_0", "parent_schema": "callbacks", "partition_schema": "callbacks"}
101+
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_1", "parent_schema": "callbacks", "partition_schema": "callbacks"}
102+
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_2", "parent_schema": "callbacks", "partition_schema": "callbacks"}
103+
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_3", "parent_schema": "callbacks", "partition_schema": "callbacks"}
104+
WARNING: callback arg: {"parent": "abc", "parttype": "1", "partition": "abc_4", "parent_schema": "callbacks", "partition_schema": "callbacks"}
105105
create_hash_partitions
106106
------------------------
107107
5
108108
(1 row)
109109

110+
DROP TABLE callbacks.abc CASCADE;
111+
NOTICE: drop cascades to 5 other objects
112+
/* create table in public schema */
113+
CREATE TABLE abc(a serial, b int);
114+
SELECT set_init_callback('abc',
115+
'callbacks.abc_on_part_created_callback');
116+
set_init_callback
117+
-------------------
118+
119+
(1 row)
120+
121+
SELECT create_range_partitions('abc', 'a', 1, 100, 2);
122+
NOTICE: sequence "abc_seq" does not exist, skipping
123+
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_1", "range_max": "101", "range_min": "1", "parent_schema": "public", "partition_schema": "public"}
124+
WARNING: callback arg: {"parent": "abc", "parttype": "2", "partition": "abc_2", "range_max": "201", "range_min": "101", "parent_schema": "public", "partition_schema": "public"}
125+
create_range_partitions
126+
-------------------------
127+
2
128+
(1 row)
129+
130+
DROP TABLE abc CASCADE;
131+
NOTICE: drop cascades to 2 other objects
110132
DROP SCHEMA callbacks CASCADE;
111-
NOTICE: drop cascades to8 other objects
133+
NOTICE: drop cascades to2 other objects
112134
DROP EXTENSION pg_pathman CASCADE;

‎sql/pathman_callbacks.sql

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,15 @@ SELECT set_init_callback('callbacks.abc',
4343
'callbacks.abc_on_part_created_callback');
4444
SELECT create_hash_partitions('callbacks.abc','a',5);
4545

46+
DROPTABLEcallbacks.abc CASCADE;
47+
48+
/* create table in public schema*/
49+
CREATETABLEabc(aserial, bint);
50+
SELECT set_init_callback('abc',
51+
'callbacks.abc_on_part_created_callback');
52+
SELECT create_range_partitions('abc','a',1,100,2);
53+
54+
DROPTABLE abc CASCADE;
4655

4756
DROPSCHEMA callbacks CASCADE;
4857
DROP EXTENSION pg_pathman CASCADE;

‎src/partition_creation.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,8 +1450,12 @@ invoke_init_callback_internal(init_callback_params *cb_params)
14501450

14511451
JSB_INIT_VAL(&key,WJB_KEY,"parent");
14521452
JSB_INIT_VAL(&val,WJB_VALUE,get_rel_name_or_relid(parent_oid));
1453+
JSB_INIT_VAL(&key,WJB_KEY,"parent_schema");
1454+
JSB_INIT_VAL(&val,WJB_VALUE,get_namespace_name(get_rel_namespace(parent_oid)));
14531455
JSB_INIT_VAL(&key,WJB_KEY,"partition");
14541456
JSB_INIT_VAL(&val,WJB_VALUE,get_rel_name_or_relid(partition_oid));
1457+
JSB_INIT_VAL(&key,WJB_KEY,"partition_schema");
1458+
JSB_INIT_VAL(&val,WJB_VALUE,get_namespace_name(get_rel_namespace(partition_oid)));
14551459
JSB_INIT_VAL(&key,WJB_KEY,"parttype");
14561460
JSB_INIT_VAL(&val,WJB_VALUE,PartTypeToCString(PT_HASH));
14571461

@@ -1475,8 +1479,12 @@ invoke_init_callback_internal(init_callback_params *cb_params)
14751479

14761480
JSB_INIT_VAL(&key,WJB_KEY,"parent");
14771481
JSB_INIT_VAL(&val,WJB_VALUE,get_rel_name_or_relid(parent_oid));
1482+
JSB_INIT_VAL(&key,WJB_KEY,"parent_schema");
1483+
JSB_INIT_VAL(&val,WJB_VALUE,get_namespace_name(get_rel_namespace(parent_oid)));
14781484
JSB_INIT_VAL(&key,WJB_KEY,"partition");
14791485
JSB_INIT_VAL(&val,WJB_VALUE,get_rel_name_or_relid(partition_oid));
1486+
JSB_INIT_VAL(&key,WJB_KEY,"partition_schema");
1487+
JSB_INIT_VAL(&val,WJB_VALUE,get_namespace_name(get_rel_namespace(partition_oid)));
14801488
JSB_INIT_VAL(&key,WJB_KEY,"parttype");
14811489
JSB_INIT_VAL(&val,WJB_VALUE,PartTypeToCString(PT_RANGE));
14821490
JSB_INIT_VAL(&key,WJB_KEY,"range_min");

‎src/utils.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,18 @@ get_rel_name_or_relid(Oid relid)
234234
returnrelname;
235235
}
236236

237+
char*
238+
get_qualified_rel_name_or_relid(Oidrelid)
239+
{
240+
char*relname=get_rel_name(relid);
241+
char*namespace=get_namespace_name(get_rel_namespace(relid));
242+
243+
if (!relname)
244+
returnDatumGetCString(DirectFunctionCall1(oidout,
245+
ObjectIdGetDatum(relid)));
246+
returnpsprintf("%s.%s",namespace,relname);
247+
}
248+
237249

238250
#ifPG_VERSION_NUM<90600
239251
/*

‎src/utils.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ List * list_reverse(List *l);
3939
*/
4040
Oidget_rel_owner(Oidrelid);
4141
char*get_rel_name_or_relid(Oidrelid);
42+
char*get_qualified_rel_name_or_relid(Oidrelid);
4243
Oidget_attribute_type(Oidrelid,constchar*attname,boolmissing_ok);
4344
#ifPG_VERSION_NUM<90600
4445
charget_rel_persistence(Oidrelid);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp