22-- Cursor regression tests
33--
44BEGIN;
5- DECLARE foo1 SCROLL CURSOR FOR SELECT * FROM tenk1;
5+ DECLARE foo1 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
66DECLARE foo2 SCROLL CURSOR FOR SELECT * FROM tenk2;
7- DECLARE foo3 SCROLL CURSOR FOR SELECT * FROM tenk1;
7+ DECLARE foo3 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
88DECLARE foo4 SCROLL CURSOR FOR SELECT * FROM tenk2;
9- DECLARE foo5 SCROLL CURSOR FOR SELECT * FROM tenk1;
9+ DECLARE foo5 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
1010DECLARE foo6 SCROLL CURSOR FOR SELECT * FROM tenk2;
11- DECLARE foo7 SCROLL CURSOR FOR SELECT * FROM tenk1;
11+ DECLARE foo7 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
1212DECLARE foo8 SCROLL CURSOR FOR SELECT * FROM tenk2;
13- DECLARE foo9 SCROLL CURSOR FOR SELECT * FROM tenk1;
13+ DECLARE foo9 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
1414DECLARE foo10 SCROLL CURSOR FOR SELECT * FROM tenk2;
15- DECLARE foo11 SCROLL CURSOR FOR SELECT * FROM tenk1;
15+ DECLARE foo11 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
1616DECLARE foo12 SCROLL CURSOR FOR SELECT * FROM tenk2;
17- DECLARE foo13 SCROLL CURSOR FOR SELECT * FROM tenk1;
17+ DECLARE foo13 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
1818DECLARE foo14 SCROLL CURSOR FOR SELECT * FROM tenk2;
19- DECLARE foo15 SCROLL CURSOR FOR SELECT * FROM tenk1;
19+ DECLARE foo15 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
2020DECLARE foo16 SCROLL CURSOR FOR SELECT * FROM tenk2;
21- DECLARE foo17 SCROLL CURSOR FOR SELECT * FROM tenk1;
21+ DECLARE foo17 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
2222DECLARE foo18 SCROLL CURSOR FOR SELECT * FROM tenk2;
23- DECLARE foo19 SCROLL CURSOR FOR SELECT * FROM tenk1;
23+ DECLARE foo19 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
2424DECLARE foo20 SCROLL CURSOR FOR SELECT * FROM tenk2;
25- DECLARE foo21 SCROLL CURSOR FOR SELECT * FROM tenk1;
25+ DECLARE foo21 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
2626DECLARE foo22 SCROLL CURSOR FOR SELECT * FROM tenk2;
27- DECLARE foo23 SCROLL CURSOR FOR SELECT * FROM tenk1;
27+ DECLARE foo23 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
2828FETCH 1 in foo1;
2929 unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
3030---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
@@ -679,19 +679,19 @@ CLOSE foo12;
679679-- record this in the system view as well (don't query the time field there
680680-- however)
681681SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors;
682- name | statement | is_holdable | is_binary | is_scrollable
683- -------+------------------------------------------------------+-------------+-----------+---------------
684- foo13 | DECLARE foo13 SCROLL CURSOR FOR SELECT * FROM tenk1; | f | f | t
685- foo15 | DECLARE foo15 SCROLL CURSOR FOR SELECT * FROM tenk1; | f | f | t
686- foo19 | DECLARE foo19 SCROLL CURSOR FOR SELECT * FROM tenk1; | f | f | t
687- foo17 | DECLARE foo17 SCROLL CURSOR FOR SELECT * FROM tenk1; | f | f | t
688- foo14 | DECLARE foo14 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
689- foo21 | DECLARE foo21 SCROLL CURSOR FOR SELECT * FROM tenk1; | f | f | t
690- foo23 | DECLARE foo23 SCROLL CURSOR FOR SELECT * FROM tenk1; | f | f | t
691- foo18 | DECLARE foo18 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
692- foo20 | DECLARE foo20 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
693- foo22 | DECLARE foo22 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
694- foo16 | DECLARE foo16 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
682+ name | statement | is_holdable | is_binary | is_scrollable
683+ -------+----------------------------------------------------------------------- +-------------+-----------+---------------
684+ foo13 | DECLARE foo13 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ; | f | f | t
685+ foo15 | DECLARE foo15 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ; | f | f | t
686+ foo19 | DECLARE foo19 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ; | f | f | t
687+ foo17 | DECLARE foo17 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ; | f | f | t
688+ foo14 | DECLARE foo14 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
689+ foo21 | DECLARE foo21 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ; | f | f | t
690+ foo23 | DECLARE foo23 SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ; | f | f | t
691+ foo18 | DECLARE foo18 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
692+ foo20 | DECLARE foo20 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
693+ foo22 | DECLARE foo22 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
694+ foo16 | DECLARE foo16 SCROLL CURSOR FOR SELECT * FROM tenk2; | f | f | t
695695(11 rows)
696696
697697END;
@@ -704,7 +704,7 @@ SELECT name, statement, is_holdable, is_binary, is_scrollable FROM pg_cursors;
704704-- NO SCROLL disallows backward fetching
705705--
706706BEGIN;
707- DECLARE foo24 NO SCROLL CURSOR FOR SELECT * FROM tenk1;
707+ DECLARE foo24 NO SCROLL CURSOR FOR SELECT * FROM tenk1 ORDER BY unique2 ;
708708FETCH 1 FROM foo24;
709709 unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
710710---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
@@ -767,7 +767,7 @@ CLOSE foo25;
767767-- ROLLBACK should close holdable cursors
768768--
769769BEGIN;
770- DECLARE foo26 CURSOR WITH HOLD FOR SELECT * FROM tenk1;
770+ DECLARE foo26 CURSOR WITH HOLD FOR SELECT * FROM tenk1 ORDER BY unique2 ;
771771ROLLBACK;
772772-- should fail
773773FETCH FROM foo26;