diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/regress/expected/arrays.out | 49 | ||||
-rw-r--r-- | src/test/regress/sql/arrays.sql | 10 |
2 files changed, 59 insertions, 0 deletions
diff --git a/src/test/regress/expected/arrays.out b/src/test/regress/expected/arrays.out index 6f3c07cfb3f..6e82a7d0a6c 100644 --- a/src/test/regress/expected/arrays.out +++ b/src/test/regress/expected/arrays.out @@ -377,3 +377,52 @@ select * from arr_tbl where f1 > '{1,2,3}' and f1 <= '{1,5,3}'; -- note: if above select doesn't produce the expected tuple order, -- then you didn't get an indexscan plan, and something is busted. +-- test [not] (like|ilike) (any|all) (...) +select 'foo' like any (array['%a', '%o']); -- t + ?column? +---------- + t +(1 row) + +select 'foo' like any (array['%a', '%b']); -- f + ?column? +---------- + f +(1 row) + +select 'foo' like all (array['f%', '%o']); -- t + ?column? +---------- + t +(1 row) + +select 'foo' like all (array['f%', '%b']); -- f + ?column? +---------- + f +(1 row) + +select 'foo' not like any (array['%a', '%b']); -- t + ?column? +---------- + t +(1 row) + +select 'foo' not like all (array['%a', '%o']); -- f + ?column? +---------- + f +(1 row) + +select 'foo' ilike any (array['%A', '%O']); -- t + ?column? +---------- + t +(1 row) + +select 'foo' ilike all (array['F%', '%O']); -- t + ?column? +---------- + t +(1 row) + diff --git a/src/test/regress/sql/arrays.sql b/src/test/regress/sql/arrays.sql index 3bc800cef21..629ca15fb1c 100644 --- a/src/test/regress/sql/arrays.sql +++ b/src/test/regress/sql/arrays.sql @@ -183,3 +183,13 @@ set enable_seqscan to off; select * from arr_tbl where f1 > '{1,2,3}' and f1 <= '{1,5,3}'; -- note: if above select doesn't produce the expected tuple order, -- then you didn't get an indexscan plan, and something is busted. + +-- test [not] (like|ilike) (any|all) (...) +select 'foo' like any (array['%a', '%o']); -- t +select 'foo' like any (array['%a', '%b']); -- f +select 'foo' like all (array['f%', '%o']); -- t +select 'foo' like all (array['f%', '%b']); -- f +select 'foo' not like any (array['%a', '%b']); -- t +select 'foo' not like all (array['%a', '%o']); -- f +select 'foo' ilike any (array['%A', '%O']); -- t +select 'foo' ilike all (array['F%', '%O']); -- t |