OSDN Git Service

Avoid regression test cases that fail in locales that sort "v" and "w"
authorPeter Eisentraut <peter_e@gmx.net>
Mon, 19 Jan 2009 14:24:13 +0000 (14:24 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Mon, 19 Jan 2009 14:24:13 +0000 (14:24 +0000)
equally (in glibc: et_EE, sv_SE, tk_TM).  It turns out that this was
already taken care of previously by select_1.out, which I had forgotten to
update for an unrelated change.  But might as well avoid the issue
altogether.

src/test/regress/data/person.data
src/test/regress/expected/select.out
src/test/regress/expected/select_1.out [deleted file]

index 57a8fa6..3a65b9f 100644 (file)
@@ -46,5 +46,5 @@ lita  25      (1.3,8.7)
 pamela 48      (8.21,9.3)
 sandy  38      (3.8,0.2)
 trisha 88      (1.29,2.2)
-vera   78      (9.73,6.4)
+uma    78      (9.73,6.4)
 velma  68      (8.8,8.9)
index 19a0b9c..47c3e67 100644 (file)
@@ -356,7 +356,7 @@ SELECT p.name, p.age FROM person* p;
  pamela  |  48
  sandy   |  38
  trisha  |  88
vera    |  78
uma     |  78
  velma   |  68
  sharon  |  25
  sam     |  30
@@ -391,7 +391,7 @@ SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
  chris   |  78
  sharon  |  78
  susan   |  78
vera    |  78
uma     |  78
  wendy   |  78
  julie   |  68
  leah    |  68
diff --git a/src/test/regress/expected/select_1.out b/src/test/regress/expected/select_1.out
deleted file mode 100644 (file)
index 73198aa..0000000
+++ /dev/null
@@ -1,770 +0,0 @@
---
--- SELECT
---
--- btree index
--- awk '{if($1<10){print;}else{next;}}' onek.data | sort +0n -1
---
-SELECT * FROM onek
-   WHERE onek.unique1 < 10
-   ORDER BY onek.unique1;
- unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 
----------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
-       0 |     998 |   0 |    0 |   0 |      0 |       0 |        0 |           0 |         0 |        0 |   0 |    1 | AAAAAA   | KMBAAA   | OOOOxx
-       1 |     214 |   1 |    1 |   1 |      1 |       1 |        1 |           1 |         1 |        1 |   2 |    3 | BAAAAA   | GIAAAA   | OOOOxx
-       2 |     326 |   0 |    2 |   2 |      2 |       2 |        2 |           2 |         2 |        2 |   4 |    5 | CAAAAA   | OMAAAA   | OOOOxx
-       3 |     431 |   1 |    3 |   3 |      3 |       3 |        3 |           3 |         3 |        3 |   6 |    7 | DAAAAA   | PQAAAA   | VVVVxx
-       4 |     833 |   0 |    0 |   4 |      4 |       4 |        4 |           4 |         4 |        4 |   8 |    9 | EAAAAA   | BGBAAA   | HHHHxx
-       5 |     541 |   1 |    1 |   5 |      5 |       5 |        5 |           5 |         5 |        5 |  10 |   11 | FAAAAA   | VUAAAA   | HHHHxx
-       6 |     978 |   0 |    2 |   6 |      6 |       6 |        6 |           6 |         6 |        6 |  12 |   13 | GAAAAA   | QLBAAA   | OOOOxx
-       7 |     647 |   1 |    3 |   7 |      7 |       7 |        7 |           7 |         7 |        7 |  14 |   15 | HAAAAA   | XYAAAA   | VVVVxx
-       8 |     653 |   0 |    0 |   8 |      8 |       8 |        8 |           8 |         8 |        8 |  16 |   17 | IAAAAA   | DZAAAA   | HHHHxx
-       9 |      49 |   1 |    1 |   9 |      9 |       9 |        9 |           9 |         9 |        9 |  18 |   19 | JAAAAA   | XBAAAA   | HHHHxx
-(10 rows)
-
---
--- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
---
-SELECT onek.unique1, onek.stringu1 FROM onek
-   WHERE onek.unique1 < 20 
-   ORDER BY unique1 using >;
- unique1 | stringu1 
----------+----------
-      19 | TAAAAA
-      18 | SAAAAA
-      17 | RAAAAA
-      16 | QAAAAA
-      15 | PAAAAA
-      14 | OAAAAA
-      13 | NAAAAA
-      12 | MAAAAA
-      11 | LAAAAA
-      10 | KAAAAA
-       9 | JAAAAA
-       8 | IAAAAA
-       7 | HAAAAA
-       6 | GAAAAA
-       5 | FAAAAA
-       4 | EAAAAA
-       3 | DAAAAA
-       2 | CAAAAA
-       1 | BAAAAA
-       0 | AAAAAA
-(20 rows)
-
---
--- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
---
-SELECT onek.unique1, onek.stringu1 FROM onek
-   WHERE onek.unique1 > 980 
-   ORDER BY stringu1 using <;
- unique1 | stringu1 
----------+----------
-     988 | AMAAAA
-     989 | BMAAAA
-     990 | CMAAAA
-     991 | DMAAAA
-     992 | EMAAAA
-     993 | FMAAAA
-     994 | GMAAAA
-     995 | HMAAAA
-     996 | IMAAAA
-     997 | JMAAAA
-     998 | KMAAAA
-     999 | LMAAAA
-     981 | TLAAAA
-     982 | ULAAAA
-     983 | VLAAAA
-     984 | WLAAAA
-     985 | XLAAAA
-     986 | YLAAAA
-     987 | ZLAAAA
-(19 rows)
-
-       
---
--- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
--- sort +1d -2 +0nr -1
---
-SELECT onek.unique1, onek.string4 FROM onek
-   WHERE onek.unique1 > 980 
-   ORDER BY string4 using <, unique1 using >;
- unique1 | string4 
----------+---------
-     999 | AAAAxx
-     995 | AAAAxx
-     983 | AAAAxx
-     982 | AAAAxx
-     981 | AAAAxx
-     998 | HHHHxx
-     997 | HHHHxx
-     993 | HHHHxx
-     990 | HHHHxx
-     986 | HHHHxx
-     996 | OOOOxx
-     991 | OOOOxx
-     988 | OOOOxx
-     987 | OOOOxx
-     985 | OOOOxx
-     994 | VVVVxx
-     992 | VVVVxx
-     989 | VVVVxx
-     984 | VVVVxx
-(19 rows)
-
-       
---
--- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
--- sort +1dr -2 +0n -1
---
-SELECT onek.unique1, onek.string4 FROM onek
-   WHERE onek.unique1 > 980
-   ORDER BY string4 using >, unique1 using <;
- unique1 | string4 
----------+---------
-     984 | VVVVxx
-     989 | VVVVxx
-     992 | VVVVxx
-     994 | VVVVxx
-     985 | OOOOxx
-     987 | OOOOxx
-     988 | OOOOxx
-     991 | OOOOxx
-     996 | OOOOxx
-     986 | HHHHxx
-     990 | HHHHxx
-     993 | HHHHxx
-     997 | HHHHxx
-     998 | HHHHxx
-     981 | AAAAxx
-     982 | AAAAxx
-     983 | AAAAxx
-     995 | AAAAxx
-     999 | AAAAxx
-(19 rows)
-
-       
---
--- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
--- sort +0nr -1 +1d -2
---
-SELECT onek.unique1, onek.string4 FROM onek
-   WHERE onek.unique1 < 20
-   ORDER BY unique1 using >, string4 using <;
- unique1 | string4 
----------+---------
-      19 | OOOOxx
-      18 | VVVVxx
-      17 | HHHHxx
-      16 | OOOOxx
-      15 | VVVVxx
-      14 | AAAAxx
-      13 | OOOOxx
-      12 | AAAAxx
-      11 | OOOOxx
-      10 | AAAAxx
-       9 | HHHHxx
-       8 | HHHHxx
-       7 | VVVVxx
-       6 | OOOOxx
-       5 | HHHHxx
-       4 | HHHHxx
-       3 | VVVVxx
-       2 | OOOOxx
-       1 | OOOOxx
-       0 | OOOOxx
-(20 rows)
-
---
--- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
--- sort +0n -1 +1dr -2
---
-SELECT onek.unique1, onek.string4 FROM onek
-   WHERE onek.unique1 < 20 
-   ORDER BY unique1 using <, string4 using >;
- unique1 | string4 
----------+---------
-       0 | OOOOxx
-       1 | OOOOxx
-       2 | OOOOxx
-       3 | VVVVxx
-       4 | HHHHxx
-       5 | HHHHxx
-       6 | OOOOxx
-       7 | VVVVxx
-       8 | HHHHxx
-       9 | HHHHxx
-      10 | AAAAxx
-      11 | OOOOxx
-      12 | AAAAxx
-      13 | OOOOxx
-      14 | AAAAxx
-      15 | VVVVxx
-      16 | OOOOxx
-      17 | HHHHxx
-      18 | VVVVxx
-      19 | OOOOxx
-(20 rows)
-
---
--- test partial btree indexes
---
--- As of 7.2, planner probably won't pick an indexscan without stats,
--- so ANALYZE first.  Also, we want to prevent it from picking a bitmapscan
--- followed by sort, because that could hide index ordering problems.
---
-ANALYZE onek2;
-SET enable_seqscan TO off;
-SET enable_bitmapscan TO off;
-SET enable_sort TO off;
---
--- awk '{if($1<10){print $0;}else{next;}}' onek.data | sort +0n -1
---
-SELECT onek2.* FROM onek2 WHERE onek2.unique1 < 10;
- unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 
----------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
-       0 |     998 |   0 |    0 |   0 |      0 |       0 |        0 |           0 |         0 |        0 |   0 |    1 | AAAAAA   | KMBAAA   | OOOOxx
-       1 |     214 |   1 |    1 |   1 |      1 |       1 |        1 |           1 |         1 |        1 |   2 |    3 | BAAAAA   | GIAAAA   | OOOOxx
-       2 |     326 |   0 |    2 |   2 |      2 |       2 |        2 |           2 |         2 |        2 |   4 |    5 | CAAAAA   | OMAAAA   | OOOOxx
-       3 |     431 |   1 |    3 |   3 |      3 |       3 |        3 |           3 |         3 |        3 |   6 |    7 | DAAAAA   | PQAAAA   | VVVVxx
-       4 |     833 |   0 |    0 |   4 |      4 |       4 |        4 |           4 |         4 |        4 |   8 |    9 | EAAAAA   | BGBAAA   | HHHHxx
-       5 |     541 |   1 |    1 |   5 |      5 |       5 |        5 |           5 |         5 |        5 |  10 |   11 | FAAAAA   | VUAAAA   | HHHHxx
-       6 |     978 |   0 |    2 |   6 |      6 |       6 |        6 |           6 |         6 |        6 |  12 |   13 | GAAAAA   | QLBAAA   | OOOOxx
-       7 |     647 |   1 |    3 |   7 |      7 |       7 |        7 |           7 |         7 |        7 |  14 |   15 | HAAAAA   | XYAAAA   | VVVVxx
-       8 |     653 |   0 |    0 |   8 |      8 |       8 |        8 |           8 |         8 |        8 |  16 |   17 | IAAAAA   | DZAAAA   | HHHHxx
-       9 |      49 |   1 |    1 |   9 |      9 |       9 |        9 |           9 |         9 |        9 |  18 |   19 | JAAAAA   | XBAAAA   | HHHHxx
-(10 rows)
-
---
--- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
---
-SELECT onek2.unique1, onek2.stringu1 FROM onek2
-    WHERE onek2.unique1 < 20 
-    ORDER BY unique1 using >;
- unique1 | stringu1 
----------+----------
-      19 | TAAAAA
-      18 | SAAAAA
-      17 | RAAAAA
-      16 | QAAAAA
-      15 | PAAAAA
-      14 | OAAAAA
-      13 | NAAAAA
-      12 | MAAAAA
-      11 | LAAAAA
-      10 | KAAAAA
-       9 | JAAAAA
-       8 | IAAAAA
-       7 | HAAAAA
-       6 | GAAAAA
-       5 | FAAAAA
-       4 | EAAAAA
-       3 | DAAAAA
-       2 | CAAAAA
-       1 | BAAAAA
-       0 | AAAAAA
-(20 rows)
-
---
--- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
---
-SELECT onek2.unique1, onek2.stringu1 FROM onek2
-   WHERE onek2.unique1 > 980;
- unique1 | stringu1 
----------+----------
-     981 | TLAAAA
-     982 | ULAAAA
-     983 | VLAAAA
-     984 | WLAAAA
-     985 | XLAAAA
-     986 | YLAAAA
-     987 | ZLAAAA
-     988 | AMAAAA
-     989 | BMAAAA
-     990 | CMAAAA
-     991 | DMAAAA
-     992 | EMAAAA
-     993 | FMAAAA
-     994 | GMAAAA
-     995 | HMAAAA
-     996 | IMAAAA
-     997 | JMAAAA
-     998 | KMAAAA
-     999 | LMAAAA
-(19 rows)
-
-RESET enable_seqscan;
-RESET enable_bitmapscan;
-RESET enable_sort;
-SELECT two, stringu1, ten, string4
-   INTO TABLE tmp
-   FROM onek;
---
--- awk '{print $1,$2;}' person.data |
--- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
--- awk '{if(NF!=2){print $3,$2;}else{print;}}' - student.data |
--- awk 'BEGIN{FS="      ";}{if(NF!=2){print $4,$5;}else{print;}}' - stud_emp.data
---
--- SELECT name, age FROM person*; ??? check if different
-SELECT p.name, p.age FROM person* p;
-  name   | age 
----------+-----
- mike    |  40
- joe     |  20
- sally   |  34
- sandra  |  19
- alex    |  30
- sue     |  50
- denise  |  24
- sarah   |  88
- teresa  |  38
- nan     |  28
- leah    |  68
- wendy   |  78
- melissa |  28
- joan    |  18
- mary    |   8
- jane    |  58
- liza    |  38
- jean    |  28
- jenifer |  38
- juanita |  58
- susan   |  78
- zena    |  98
- martie  |  88
- chris   |  78
- pat     |  18
- zola    |  58
- louise  |  98
- edna    |  18
- bertha  |  88
- sumi    |  38
- koko    |  88
- gina    |  18
- rean    |  48
- sharon  |  78
- paula   |  68
- julie   |  68
- belinda |  38
- karen   |  48
- carina  |  58
- diane   |  18
- esther  |  98
- trudy   |  88
- fanny   |   8
- carmen  |  78
- lita    |  25
- pamela  |  48
- sandy   |  38
- trisha  |  88
- vera    |  78
- velma   |  68
- sharon  |  25
- sam     |  30
- bill    |  20
- fred    |  28
- larry   |  60
- jeff    |  23
- cim     |  30
- linda   |  19
-(58 rows)
-
---
--- awk '{print $1,$2;}' person.data |
--- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
--- awk '{if(NF!=2){print $3,$2;}else{print;}}' - student.data |
--- awk 'BEGIN{FS="      ";}{if(NF!=1){print $4,$5;}else{print;}}' - stud_emp.data |
--- sort +1nr -2
---
-SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
-  name   | age 
----------+-----
- esther  |  98
- louise  |  98
- zena    |  98
- bertha  |  88
- koko    |  88
- martie  |  88
- sarah   |  88
- trisha  |  88
- trudy   |  88
- carmen  |  78
- chris   |  78
- sharon  |  78
- susan   |  78
- wendy   |  78
- vera    |  78
- julie   |  68
- leah    |  68
- paula   |  68
- velma   |  68
- larry   |  60
- carina  |  58
- jane    |  58
- juanita |  58
- zola    |  58
- sue     |  50
- karen   |  48
- pamela  |  48
- rean    |  48
- mike    |  40
- belinda |  38
- jenifer |  38
- liza    |  38
- sandy   |  38
- sumi    |  38
- teresa  |  38
- sally   |  34
- alex    |  30
- cim     |  30
- sam     |  30
- fred    |  28
- jean    |  28
- melissa |  28
- nan     |  28
- lita    |  25
- sharon  |  25
- denise  |  24
- jeff    |  23
- bill    |  20
- joe     |  20
- linda   |  19
- sandra  |  19
- diane   |  18
- edna    |  18
- gina    |  18
- joan    |  18
- pat     |  18
- fanny   |   8
- mary    |   8
-(58 rows)
-
---
--- Test some cases involving whole-row Var referencing a subquery
---
-select foo from (select 1) as foo;
- foo 
------
- (1)
-(1 row)
-
-select foo from (select null) as foo;
- foo 
------
- ()
-(1 row)
-
-select foo from (select 'xyzzy',1,null) as foo;
-    foo     
-------------
- (xyzzy,1,)
-(1 row)
-
---
--- Test VALUES lists
---
-select * from onek, (values(147, 'RFAAAA'), (931, 'VJAAAA')) as v (i, j)
-    WHERE onek.unique1 = v.i and onek.stringu1 = v.j;
- unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 |  i  |   j    
----------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------+-----+--------
-     147 |       0 |   1 |    3 |   7 |      7 |       7 |       47 |         147 |       147 |      147 |  14 |   15 | RFAAAA   | AAAAAA   | AAAAxx  | 147 | RFAAAA
-     931 |       1 |   1 |    3 |   1 |     11 |       1 |       31 |         131 |       431 |      931 |   2 |    3 | VJAAAA   | BAAAAA   | HHHHxx  | 931 | VJAAAA
-(2 rows)
-
--- a more complex case
--- looks like we're coding lisp :-)
-select * from onek,
-  (values ((select i from
-    (values(10000), (2), (389), (1000), (2000), ((select 10029))) as foo(i)
-    order by i asc limit 1))) bar (i)
-  where onek.unique1 = bar.i;
- unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 | i 
----------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------+---
-       2 |     326 |   0 |    2 |   2 |      2 |       2 |        2 |           2 |         2 |        2 |   4 |    5 | CAAAAA   | OMAAAA   | OOOOxx  | 2
-(1 row)
-
--- try VALUES in a subquery
-select * from onek
-    where (unique1,ten) in (values (1,1), (20,0), (99,9), (17,99))
-    order by unique1;
- unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4 
----------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
-       1 |     214 |   1 |    1 |   1 |      1 |       1 |        1 |           1 |         1 |        1 |   2 |    3 | BAAAAA   | GIAAAA   | OOOOxx
-      20 |     306 |   0 |    0 |   0 |      0 |       0 |       20 |          20 |        20 |       20 |   0 |    1 | UAAAAA   | ULAAAA   | OOOOxx
-      99 |     101 |   1 |    3 |   9 |     19 |       9 |       99 |          99 |        99 |       99 |  18 |   19 | VDAAAA   | XDAAAA   | HHHHxx
-(3 rows)
-
--- VALUES is also legal as a standalone query or a set-operation member
-VALUES (1,2), (3,4+4), (7,77.7);
- column1 | column2 
----------+---------
-       1 |       2
-       3 |       8
-       7 |    77.7
-(3 rows)
-
-VALUES (1,2), (3,4+4), (7,77.7)
-UNION ALL
-SELECT 2+2, 57
-UNION ALL
-SELECT * FROM int8_tbl;
-     column1      |      column2      
-------------------+-------------------
-                1 |                 2
-                3 |                 8
-                7 |              77.7
-                4 |                57
-              123 |               456
-              123 |  4567890123456789
- 4567890123456789 |               123
- 4567890123456789 |  4567890123456789
- 4567890123456789 | -4567890123456789
-(9 rows)
-
---
--- Test ORDER BY options
---
-CREATE TEMP TABLE foo (f1 int);
-INSERT INTO foo VALUES (42),(3),(10),(7),(null),(null),(1);
-SELECT * FROM foo ORDER BY f1;
- f1 
-----
-  1
-  3
-  7
- 10
- 42
-   
-   
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 ASC;     -- same thing
- f1 
-----
-  1
-  3
-  7
- 10
- 42
-   
-   
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 NULLS FIRST;
- f1 
-----
-   
-   
-  1
-  3
-  7
- 10
- 42
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC;
- f1 
-----
-   
-   
- 42
- 10
-  7
-  3
-  1
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
- f1 
-----
- 42
- 10
-  7
-  3
-  1
-   
-   
-(7 rows)
-
--- check if indexscans do the right things
-CREATE INDEX fooi ON foo (f1);
-SET enable_sort = false;
-SELECT * FROM foo ORDER BY f1;
- f1 
-----
-  1
-  3
-  7
- 10
- 42
-   
-   
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 NULLS FIRST;
- f1 
-----
-   
-   
-  1
-  3
-  7
- 10
- 42
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC;
- f1 
-----
-   
-   
- 42
- 10
-  7
-  3
-  1
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
- f1 
-----
- 42
- 10
-  7
-  3
-  1
-   
-   
-(7 rows)
-
-DROP INDEX fooi;
-CREATE INDEX fooi ON foo (f1 DESC);
-SELECT * FROM foo ORDER BY f1;
- f1 
-----
-  1
-  3
-  7
- 10
- 42
-   
-   
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 NULLS FIRST;
- f1 
-----
-   
-   
-  1
-  3
-  7
- 10
- 42
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC;
- f1 
-----
-   
-   
- 42
- 10
-  7
-  3
-  1
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
- f1 
-----
- 42
- 10
-  7
-  3
-  1
-   
-   
-(7 rows)
-
-DROP INDEX fooi;
-CREATE INDEX fooi ON foo (f1 DESC NULLS LAST);
-SELECT * FROM foo ORDER BY f1;
- f1 
-----
-  1
-  3
-  7
- 10
- 42
-   
-   
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 NULLS FIRST;
- f1 
-----
-   
-   
-  1
-  3
-  7
- 10
- 42
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC;
- f1 
-----
-   
-   
- 42
- 10
-  7
-  3
-  1
-(7 rows)
-
-SELECT * FROM foo ORDER BY f1 DESC NULLS LAST;
- f1 
-----
- 42
- 10
-  7
-  3
-  1
-   
-   
-(7 rows)
-
---
--- Test some corner cases that have been known to confuse the planner
---
--- ORDER BY on a constant doesn't really need any sorting
-SELECT 1 AS x ORDER BY x;
- x 
----
- 1
-(1 row)
-
--- But ORDER BY on a set-valued expression does
-create function sillysrf(int) returns setof int as
-  'values (1),(10),(2),($1)' language sql immutable;
-select sillysrf(42);
- sillysrf 
-----------
-        1
-       10
-        2
-       42
-(4 rows)
-
-select sillysrf(-1) order by 1;
- sillysrf 
-----------
-       -1
-        1
-        2
-       10
-(4 rows)
-
-drop function sillysrf(int);