Skip to content

Commit c9a21fe

Browse files
committed
Disable autovacuum in MERGE test script
Otherwise, it can fail given sufficient bad luck. Backpatch to 15. Discussion: https://postgr.es/m/537759.1663625579@sss.pgh.pa.us
1 parent 6f0dad8 commit c9a21fe

File tree

2 files changed

+110
-74
lines changed

2 files changed

+110
-74
lines changed

src/test/regress/expected/merge.out

Lines changed: 55 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
--
22
-- MERGE
33
--
4-
--\set VERBOSITY verbose
5-
--set debug_print_rewritten = true;
6-
--set debug_print_parse = true;
7-
--set debug_print_pretty = true;
84
CREATE USER regress_merge_privs;
95
CREATE USER regress_merge_no_privs;
106
DROP TABLE IF EXISTS target;
117
NOTICE: table "target" does not exist, skipping
128
DROP TABLE IF EXISTS source;
139
NOTICE: table "source" does not exist, skipping
14-
CREATE TABLE target (tid integer, balance integer);
15-
CREATE TABLE source (sid integer, delta integer); --no index
10+
CREATE TABLE target (tid integer, balance integer)
11+
WITH (autovacuum_enabled=off);
12+
CREATE TABLE source (sid integer, delta integer) -- no index
13+
WITH (autovacuum_enabled=off);
1614
INSERT INTO target VALUES (1, 10);
1715
INSERT INTO target VALUES (2, 20);
1816
INSERT INTO target VALUES (3, 30);
@@ -26,8 +24,10 @@ SELECT t.ctid is not null as matched, t.*, s.* FROM source s FULL OUTER JOIN tar
2624

2725
ALTER TABLE target OWNER TO regress_merge_privs;
2826
ALTER TABLE source OWNER TO regress_merge_privs;
29-
CREATE TABLE target2 (tid integer, balance integer);
30-
CREATE TABLE source2 (sid integer, delta integer);
27+
CREATE TABLE target2 (tid integer, balance integer)
28+
WITH (autovacuum_enabled=off);
29+
CREATE TABLE source2 (sid integer, delta integer)
30+
WITH (autovacuum_enabled=off);
3131
ALTER TABLE target2 OWNER TO regress_merge_no_privs;
3232
ALTER TABLE source2 OWNER TO regress_merge_no_privs;
3333
GRANT INSERT ON target TO regress_merge_no_privs;
@@ -664,8 +664,10 @@ WHEN MATCHED AND s.delta > 0 THEN
664664
ERROR: unreachable WHEN clause specified after unconditional WHEN clause
665665
ROLLBACK;
666666
-- conditional WHEN clause
667-
CREATE TABLE wq_target (tid integer not null, balance integer DEFAULT -1);
668-
CREATE TABLE wq_source (balance integer, sid integer);
667+
CREATE TABLE wq_target (tid integer not null, balance integer DEFAULT -1)
668+
WITH (autovacuum_enabled=off);
669+
CREATE TABLE wq_source (balance integer, sid integer)
670+
WITH (autovacuum_enabled=off);
669671
INSERT INTO wq_source (sid, balance) VALUES (1, 100);
670672
BEGIN;
671673
-- try a simple INSERT with default values first
@@ -1212,8 +1214,10 @@ SELECT * FROM target ORDER BY tid;
12121214

12131215
ROLLBACK;
12141216
-- subqueries in source relation
1215-
CREATE TABLE sq_target (tid integer NOT NULL, balance integer);
1216-
CREATE TABLE sq_source (delta integer, sid integer, balance integer DEFAULT 0);
1217+
CREATE TABLE sq_target (tid integer NOT NULL, balance integer)
1218+
WITH (autovacuum_enabled=off);
1219+
CREATE TABLE sq_source (delta integer, sid integer, balance integer DEFAULT 0)
1220+
WITH (autovacuum_enabled=off);
12171221
INSERT INTO sq_target(tid, balance) VALUES (1,100), (2,200), (3,300);
12181222
INSERT INTO sq_source(sid, delta) VALUES (1,10), (2,20), (4,40);
12191223
BEGIN;
@@ -1317,8 +1321,10 @@ LINE 10: RETURNING *;
13171321
^
13181322
ROLLBACK;
13191323
-- EXPLAIN
1320-
CREATE TABLE ex_mtarget (a int, b int);
1321-
CREATE TABLE ex_msource (a int, b int);
1324+
CREATE TABLE ex_mtarget (a int, b int)
1325+
WITH (autovacuum_enabled=off);
1326+
CREATE TABLE ex_msource (a int, b int)
1327+
WITH (autovacuum_enabled=off);
13221328
INSERT INTO ex_mtarget SELECT i, i*10 FROM generate_series(1,100,2) i;
13231329
INSERT INTO ex_msource SELECT i, i*10 FROM generate_series(1,100,1) i;
13241330
CREATE FUNCTION explain_merge(query text) RETURNS SETOF text
@@ -1510,10 +1516,14 @@ DROP TABLE sq_target, sq_source CASCADE;
15101516
NOTICE: drop cascades to view v
15111517
CREATE TABLE pa_target (tid integer, balance float, val text)
15121518
PARTITION BY LIST (tid);
1513-
CREATE TABLE part1 PARTITION OF pa_target FOR VALUES IN (1,4);
1514-
CREATE TABLE part2 PARTITION OF pa_target FOR VALUES IN (2,5,6);
1515-
CREATE TABLE part3 PARTITION OF pa_target FOR VALUES IN (3,8,9);
1516-
CREATE TABLE part4 PARTITION OF pa_target DEFAULT;
1519+
CREATE TABLE part1 PARTITION OF pa_target FOR VALUES IN (1,4)
1520+
WITH (autovacuum_enabled=off);
1521+
CREATE TABLE part2 PARTITION OF pa_target FOR VALUES IN (2,5,6)
1522+
WITH (autovacuum_enabled=off);
1523+
CREATE TABLE part3 PARTITION OF pa_target FOR VALUES IN (3,8,9)
1524+
WITH (autovacuum_enabled=off);
1525+
CREATE TABLE part4 PARTITION OF pa_target DEFAULT
1526+
WITH (autovacuum_enabled=off);
15171527
CREATE TABLE pa_source (sid integer, delta float);
15181528
-- insert many rows to the source table
15191529
INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id;
@@ -1617,10 +1627,14 @@ DROP TABLE pa_target CASCADE;
16171627
-- partitions which have columns in different order, dropped columns etc.
16181628
CREATE TABLE pa_target (tid integer, balance float, val text)
16191629
PARTITION BY LIST (tid);
1620-
CREATE TABLE part1 (tid integer, balance float, val text);
1621-
CREATE TABLE part2 (balance float, tid integer, val text);
1622-
CREATE TABLE part3 (tid integer, balance float, val text);
1623-
CREATE TABLE part4 (extraid text, tid integer, balance float, val text);
1630+
CREATE TABLE part1 (tid integer, balance float, val text)
1631+
WITH (autovacuum_enabled=off);
1632+
CREATE TABLE part2 (balance float, tid integer, val text)
1633+
WITH (autovacuum_enabled=off);
1634+
CREATE TABLE part3 (tid integer, balance float, val text)
1635+
WITH (autovacuum_enabled=off);
1636+
CREATE TABLE part4 (extraid text, tid integer, balance float, val text)
1637+
WITH (autovacuum_enabled=off);
16241638
ALTER TABLE part4 DROP COLUMN extraid;
16251639
ALTER TABLE pa_target ATTACH PARTITION part1 FOR VALUES IN (1,4);
16261640
ALTER TABLE pa_target ATTACH PARTITION part2 FOR VALUES IN (2,5,6);
@@ -1729,17 +1743,18 @@ CREATE TABLE part_m01 PARTITION OF pa_target
17291743
FOR VALUES FROM ('2017-01-01') TO ('2017-02-01')
17301744
PARTITION BY LIST (tid);
17311745
CREATE TABLE part_m01_odd PARTITION OF part_m01
1732-
FOR VALUES IN (1,3,5,7,9);
1746+
FOR VALUES IN (1,3,5,7,9) WITH (autovacuum_enabled=off);
17331747
CREATE TABLE part_m01_even PARTITION OF part_m01
1734-
FOR VALUES IN (2,4,6,8);
1748+
FOR VALUES IN (2,4,6,8) WITH (autovacuum_enabled=off);
17351749
CREATE TABLE part_m02 PARTITION OF pa_target
17361750
FOR VALUES FROM ('2017-02-01') TO ('2017-03-01')
17371751
PARTITION BY LIST (tid);
17381752
CREATE TABLE part_m02_odd PARTITION OF part_m02
1739-
FOR VALUES IN (1,3,5,7,9);
1753+
FOR VALUES IN (1,3,5,7,9) WITH (autovacuum_enabled=off);
17401754
CREATE TABLE part_m02_even PARTITION OF part_m02
1741-
FOR VALUES IN (2,4,6,8);
1742-
CREATE TABLE pa_source (sid integer, delta float);
1755+
FOR VALUES IN (2,4,6,8) WITH (autovacuum_enabled=off);
1756+
CREATE TABLE pa_source (sid integer, delta float)
1757+
WITH (autovacuum_enabled=off);
17431758
-- insert many rows to the source table
17441759
INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id;
17451760
-- insert a few rows in the target table (odd numbered tid)
@@ -1772,9 +1787,12 @@ ROLLBACK;
17721787
DROP TABLE pa_source;
17731788
DROP TABLE pa_target CASCADE;
17741789
-- some complex joins on the source side
1775-
CREATE TABLE cj_target (tid integer, balance float, val text);
1776-
CREATE TABLE cj_source1 (sid1 integer, scat integer, delta integer);
1777-
CREATE TABLE cj_source2 (sid2 integer, sval text);
1790+
CREATE TABLE cj_target (tid integer, balance float, val text)
1791+
WITH (autovacuum_enabled=off);
1792+
CREATE TABLE cj_source1 (sid1 integer, scat integer, delta integer)
1793+
WITH (autovacuum_enabled=off);
1794+
CREATE TABLE cj_source2 (sid2 integer, sval text)
1795+
WITH (autovacuum_enabled=off);
17781796
INSERT INTO cj_source1 VALUES (1, 10, 100);
17791797
INSERT INTO cj_source1 VALUES (1, 20, 200);
17801798
INSERT INTO cj_source1 VALUES (2, 20, 300);
@@ -1833,7 +1851,8 @@ WHEN NOT MATCHED THEN
18331851
INSERT VALUES (s2.sid, delta, sval);
18341852
DROP TABLE cj_source2, cj_source1, cj_target;
18351853
-- Function scans
1836-
CREATE TABLE fs_target (a int, b int, c text);
1854+
CREATE TABLE fs_target (a int, b int, c text)
1855+
WITH (autovacuum_enabled=off);
18371856
MERGE INTO fs_target t
18381857
USING generate_series(1,100,1) AS id
18391858
ON t.a = id
@@ -1863,21 +1882,21 @@ CREATE TABLE measurement (
18631882
logdate date not null,
18641883
peaktemp int,
18651884
unitsales int
1866-
);
1885+
) WITH (autovacuum_enabled=off);
18671886
CREATE TABLE measurement_y2006m02 (
18681887
CHECK ( logdate >= DATE '2006-02-01' AND logdate < DATE '2006-03-01' )
1869-
) INHERITS (measurement);
1888+
) INHERITS (measurement) WITH (autovacuum_enabled=off);
18701889
CREATE TABLE measurement_y2006m03 (
18711890
CHECK ( logdate >= DATE '2006-03-01' AND logdate < DATE '2006-04-01' )
1872-
) INHERITS (measurement);
1891+
) INHERITS (measurement) WITH (autovacuum_enabled=off);
18731892
CREATE TABLE measurement_y2007m01 (
18741893
filler text,
18751894
peaktemp int,
18761895
logdate date not null,
18771896
city_id int not null,
18781897
unitsales int
18791898
CHECK ( logdate >= DATE '2007-01-01' AND logdate < DATE '2007-02-01')
1880-
);
1899+
) WITH (autovacuum_enabled=off);
18811900
ALTER TABLE measurement_y2007m01 DROP COLUMN filler;
18821901
ALTER TABLE measurement_y2007m01 INHERIT measurement;
18831902
CREATE OR REPLACE FUNCTION measurement_insert_trigger()
@@ -1919,7 +1938,7 @@ SELECT tableoid::regclass, * FROM measurement ORDER BY city_id, logdate;
19191938
measurement_y2007m01 | 1 | 01-17-2007 | 10 | 10
19201939
(6 rows)
19211940

1922-
CREATE TABLE new_measurement (LIKE measurement);
1941+
CREATE TABLE new_measurement (LIKE measurement) WITH (autovacuum_enabled=off);
19231942
INSERT INTO new_measurement VALUES (1, '2006-03-01', 20, 10);
19241943
INSERT INTO new_measurement VALUES (1, '2006-02-16', 50, 10);
19251944
INSERT INTO new_measurement VALUES (2, '2006-02-10', 20, 20);

src/test/regress/sql/merge.sql

Lines changed: 55 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
--
22
-- MERGE
33
--
4-
--\set VERBOSITY verbose
5-
6-
--set debug_print_rewritten = true;
7-
--set debug_print_parse = true;
8-
--set debug_print_pretty = true;
9-
104

115
CREATE USER regress_merge_privs;
126
CREATE USER regress_merge_no_privs;
137
DROP TABLE IF EXISTS target;
148
DROP TABLE IF EXISTS source;
15-
CREATE TABLE target (tid integer, balance integer);
16-
CREATE TABLE source (sid integer, delta integer); --no index
9+
CREATE TABLE target (tid integer, balance integer)
10+
WITH (autovacuum_enabled=off);
11+
CREATE TABLE source (sid integer, delta integer) -- no index
12+
WITH (autovacuum_enabled=off);
1713
INSERT INTO target VALUES (1, 10);
1814
INSERT INTO target VALUES (2, 20);
1915
INSERT INTO target VALUES (3, 30);
@@ -22,8 +18,10 @@ SELECT t.ctid is not null as matched, t.*, s.* FROM source s FULL OUTER JOIN tar
2218
ALTER TABLE target OWNER TO regress_merge_privs;
2319
ALTER TABLE source OWNER TO regress_merge_privs;
2420

25-
CREATE TABLE target2 (tid integer, balance integer);
26-
CREATE TABLE source2 (sid integer, delta integer);
21+
CREATE TABLE target2 (tid integer, balance integer)
22+
WITH (autovacuum_enabled=off);
23+
CREATE TABLE source2 (sid integer, delta integer)
24+
WITH (autovacuum_enabled=off);
2725

2826
ALTER TABLE target2 OWNER TO regress_merge_no_privs;
2927
ALTER TABLE source2 OWNER TO regress_merge_no_privs;
@@ -445,8 +443,10 @@ WHEN MATCHED AND s.delta > 0 THEN
445443
ROLLBACK;
446444

447445
-- conditional WHEN clause
448-
CREATE TABLE wq_target (tid integer not null, balance integer DEFAULT -1);
449-
CREATE TABLE wq_source (balance integer, sid integer);
446+
CREATE TABLE wq_target (tid integer not null, balance integer DEFAULT -1)
447+
WITH (autovacuum_enabled=off);
448+
CREATE TABLE wq_source (balance integer, sid integer)
449+
WITH (autovacuum_enabled=off);
450450

451451
INSERT INTO wq_source (sid, balance) VALUES (1, 100);
452452

@@ -787,8 +787,10 @@ ROLLBACK;
787787

788788
-- subqueries in source relation
789789

790-
CREATE TABLE sq_target (tid integer NOT NULL, balance integer);
791-
CREATE TABLE sq_source (delta integer, sid integer, balance integer DEFAULT 0);
790+
CREATE TABLE sq_target (tid integer NOT NULL, balance integer)
791+
WITH (autovacuum_enabled=off);
792+
CREATE TABLE sq_source (delta integer, sid integer, balance integer DEFAULT 0)
793+
WITH (autovacuum_enabled=off);
792794

793795
INSERT INTO sq_target(tid, balance) VALUES (1,100), (2,200), (3,300);
794796
INSERT INTO sq_source(sid, delta) VALUES (1,10), (2,20), (4,40);
@@ -874,8 +876,10 @@ RETURNING *;
874876
ROLLBACK;
875877

876878
-- EXPLAIN
877-
CREATE TABLE ex_mtarget (a int, b int);
878-
CREATE TABLE ex_msource (a int, b int);
879+
CREATE TABLE ex_mtarget (a int, b int)
880+
WITH (autovacuum_enabled=off);
881+
CREATE TABLE ex_msource (a int, b int)
882+
WITH (autovacuum_enabled=off);
879883
INSERT INTO ex_mtarget SELECT i, i*10 FROM generate_series(1,100,2) i;
880884
INSERT INTO ex_msource SELECT i, i*10 FROM generate_series(1,100,1) i;
881885

@@ -972,10 +976,14 @@ DROP TABLE sq_target, sq_source CASCADE;
972976
CREATE TABLE pa_target (tid integer, balance float, val text)
973977
PARTITION BY LIST (tid);
974978

975-
CREATE TABLE part1 PARTITION OF pa_target FOR VALUES IN (1,4);
976-
CREATE TABLE part2 PARTITION OF pa_target FOR VALUES IN (2,5,6);
977-
CREATE TABLE part3 PARTITION OF pa_target FOR VALUES IN (3,8,9);
978-
CREATE TABLE part4 PARTITION OF pa_target DEFAULT;
979+
CREATE TABLE part1 PARTITION OF pa_target FOR VALUES IN (1,4)
980+
WITH (autovacuum_enabled=off);
981+
CREATE TABLE part2 PARTITION OF pa_target FOR VALUES IN (2,5,6)
982+
WITH (autovacuum_enabled=off);
983+
CREATE TABLE part3 PARTITION OF pa_target FOR VALUES IN (3,8,9)
984+
WITH (autovacuum_enabled=off);
985+
CREATE TABLE part4 PARTITION OF pa_target DEFAULT
986+
WITH (autovacuum_enabled=off);
979987

980988
CREATE TABLE pa_source (sid integer, delta float);
981989
-- insert many rows to the source table
@@ -1026,10 +1034,14 @@ DROP TABLE pa_target CASCADE;
10261034
CREATE TABLE pa_target (tid integer, balance float, val text)
10271035
PARTITION BY LIST (tid);
10281036

1029-
CREATE TABLE part1 (tid integer, balance float, val text);
1030-
CREATE TABLE part2 (balance float, tid integer, val text);
1031-
CREATE TABLE part3 (tid integer, balance float, val text);
1032-
CREATE TABLE part4 (extraid text, tid integer, balance float, val text);
1037+
CREATE TABLE part1 (tid integer, balance float, val text)
1038+
WITH (autovacuum_enabled=off);
1039+
CREATE TABLE part2 (balance float, tid integer, val text)
1040+
WITH (autovacuum_enabled=off);
1041+
CREATE TABLE part3 (tid integer, balance float, val text)
1042+
WITH (autovacuum_enabled=off);
1043+
CREATE TABLE part4 (extraid text, tid integer, balance float, val text)
1044+
WITH (autovacuum_enabled=off);
10331045
ALTER TABLE part4 DROP COLUMN extraid;
10341046

10351047
ALTER TABLE pa_target ATTACH PARTITION part1 FOR VALUES IN (1,4);
@@ -1088,18 +1100,19 @@ CREATE TABLE part_m01 PARTITION OF pa_target
10881100
FOR VALUES FROM ('2017-01-01') TO ('2017-02-01')
10891101
PARTITION BY LIST (tid);
10901102
CREATE TABLE part_m01_odd PARTITION OF part_m01
1091-
FOR VALUES IN (1,3,5,7,9);
1103+
FOR VALUES IN (1,3,5,7,9) WITH (autovacuum_enabled=off);
10921104
CREATE TABLE part_m01_even PARTITION OF part_m01
1093-
FOR VALUES IN (2,4,6,8);
1105+
FOR VALUES IN (2,4,6,8) WITH (autovacuum_enabled=off);
10941106
CREATE TABLE part_m02 PARTITION OF pa_target
10951107
FOR VALUES FROM ('2017-02-01') TO ('2017-03-01')
10961108
PARTITION BY LIST (tid);
10971109
CREATE TABLE part_m02_odd PARTITION OF part_m02
1098-
FOR VALUES IN (1,3,5,7,9);
1110+
FOR VALUES IN (1,3,5,7,9) WITH (autovacuum_enabled=off);
10991111
CREATE TABLE part_m02_even PARTITION OF part_m02
1100-
FOR VALUES IN (2,4,6,8);
1112+
FOR VALUES IN (2,4,6,8) WITH (autovacuum_enabled=off);
11011113

1102-
CREATE TABLE pa_source (sid integer, delta float);
1114+
CREATE TABLE pa_source (sid integer, delta float)
1115+
WITH (autovacuum_enabled=off);
11031116
-- insert many rows to the source table
11041117
INSERT INTO pa_source SELECT id, id * 10 FROM generate_series(1,14) AS id;
11051118
-- insert a few rows in the target table (odd numbered tid)
@@ -1123,9 +1136,12 @@ DROP TABLE pa_target CASCADE;
11231136

11241137
-- some complex joins on the source side
11251138

1126-
CREATE TABLE cj_target (tid integer, balance float, val text);
1127-
CREATE TABLE cj_source1 (sid1 integer, scat integer, delta integer);
1128-
CREATE TABLE cj_source2 (sid2 integer, sval text);
1139+
CREATE TABLE cj_target (tid integer, balance float, val text)
1140+
WITH (autovacuum_enabled=off);
1141+
CREATE TABLE cj_source1 (sid1 integer, scat integer, delta integer)
1142+
WITH (autovacuum_enabled=off);
1143+
CREATE TABLE cj_source2 (sid2 integer, sval text)
1144+
WITH (autovacuum_enabled=off);
11291145
INSERT INTO cj_source1 VALUES (1, 10, 100);
11301146
INSERT INTO cj_source1 VALUES (1, 20, 200);
11311147
INSERT INTO cj_source1 VALUES (2, 20, 300);
@@ -1186,7 +1202,8 @@ WHEN NOT MATCHED THEN
11861202
DROP TABLE cj_source2, cj_source1, cj_target;
11871203

11881204
-- Function scans
1189-
CREATE TABLE fs_target (a int, b int, c text);
1205+
CREATE TABLE fs_target (a int, b int, c text)
1206+
WITH (autovacuum_enabled=off);
11901207
MERGE INTO fs_target t
11911208
USING generate_series(1,100,1) AS id
11921209
ON t.a = id
@@ -1215,21 +1232,21 @@ CREATE TABLE measurement (
12151232
logdate date not null,
12161233
peaktemp int,
12171234
unitsales int
1218-
);
1235+
) WITH (autovacuum_enabled=off);
12191236
CREATE TABLE measurement_y2006m02 (
12201237
CHECK ( logdate >= DATE '2006-02-01' AND logdate < DATE '2006-03-01' )
1221-
) INHERITS (measurement);
1238+
) INHERITS (measurement) WITH (autovacuum_enabled=off);
12221239
CREATE TABLE measurement_y2006m03 (
12231240
CHECK ( logdate >= DATE '2006-03-01' AND logdate < DATE '2006-04-01' )
1224-
) INHERITS (measurement);
1241+
) INHERITS (measurement) WITH (autovacuum_enabled=off);
12251242
CREATE TABLE measurement_y2007m01 (
12261243
filler text,
12271244
peaktemp int,
12281245
logdate date not null,
12291246
city_id int not null,
12301247
unitsales int
12311248
CHECK ( logdate >= DATE '2007-01-01' AND logdate < DATE '2007-02-01')
1232-
);
1249+
) WITH (autovacuum_enabled=off);
12331250
ALTER TABLE measurement_y2007m01 DROP COLUMN filler;
12341251
ALTER TABLE measurement_y2007m01 INHERIT measurement;
12351252

@@ -1264,7 +1281,7 @@ INSERT INTO measurement VALUES (1, '2007-01-17', 10, 10);
12641281

12651282
SELECT tableoid::regclass, * FROM measurement ORDER BY city_id, logdate;
12661283

1267-
CREATE TABLE new_measurement (LIKE measurement);
1284+
CREATE TABLE new_measurement (LIKE measurement) WITH (autovacuum_enabled=off);
12681285
INSERT INTO new_measurement VALUES (1, '2006-03-01', 20, 10);
12691286
INSERT INTO new_measurement VALUES (1, '2006-02-16', 50, 10);
12701287
INSERT INTO new_measurement VALUES (2, '2006-02-10', 20, 20);

0 commit comments

Comments
 (0)