summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/aggregates.out15
-rw-r--r--src/test/regress/expected/alter_generic.out6
-rw-r--r--src/test/regress/expected/alter_operator.out3
-rw-r--r--src/test/regress/expected/collate.out5
-rw-r--r--src/test/regress/expected/create_aggregate.out30
-rw-r--r--src/test/regress/expected/create_operator.out23
-rw-r--r--src/test/regress/expected/create_table.out5
-rw-r--r--src/test/regress/expected/create_type.out28
-rw-r--r--src/test/regress/expected/tsdicts.out8
-rw-r--r--src/test/regress/sql/aggregates.sql15
-rw-r--r--src/test/regress/sql/alter_generic.sql6
-rw-r--r--src/test/regress/sql/alter_operator.sql3
-rw-r--r--src/test/regress/sql/collate.sql2
-rw-r--r--src/test/regress/sql/create_aggregate.sql20
-rw-r--r--src/test/regress/sql/create_operator.sql14
-rw-r--r--src/test/regress/sql/create_table.sql4
-rw-r--r--src/test/regress/sql/create_type.sql10
-rw-r--r--src/test/regress/sql/tsdicts.sql8
18 files changed, 191 insertions, 14 deletions
diff --git a/src/test/regress/expected/aggregates.out b/src/test/regress/expected/aggregates.out
index dbce7d3e8b7..f85e9138504 100644
--- a/src/test/regress/expected/aggregates.out
+++ b/src/test/regress/expected/aggregates.out
@@ -2007,12 +2007,13 @@ BEGIN
END IF;
RETURN NULL;
END$$;
-CREATE AGGREGATE balk(
- BASETYPE = int4,
+CREATE AGGREGATE balk(int4)
+(
SFUNC = balkifnull(int8, int4),
STYPE = int8,
- "PARALLEL" = SAFE,
- INITCOND = '0');
+ PARALLEL = SAFE,
+ INITCOND = '0'
+);
SELECT balk(hundred) FROM tenk1;
balk
------
@@ -2035,12 +2036,12 @@ BEGIN
END IF;
RETURN NULL;
END$$;
-CREATE AGGREGATE balk(
- BASETYPE = int4,
+CREATE AGGREGATE balk(int4)
+(
SFUNC = int4_sum(int8, int4),
STYPE = int8,
COMBINEFUNC = balkifnull(int8, int8),
- "PARALLEL" = SAFE,
+ PARALLEL = SAFE,
INITCOND = '0'
);
-- force use of parallelism
diff --git a/src/test/regress/expected/alter_generic.out b/src/test/regress/expected/alter_generic.out
index 767c09bec5e..200828aa995 100644
--- a/src/test/regress/expected/alter_generic.out
+++ b/src/test/regress/expected/alter_generic.out
@@ -633,6 +633,9 @@ ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2; -- OK
CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize);
ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2; -- failed (name conflict)
ERROR: text search template "alt_ts_temp2" already exists in schema "alt_nsp2"
+-- invalid: non-lowercase quoted identifiers
+CREATE TEXT SEARCH TEMPLATE tstemp_case ("Init" = init_function);
+ERROR: text search template parameter "Init" not recognized
SELECT nspname, tmplname
FROM pg_ts_template t, pg_namespace n
WHERE t.tmplnamespace = n.oid AND nspname like 'alt_nsp%'
@@ -659,6 +662,9 @@ CREATE TEXT SEARCH PARSER alt_ts_prs2
(start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype);
ALTER TEXT SEARCH PARSER alt_ts_prs2 SET SCHEMA alt_nsp2; -- failed (name conflict)
ERROR: text search parser "alt_ts_prs2" already exists in schema "alt_nsp2"
+-- invalid: non-lowercase quoted identifiers
+CREATE TEXT SEARCH PARSER tspars_case ("Start" = start_function);
+ERROR: text search parser parameter "Start" not recognized
SELECT nspname, prsname
FROM pg_ts_parser t, pg_namespace n
WHERE t.prsnamespace = n.oid AND nspname like 'alt_nsp%'
diff --git a/src/test/regress/expected/alter_operator.out b/src/test/regress/expected/alter_operator.out
index ef47affd7b6..71bd4842821 100644
--- a/src/test/regress/expected/alter_operator.out
+++ b/src/test/regress/expected/alter_operator.out
@@ -121,6 +121,9 @@ ALTER OPERATOR === (boolean, boolean) SET (COMMUTATOR = !==);
ERROR: operator attribute "commutator" cannot be changed
ALTER OPERATOR === (boolean, boolean) SET (NEGATOR = !==);
ERROR: operator attribute "negator" cannot be changed
+-- invalid: non-lowercase quoted identifiers
+ALTER OPERATOR & (bit, bit) SET ("Restrict" = _int_contsel, "Join" = _int_contjoinsel);
+ERROR: operator attribute "Restrict" not recognized
--
-- Test permission check. Must be owner to ALTER OPERATOR.
--
diff --git a/src/test/regress/expected/collate.out b/src/test/regress/expected/collate.out
index b0025c0a87e..3bc3713ee1b 100644
--- a/src/test/regress/expected/collate.out
+++ b/src/test/regress/expected/collate.out
@@ -633,6 +633,11 @@ DROP COLLATION mycoll2; -- fail
ERROR: cannot drop collation mycoll2 because other objects depend on it
DETAIL: table collate_test23 column f1 depends on collation mycoll2
HINT: Use DROP ... CASCADE to drop the dependent objects too.
+-- invalid: non-lowercase quoted identifiers
+CREATE COLLATION case_coll ("Lc_Collate" = "POSIX", "Lc_Ctype" = "POSIX");
+ERROR: collation attribute "Lc_Collate" not recognized
+LINE 1: CREATE COLLATION case_coll ("Lc_Collate" = "POSIX", "Lc_Ctyp...
+ ^
-- 9.1 bug with useless COLLATE in an expression subject to length coercion
CREATE TEMP TABLE vctable (f1 varchar(25));
INSERT INTO vctable VALUES ('foo' COLLATE "C");
diff --git a/src/test/regress/expected/create_aggregate.out b/src/test/regress/expected/create_aggregate.out
index ef65cd54ca2..b9b7fbcc9e4 100644
--- a/src/test/regress/expected/create_aggregate.out
+++ b/src/test/regress/expected/create_aggregate.out
@@ -195,3 +195,33 @@ CREATE AGGREGATE wrongreturntype (float8)
minvfunc = float8mi_int
);
ERROR: return type of inverse transition function float8mi_int is not double precision
+-- invalid: non-lowercase quoted identifiers
+CREATE AGGREGATE case_agg ( -- old syntax
+ "Sfunc1" = int4pl,
+ "Basetype" = int4,
+ "Stype1" = int4,
+ "Initcond1" = '0',
+ "Parallel" = safe
+);
+WARNING: aggregate attribute "Sfunc1" not recognized
+WARNING: aggregate attribute "Basetype" not recognized
+WARNING: aggregate attribute "Stype1" not recognized
+WARNING: aggregate attribute "Initcond1" not recognized
+WARNING: aggregate attribute "Parallel" not recognized
+ERROR: aggregate stype must be specified
+CREATE AGGREGATE case_agg(float8)
+(
+ "Stype" = internal,
+ "Sfunc" = ordered_set_transition,
+ "Finalfunc" = percentile_disc_final,
+ "Finalfunc_extra" = true,
+ "Finalfunc_modify" = read_write,
+ "Parallel" = safe
+);
+WARNING: aggregate attribute "Stype" not recognized
+WARNING: aggregate attribute "Sfunc" not recognized
+WARNING: aggregate attribute "Finalfunc" not recognized
+WARNING: aggregate attribute "Finalfunc_extra" not recognized
+WARNING: aggregate attribute "Finalfunc_modify" not recognized
+WARNING: aggregate attribute "Parallel" not recognized
+ERROR: aggregate stype must be specified
diff --git a/src/test/regress/expected/create_operator.out b/src/test/regress/expected/create_operator.out
index 3a216c2ca8f..3c4ccae1e7a 100644
--- a/src/test/regress/expected/create_operator.out
+++ b/src/test/regress/expected/create_operator.out
@@ -172,3 +172,26 @@ CREATE OPERATOR #*# (
);
ERROR: permission denied for type type_op6
ROLLBACK;
+-- invalid: non-lowercase quoted identifiers
+CREATE OPERATOR ===
+(
+ "Leftarg" = box,
+ "Rightarg" = box,
+ "Procedure" = area_equal_procedure,
+ "Commutator" = ===,
+ "Negator" = !==,
+ "Restrict" = area_restriction_procedure,
+ "Join" = area_join_procedure,
+ "Hashes",
+ "Merges"
+);
+WARNING: operator attribute "Leftarg" not recognized
+WARNING: operator attribute "Rightarg" not recognized
+WARNING: operator attribute "Procedure" not recognized
+WARNING: operator attribute "Commutator" not recognized
+WARNING: operator attribute "Negator" not recognized
+WARNING: operator attribute "Restrict" not recognized
+WARNING: operator attribute "Join" not recognized
+WARNING: operator attribute "Hashes" not recognized
+WARNING: operator attribute "Merges" not recognized
+ERROR: operator procedure must be specified
diff --git a/src/test/regress/expected/create_table.out b/src/test/regress/expected/create_table.out
index 8e745402ae4..ef0906776e8 100644
--- a/src/test/regress/expected/create_table.out
+++ b/src/test/regress/expected/create_table.out
@@ -215,6 +215,11 @@ CREATE TABLE IF NOT EXISTS test_tsvector(
t text
);
NOTICE: relation "test_tsvector" already exists, skipping
+-- invalid: non-lowercase quoted reloptions identifiers
+CREATE TABLE tas_case WITH ("Fillfactor" = 10) AS SELECT 1 a;
+ERROR: unrecognized parameter "Fillfactor"
+CREATE TABLE tas_case (a text) WITH ("Oids" = true);
+ERROR: unrecognized parameter "Oids"
CREATE UNLOGGED TABLE unlogged1 (a int primary key); -- OK
CREATE TEMPORARY TABLE unlogged2 (a int primary key); -- OK
SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged\d' ORDER BY relname;
diff --git a/src/test/regress/expected/create_type.out b/src/test/regress/expected/create_type.out
index 5886a1f37f3..4eef32bf4d1 100644
--- a/src/test/regress/expected/create_type.out
+++ b/src/test/regress/expected/create_type.out
@@ -83,6 +83,34 @@ SELECT * FROM default_test;
zippo | 42
(1 row)
+-- invalid: non-lowercase quoted identifiers
+CREATE TYPE case_int42 (
+ "Internallength" = 4,
+ "Input" = int42_in,
+ "Output" = int42_out,
+ "Alignment" = int4,
+ "Default" = 42,
+ "Passedbyvalue"
+);
+WARNING: type attribute "Internallength" not recognized
+LINE 2: "Internallength" = 4,
+ ^
+WARNING: type attribute "Input" not recognized
+LINE 3: "Input" = int42_in,
+ ^
+WARNING: type attribute "Output" not recognized
+LINE 4: "Output" = int42_out,
+ ^
+WARNING: type attribute "Alignment" not recognized
+LINE 5: "Alignment" = int4,
+ ^
+WARNING: type attribute "Default" not recognized
+LINE 6: "Default" = 42,
+ ^
+WARNING: type attribute "Passedbyvalue" not recognized
+LINE 7: "Passedbyvalue"
+ ^
+ERROR: type input function must be specified
-- Test stand-alone composite type
CREATE TYPE default_test_row AS (f1 text_w_default, f2 int42);
CREATE FUNCTION get_default_test() RETURNS SETOF default_test_row AS '
diff --git a/src/test/regress/expected/tsdicts.out b/src/test/regress/expected/tsdicts.out
index 0744ef803b1..0c1d7c76752 100644
--- a/src/test/regress/expected/tsdicts.out
+++ b/src/test/regress/expected/tsdicts.out
@@ -580,3 +580,11 @@ SELECT to_tsvector('thesaurus_tst', 'Booking tickets is looking like a booking a
'card':3,10 'invit':2,9 'like':6 'look':5 'order':1,8
(1 row)
+-- invalid: non-lowercase quoted identifiers
+CREATE TEXT SEARCH DICTIONARY tsdict_case
+(
+ Template = ispell,
+ "DictFile" = ispell_sample,
+ "AffFile" = ispell_sample
+);
+ERROR: unrecognized Ispell parameter: "DictFile"
diff --git a/src/test/regress/sql/aggregates.sql b/src/test/regress/sql/aggregates.sql
index 6c9b86a6166..506d0442d79 100644
--- a/src/test/regress/sql/aggregates.sql
+++ b/src/test/regress/sql/aggregates.sql
@@ -861,12 +861,13 @@ BEGIN
RETURN NULL;
END$$;
-CREATE AGGREGATE balk(
- BASETYPE = int4,
+CREATE AGGREGATE balk(int4)
+(
SFUNC = balkifnull(int8, int4),
STYPE = int8,
- "PARALLEL" = SAFE,
- INITCOND = '0');
+ PARALLEL = SAFE,
+ INITCOND = '0'
+);
SELECT balk(hundred) FROM tenk1;
@@ -888,12 +889,12 @@ BEGIN
RETURN NULL;
END$$;
-CREATE AGGREGATE balk(
- BASETYPE = int4,
+CREATE AGGREGATE balk(int4)
+(
SFUNC = int4_sum(int8, int4),
STYPE = int8,
COMBINEFUNC = balkifnull(int8, int8),
- "PARALLEL" = SAFE,
+ PARALLEL = SAFE,
INITCOND = '0'
);
diff --git a/src/test/regress/sql/alter_generic.sql b/src/test/regress/sql/alter_generic.sql
index 311812e351d..96be6e752ad 100644
--- a/src/test/regress/sql/alter_generic.sql
+++ b/src/test/regress/sql/alter_generic.sql
@@ -543,6 +543,9 @@ ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2; -- OK
CREATE TEXT SEARCH TEMPLATE alt_ts_temp2 (lexize=dsimple_lexize);
ALTER TEXT SEARCH TEMPLATE alt_ts_temp2 SET SCHEMA alt_nsp2; -- failed (name conflict)
+-- invalid: non-lowercase quoted identifiers
+CREATE TEXT SEARCH TEMPLATE tstemp_case ("Init" = init_function);
+
SELECT nspname, tmplname
FROM pg_ts_template t, pg_namespace n
WHERE t.tmplnamespace = n.oid AND nspname like 'alt_nsp%'
@@ -565,6 +568,9 @@ CREATE TEXT SEARCH PARSER alt_ts_prs2
(start = prsd_start, gettoken = prsd_nexttoken, end = prsd_end, lextypes = prsd_lextype);
ALTER TEXT SEARCH PARSER alt_ts_prs2 SET SCHEMA alt_nsp2; -- failed (name conflict)
+-- invalid: non-lowercase quoted identifiers
+CREATE TEXT SEARCH PARSER tspars_case ("Start" = start_function);
+
SELECT nspname, prsname
FROM pg_ts_parser t, pg_namespace n
WHERE t.prsnamespace = n.oid AND nspname like 'alt_nsp%'
diff --git a/src/test/regress/sql/alter_operator.sql b/src/test/regress/sql/alter_operator.sql
index 51ffd7e0e0d..fd403701657 100644
--- a/src/test/regress/sql/alter_operator.sql
+++ b/src/test/regress/sql/alter_operator.sql
@@ -81,6 +81,9 @@ ALTER OPERATOR === (boolean, boolean) SET (JOIN = non_existent_func);
ALTER OPERATOR === (boolean, boolean) SET (COMMUTATOR = !==);
ALTER OPERATOR === (boolean, boolean) SET (NEGATOR = !==);
+-- invalid: non-lowercase quoted identifiers
+ALTER OPERATOR & (bit, bit) SET ("Restrict" = _int_contsel, "Join" = _int_contjoinsel);
+
--
-- Test permission check. Must be owner to ALTER OPERATOR.
--
diff --git a/src/test/regress/sql/collate.sql b/src/test/regress/sql/collate.sql
index 698f5774906..4ddde95a5e8 100644
--- a/src/test/regress/sql/collate.sql
+++ b/src/test/regress/sql/collate.sql
@@ -239,6 +239,8 @@ DROP COLLATION mycoll1;
CREATE TABLE collate_test23 (f1 text collate mycoll2);
DROP COLLATION mycoll2; -- fail
+-- invalid: non-lowercase quoted identifiers
+CREATE COLLATION case_coll ("Lc_Collate" = "POSIX", "Lc_Ctype" = "POSIX");
-- 9.1 bug with useless COLLATE in an expression subject to length coercion
diff --git a/src/test/regress/sql/create_aggregate.sql b/src/test/regress/sql/create_aggregate.sql
index 46e773bfe33..590ca9a6247 100644
--- a/src/test/regress/sql/create_aggregate.sql
+++ b/src/test/regress/sql/create_aggregate.sql
@@ -211,3 +211,23 @@ CREATE AGGREGATE wrongreturntype (float8)
msfunc = float8pl,
minvfunc = float8mi_int
);
+
+-- invalid: non-lowercase quoted identifiers
+
+CREATE AGGREGATE case_agg ( -- old syntax
+ "Sfunc1" = int4pl,
+ "Basetype" = int4,
+ "Stype1" = int4,
+ "Initcond1" = '0',
+ "Parallel" = safe
+);
+
+CREATE AGGREGATE case_agg(float8)
+(
+ "Stype" = internal,
+ "Sfunc" = ordered_set_transition,
+ "Finalfunc" = percentile_disc_final,
+ "Finalfunc_extra" = true,
+ "Finalfunc_modify" = read_write,
+ "Parallel" = safe
+);
diff --git a/src/test/regress/sql/create_operator.sql b/src/test/regress/sql/create_operator.sql
index 0e5d6356bc3..bb9907b3ed9 100644
--- a/src/test/regress/sql/create_operator.sql
+++ b/src/test/regress/sql/create_operator.sql
@@ -179,3 +179,17 @@ CREATE OPERATOR #*# (
procedure = fn_op6
);
ROLLBACK;
+
+-- invalid: non-lowercase quoted identifiers
+CREATE OPERATOR ===
+(
+ "Leftarg" = box,
+ "Rightarg" = box,
+ "Procedure" = area_equal_procedure,
+ "Commutator" = ===,
+ "Negator" = !==,
+ "Restrict" = area_restriction_procedure,
+ "Join" = area_join_procedure,
+ "Hashes",
+ "Merges"
+);
diff --git a/src/test/regress/sql/create_table.sql b/src/test/regress/sql/create_table.sql
index 8f9991ef186..10e5d49e8e5 100644
--- a/src/test/regress/sql/create_table.sql
+++ b/src/test/regress/sql/create_table.sql
@@ -253,6 +253,10 @@ CREATE TABLE IF NOT EXISTS test_tsvector(
t text
);
+-- invalid: non-lowercase quoted reloptions identifiers
+CREATE TABLE tas_case WITH ("Fillfactor" = 10) AS SELECT 1 a;
+CREATE TABLE tas_case (a text) WITH ("Oids" = true);
+
CREATE UNLOGGED TABLE unlogged1 (a int primary key); -- OK
CREATE TEMPORARY TABLE unlogged2 (a int primary key); -- OK
SELECT relname, relkind, relpersistence FROM pg_class WHERE relname ~ '^unlogged\d' ORDER BY relname;
diff --git a/src/test/regress/sql/create_type.sql b/src/test/regress/sql/create_type.sql
index a28303aa6a9..2123d63e2ef 100644
--- a/src/test/regress/sql/create_type.sql
+++ b/src/test/regress/sql/create_type.sql
@@ -84,6 +84,16 @@ INSERT INTO default_test DEFAULT VALUES;
SELECT * FROM default_test;
+-- invalid: non-lowercase quoted identifiers
+CREATE TYPE case_int42 (
+ "Internallength" = 4,
+ "Input" = int42_in,
+ "Output" = int42_out,
+ "Alignment" = int4,
+ "Default" = 42,
+ "Passedbyvalue"
+);
+
-- Test stand-alone composite type
CREATE TYPE default_test_row AS (f1 text_w_default, f2 int42);
diff --git a/src/test/regress/sql/tsdicts.sql b/src/test/regress/sql/tsdicts.sql
index a5a569e1ad4..1633c0d066b 100644
--- a/src/test/regress/sql/tsdicts.sql
+++ b/src/test/regress/sql/tsdicts.sql
@@ -188,3 +188,11 @@ ALTER TEXT SEARCH CONFIGURATION thesaurus_tst ALTER MAPPING FOR
SELECT to_tsvector('thesaurus_tst', 'one postgres one two one two three one');
SELECT to_tsvector('thesaurus_tst', 'Supernovae star is very new star and usually called supernovae (abbreviation SN)');
SELECT to_tsvector('thesaurus_tst', 'Booking tickets is looking like a booking a tickets');
+
+-- invalid: non-lowercase quoted identifiers
+CREATE TEXT SEARCH DICTIONARY tsdict_case
+(
+ Template = ispell,
+ "DictFile" = ispell_sample,
+ "AffFile" = ispell_sample
+);