summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Grittner <kgrittn@postgresql.org>2013-06-19 10:37:39 -0500
committerKevin Grittner <kgrittn@postgresql.org>2013-06-19 10:37:39 -0500
commit854ebd0f5fb069a6c96e14cff4965350fb5374a6 (patch)
tree8c4ffed14cd607dcae6a1ca35905ddb65b5b778a
parent0ae1bf8c1be7eccc54792a9c211345f97a11f78e (diff)
Fix the create_index regression test for Danish collation.
In Danish collations, there are letter combinations which sort higher than 'Z'. A test for values > 'WA' was picking up rows where the value started with 'AA', causing the test to fail. Backpatch to 9.2, where the failing test was added. Per report from Svenne Krap and analysis by Jeff Janes
-rw-r--r--src/test/regress/expected/create_index.out12
-rw-r--r--src/test/regress/sql/create_index.sql4
2 files changed, 8 insertions, 8 deletions
diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out
index ad3a678cb22..37dea0a5544 100644
--- a/src/test/regress/expected/create_index.out
+++ b/src/test/regress/expected/create_index.out
@@ -2659,18 +2659,18 @@ CREATE INDEX dupindexcols_i ON dupindexcols (f1, id, f1 text_pattern_ops);
ANALYZE dupindexcols;
EXPLAIN (COSTS OFF)
SELECT count(*) FROM dupindexcols
- WHERE f1 > 'WA' and id < 1000 and f1 ~<~ 'YX';
- QUERY PLAN
----------------------------------------------------------------------------------------
+ WHERE f1 BETWEEN 'WA' AND 'ZZZ' and id < 1000 and f1 ~<~ 'YX';
+ QUERY PLAN
+----------------------------------------------------------------------------------------------------------------
Aggregate
-> Bitmap Heap Scan on dupindexcols
- Recheck Cond: ((f1 > 'WA'::text) AND (id < 1000) AND (f1 ~<~ 'YX'::text))
+ Recheck Cond: ((f1 >= 'WA'::text) AND (f1 <= 'ZZZ'::text) AND (id < 1000) AND (f1 ~<~ 'YX'::text))
-> Bitmap Index Scan on dupindexcols_i
- Index Cond: ((f1 > 'WA'::text) AND (id < 1000) AND (f1 ~<~ 'YX'::text))
+ Index Cond: ((f1 >= 'WA'::text) AND (f1 <= 'ZZZ'::text) AND (id < 1000) AND (f1 ~<~ 'YX'::text))
(5 rows)
SELECT count(*) FROM dupindexcols
- WHERE f1 > 'WA' and id < 1000 and f1 ~<~ 'YX';
+ WHERE f1 BETWEEN 'WA' AND 'ZZZ' and id < 1000 and f1 ~<~ 'YX';
count
-------
97
diff --git a/src/test/regress/sql/create_index.sql b/src/test/regress/sql/create_index.sql
index 04b69c67db6..d025cbcb5e4 100644
--- a/src/test/regress/sql/create_index.sql
+++ b/src/test/regress/sql/create_index.sql
@@ -885,9 +885,9 @@ ANALYZE dupindexcols;
EXPLAIN (COSTS OFF)
SELECT count(*) FROM dupindexcols
- WHERE f1 > 'WA' and id < 1000 and f1 ~<~ 'YX';
+ WHERE f1 BETWEEN 'WA' AND 'ZZZ' and id < 1000 and f1 ~<~ 'YX';
SELECT count(*) FROM dupindexcols
- WHERE f1 > 'WA' and id < 1000 and f1 ~<~ 'YX';
+ WHERE f1 BETWEEN 'WA' AND 'ZZZ' and id < 1000 and f1 ~<~ 'YX';
--
-- Check ordering of =ANY indexqual results (bug in 9.2.0)