ERROR
(1 row)
--- reset remote transaction state
-SELECT dblink_exec('ABORT');
- dblink_exec
--------------
- ROLLBACK
-(1 row)
-
-- should generate 'cursor "rmt_foo_cursor" not found' error
SELECT *
FROM dblink_fetch('rmt_foo_cursor',4) AS t(a int, b text, c text[]);
---+---+---
(0 rows)
--- reset remote transaction state
-SELECT dblink_exec('ABORT');
- dblink_exec
--------------
- ROLLBACK
-(1 row)
-
-- change some data
SELECT dblink_exec('UPDATE foo SET f3[2] = ''b99'' WHERE f1 = 11');
dblink_exec
ERROR
(1 row)
--- reset remote transaction state
-SELECT dblink_exec('ABORT');
- dblink_exec
--------------
- ROLLBACK
-(1 row)
-
-- delete some data
SELECT dblink_exec('DELETE FROM foo WHERE f1 = 11');
dblink_exec
---+---+---
(0 rows)
--- reset remote transaction state
-SELECT dblink_exec('myconn','ABORT');
- dblink_exec
--------------
- ROLLBACK
-(1 row)
-
-- create a second named persistent connection
-- should error with "duplicate connection name"
SELECT dblink_connect('myconn','dbname=contrib_regression');
-- close the wrong cursor
SELECT dblink_close('rmt_foobar_cursor',false);
--- reset remote transaction state
-SELECT dblink_exec('ABORT');
-
-- should generate 'cursor "rmt_foo_cursor" not found' error
SELECT *
FROM dblink_fetch('rmt_foo_cursor',4) AS t(a int, b text, c text[]);
SELECT *
FROM dblink('SELECT * FROM foobar',false) AS t(a int, b text, c text[]);
--- reset remote transaction state
-SELECT dblink_exec('ABORT');
-
-- change some data
SELECT dblink_exec('UPDATE foo SET f3[2] = ''b99'' WHERE f1 = 11');
-- botch a change to some other data
SELECT dblink_exec('UPDATE foobar SET f3[2] = ''b99'' WHERE f1 = 11',false);
--- reset remote transaction state
-SELECT dblink_exec('ABORT');
-
-- delete some data
SELECT dblink_exec('DELETE FROM foo WHERE f1 = 11');
FROM dblink('myconn','SELECT * FROM foobar',false) AS t(a int, b text, c text[])
WHERE t.a > 7;
--- reset remote transaction state
-SELECT dblink_exec('myconn','ABORT');
-
-- create a second named persistent connection
-- should error with "duplicate connection name"
SELECT dblink_connect('myconn','dbname=contrib_regression');