diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/arrays.out | 12 | ||||
| -rw-r--r-- | src/test/regress/expected/polymorphism.out | 10 | ||||
| -rw-r--r-- | src/test/regress/sql/arrays.sql | 2 | ||||
| -rw-r--r-- | src/test/regress/sql/polymorphism.sql | 10 |
4 files changed, 24 insertions, 10 deletions
diff --git a/src/test/regress/expected/arrays.out b/src/test/regress/expected/arrays.out index f9d9ad6aef9..5abfeb6773b 100644 --- a/src/test/regress/expected/arrays.out +++ b/src/test/regress/expected/arrays.out @@ -726,6 +726,12 @@ SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}"; {0,1,2,3} (1 row) +SELECT ARRAY[1.1] || ARRAY[2,3,4]; + ?column? +------------- + {1.1,2,3,4} +(1 row) + SELECT * FROM array_op_test WHERE i @> '{32}' ORDER BY seqno; seqno | i | t -------+---------------------------------+------------------------------------------------------------------------------------------------------------------------------------ @@ -2146,6 +2152,12 @@ select array_remove(array['A','CC','D','C','RR'], 'RR'); {A,CC,D,C} (1 row) +select array_remove(array[1.0, 2.1, 3.3], 1); + array_remove +-------------- + {2.1,3.3} +(1 row) + select array_remove('{{1,2,2},{1,4,3}}', 2); -- not allowed ERROR: removing elements from multidimensional arrays is not supported select array_remove(array['X','X','X'], 'X') = '{}'; diff --git a/src/test/regress/expected/polymorphism.out b/src/test/regress/expected/polymorphism.out index 1ff40764d9a..2c3bb0a60b0 100644 --- a/src/test/regress/expected/polymorphism.out +++ b/src/test/regress/expected/polymorphism.out @@ -729,10 +729,10 @@ select q2, sql_if(q2 > 0, q2, q2 + 1) from int8_tbl; (5 rows) -- another sort of polymorphic aggregate -CREATE AGGREGATE array_cat_accum (anyarray) +CREATE AGGREGATE array_cat_accum (anycompatiblearray) ( sfunc = array_cat, - stype = anyarray, + stype = anycompatiblearray, initcond = '{}' ); SELECT array_cat_accum(i) @@ -786,16 +786,16 @@ create aggregate build_group(int8, integer) ( STYPE = int8[] ); -- check proper resolution of data types for polymorphic transfn/finalfn -create function first_el(anyarray) returns anyelement as +create function first_el(anycompatiblearray) returns anycompatible as 'select $1[1]' language sql strict immutable; create aggregate first_el_agg_f8(float8) ( SFUNC = array_append, STYPE = float8[], FINALFUNC = first_el ); -create aggregate first_el_agg_any(anyelement) ( +create aggregate first_el_agg_any(anycompatible) ( SFUNC = array_append, - STYPE = anyarray, + STYPE = anycompatiblearray, FINALFUNC = first_el ); select first_el_agg_f8(x::float8) from generate_series(1,10) x; diff --git a/src/test/regress/sql/arrays.sql b/src/test/regress/sql/arrays.sql index 2b689ae88f5..906fd712b71 100644 --- a/src/test/regress/sql/arrays.sql +++ b/src/test/regress/sql/arrays.sql @@ -311,6 +311,7 @@ SELECT ARRAY[[['hello','world']]] || ARRAY[[['happy','birthday']]] AS "ARRAY"; SELECT ARRAY[[1,2],[3,4]] || ARRAY[5,6] AS "{{1,2},{3,4},{5,6}}"; SELECT ARRAY[0,0] || ARRAY[1,1] || ARRAY[2,2] AS "{0,0,1,1,2,2}"; SELECT 0 || ARRAY[1,2] || 3 AS "{0,1,2,3}"; +SELECT ARRAY[1.1] || ARRAY[2,3,4]; SELECT * FROM array_op_test WHERE i @> '{32}' ORDER BY seqno; SELECT * FROM array_op_test WHERE i && '{32}' ORDER BY seqno; @@ -616,6 +617,7 @@ select array_remove(array[1,2,2,3], 2); select array_remove(array[1,2,2,3], 5); select array_remove(array[1,NULL,NULL,3], NULL); select array_remove(array['A','CC','D','C','RR'], 'RR'); +select array_remove(array[1.0, 2.1, 3.3], 1); select array_remove('{{1,2,2},{1,4,3}}', 2); -- not allowed select array_remove(array['X','X','X'], 'X') = '{}'; select array_replace(array[1,2,5,4],5,3); diff --git a/src/test/regress/sql/polymorphism.sql b/src/test/regress/sql/polymorphism.sql index e5222f1f81f..70a21c89780 100644 --- a/src/test/regress/sql/polymorphism.sql +++ b/src/test/regress/sql/polymorphism.sql @@ -498,10 +498,10 @@ select q2, sql_if(q2 > 0, q2, q2 + 1) from int8_tbl; -- another sort of polymorphic aggregate -CREATE AGGREGATE array_cat_accum (anyarray) +CREATE AGGREGATE array_cat_accum (anycompatiblearray) ( sfunc = array_cat, - stype = anyarray, + stype = anycompatiblearray, initcond = '{}' ); @@ -549,7 +549,7 @@ create aggregate build_group(int8, integer) ( -- check proper resolution of data types for polymorphic transfn/finalfn -create function first_el(anyarray) returns anyelement as +create function first_el(anycompatiblearray) returns anycompatible as 'select $1[1]' language sql strict immutable; create aggregate first_el_agg_f8(float8) ( @@ -558,9 +558,9 @@ create aggregate first_el_agg_f8(float8) ( FINALFUNC = first_el ); -create aggregate first_el_agg_any(anyelement) ( +create aggregate first_el_agg_any(anycompatible) ( SFUNC = array_append, - STYPE = anyarray, + STYPE = anycompatiblearray, FINALFUNC = first_el ); |
