mirror of https://github.com/citusdata/citus.git
49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
SET search_path TO "prepared statements";
|
|
PREPARE repartition_prepared(int) AS
|
|
SELECT
|
|
count(*)
|
|
FROM
|
|
repartition_prepared_test t1
|
|
JOIN
|
|
repartition_prepared_test t2
|
|
USING (b)
|
|
WHERE t1.a = $1;
|
|
EXECUTE repartition_prepared (1);
|
|
count
|
|
---------------------------------------------------------------------
|
|
100
|
|
(1 row)
|
|
|
|
BEGIN;
|
|
-- CREATE TABLE ... AS EXECUTE prepared_statement tests
|
|
CREATE TEMP TABLE repartition_prepared_tmp AS EXECUTE repartition_prepared(1);
|
|
SELECT count(*) from repartition_prepared_tmp;
|
|
count
|
|
---------------------------------------------------------------------
|
|
1
|
|
(1 row)
|
|
|
|
ROLLBACK;
|
|
PREPARE xact_repartitioned_prepared AS
|
|
SELECT count(*) FROM repartition_prepared_test t1 JOIN repartition_prepared_test t2 USING (b);
|
|
BEGIN;
|
|
-- Prepared re-partition join in a transaction block after a write
|
|
INSERT INTO repartition_prepared_test VALUES (1,2);
|
|
EXECUTE xact_repartitioned_prepared;
|
|
count
|
|
---------------------------------------------------------------------
|
|
226
|
|
(1 row)
|
|
|
|
ROLLBACK;
|
|
BEGIN;
|
|
-- Prepared re-partition join in a transaction block before a write
|
|
EXECUTE xact_repartitioned_prepared;
|
|
count
|
|
---------------------------------------------------------------------
|
|
209
|
|
(1 row)
|
|
|
|
INSERT INTO repartition_prepared_test VALUES (1,2);
|
|
ROLLBACK;
|