From b34fce7f62aee11da41ce15ea94ed318ac03419e Mon Sep 17 00:00:00 2001 From: "okbob@github.com" Date: Thu, 24 Nov 2022 12:35:57 +0100 Subject: [PATCH 09/10] this patch changes error message "column doesn't exist" to message "column or variable doesn't exist" The error message will be more correct. Today, missing PL/pgSQL variable can be reported. The change has impact on lot of regress tests not related to session variables, and then it is distributed as separate patch --- src/backend/parser/parse_expr.c | 2 +- src/backend/parser/parse_relation.c | 24 +++++++++++--- src/backend/parser/parse_target.c | 8 +++-- src/include/parser/parse_expr.h | 1 + src/pl/plpgsql/src/expected/plpgsql_array.out | 2 +- .../plpgsql/src/expected/plpgsql_record.out | 4 +-- src/pl/tcl/expected/pltcl_queries.out | 12 +++---- src/test/regress/expected/alter_table.out | 32 +++++++++---------- src/test/regress/expected/copy2.out | 2 +- src/test/regress/expected/errors.out | 8 ++--- src/test/regress/expected/join.out | 12 +++---- src/test/regress/expected/numerology.out | 2 +- src/test/regress/expected/plpgsql.out | 12 +++---- src/test/regress/expected/psql.out | 2 +- src/test/regress/expected/rules.out | 2 +- .../regress/expected/session_variables.out | 2 +- src/test/regress/expected/transactions.out | 4 +-- src/test/regress/expected/union.out | 2 +- 18 files changed, 76 insertions(+), 57 deletions(-) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index b14ab44d9a..3697ed4071 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -433,7 +433,7 @@ transformIndirection(ParseState *pstate, A_Indirection *ind) * Returns true, when expression of kind allows using of * session variables. */ -static bool +bool expr_kind_allows_session_variables(ParseExprKind p_expr_kind) { switch (p_expr_kind) diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c index 41d60494b9..8f3399a42e 100644 --- a/src/backend/parser/parse_relation.c +++ b/src/backend/parser/parse_relation.c @@ -27,6 +27,7 @@ #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" #include "parser/parse_enr.h" +#include "parser/parse_expr.h" #include "parser/parse_relation.h" #include "parser/parse_type.h" #include "parser/parsetree.h" @@ -3651,6 +3652,19 @@ errorMissingRTE(ParseState *pstate, RangeVar *relation) parser_errposition(pstate, relation->location))); } +/* + * set message "column does not exist" or "column or variable does not exist" + * in dependency if expression context allows session variables. + */ +static int +column_or_variable_does_not_exists(ParseState *pstate, const char *colname) +{ + if (expr_kind_allows_session_variables(pstate->p_expr_kind)) + return errmsg("column or variable \"%s\" does not exist", colname); + else + return errmsg("column \"%s\" does not exist", colname); +} + /* * Generate a suitable error about a missing column. * @@ -3685,7 +3699,7 @@ errorMissingColumn(ParseState *pstate, (errcode(ERRCODE_UNDEFINED_COLUMN), relname ? errmsg("column %s.%s does not exist", relname, colname) : - errmsg("column \"%s\" does not exist", colname), + column_or_variable_does_not_exists(pstate, colname), errdetail("There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query.", colname), !relname ? errhint("Try using a table-qualified name.") : 0, @@ -3695,7 +3709,7 @@ errorMissingColumn(ParseState *pstate, (errcode(ERRCODE_UNDEFINED_COLUMN), relname ? errmsg("column %s.%s does not exist", relname, colname) : - errmsg("column \"%s\" does not exist", colname), + column_or_variable_does_not_exists(pstate, colname), errdetail("There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query.", colname, state->rexact1->eref->aliasname), rte_visible_if_lateral(pstate, state->rexact1) ? @@ -3713,14 +3727,14 @@ errorMissingColumn(ParseState *pstate, (errcode(ERRCODE_UNDEFINED_COLUMN), relname ? errmsg("column %s.%s does not exist", relname, colname) : - errmsg("column \"%s\" does not exist", colname), + column_or_variable_does_not_exists(pstate, colname), parser_errposition(pstate, location))); /* Handle case where we have a single alternative spelling to offer */ ereport(ERROR, (errcode(ERRCODE_UNDEFINED_COLUMN), relname ? errmsg("column %s.%s does not exist", relname, colname) : - errmsg("column \"%s\" does not exist", colname), + column_or_variable_does_not_exists(pstate, colname), errhint("Perhaps you meant to reference the column \"%s.%s\".", state->rfirst->eref->aliasname, strVal(list_nth(state->rfirst->eref->colnames, @@ -3734,7 +3748,7 @@ errorMissingColumn(ParseState *pstate, (errcode(ERRCODE_UNDEFINED_COLUMN), relname ? errmsg("column %s.%s does not exist", relname, colname) : - errmsg("column \"%s\" does not exist", colname), + column_or_variable_does_not_exists(pstate, colname), errhint("Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\".", state->rfirst->eref->aliasname, strVal(list_nth(state->rfirst->eref->colnames, diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index bfbca73f17..8a0c319a85 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -779,7 +779,9 @@ transformAssignmentIndirection(ParseState *pstate, if (!typrelid) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type", + errmsg(expr_kind_allows_session_variables(pstate->p_expr_kind) ? + "cannot assign to field \"%s\" of column or variable \"%s\" because its type %s is not a composite type" : + "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type", strVal(n), targetName, format_type_be(targetTypeId)), parser_errposition(pstate, location))); @@ -788,7 +790,9 @@ transformAssignmentIndirection(ParseState *pstate, if (attnum == InvalidAttrNumber) ereport(ERROR, (errcode(ERRCODE_UNDEFINED_COLUMN), - errmsg("cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s", + errmsg(expr_kind_allows_session_variables(pstate->p_expr_kind) ? + "cannot assign to field \"%s\" of column or variable \"%s\" because there is no such column in data type %s" : + "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s", strVal(n), targetName, format_type_be(targetTypeId)), parser_errposition(pstate, location))); diff --git a/src/include/parser/parse_expr.h b/src/include/parser/parse_expr.h index f6a5ccb0c1..ebd9ed7cbb 100644 --- a/src/include/parser/parse_expr.h +++ b/src/include/parser/parse_expr.h @@ -22,5 +22,6 @@ extern PGDLLIMPORT bool session_variables_ambiguity_warning; extern Node *transformExpr(ParseState *pstate, Node *expr, ParseExprKind exprKind); extern const char *ParseExprKindName(ParseExprKind exprKind); +extern bool expr_kind_allows_session_variables(ParseExprKind p_expr_kind); #endif /* PARSE_EXPR_H */ diff --git a/src/pl/plpgsql/src/expected/plpgsql_array.out b/src/pl/plpgsql/src/expected/plpgsql_array.out index 9e22e56f00..e131febf3d 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_array.out +++ b/src/pl/plpgsql/src/expected/plpgsql_array.out @@ -41,7 +41,7 @@ NOTICE: a = {"(,11)"}, a[1].i = 11 -- perhaps this ought to work, but for now it doesn't: do $$ declare a complex[]; begin a[1:2].i := array[11,12]; raise notice 'a = %', a; end$$; -ERROR: cannot assign to field "i" of column "a" because its type complex[] is not a composite type +ERROR: cannot assign to field "i" of column or variable "a" because its type complex[] is not a composite type LINE 1: a[1:2].i := array[11,12] ^ QUERY: a[1:2].i := array[11,12] diff --git a/src/pl/plpgsql/src/expected/plpgsql_record.out b/src/pl/plpgsql/src/expected/plpgsql_record.out index afb922df29..f702c7ad54 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_record.out +++ b/src/pl/plpgsql/src/expected/plpgsql_record.out @@ -135,7 +135,7 @@ ERROR: record "c" has no field "x" CONTEXT: PL/pgSQL assignment "c.x.q1 = 1" PL/pgSQL function inline_code_block line 1 at assignment do $$ declare c nested_int8s; begin c.c2.x = 1; end $$; -ERROR: cannot assign to field "x" of column "c" because there is no such column in data type two_int8s +ERROR: cannot assign to field "x" of column or variable "c" because there is no such column in data type two_int8s LINE 1: c.c2.x = 1 ^ QUERY: c.c2.x = 1 @@ -157,7 +157,7 @@ ERROR: record "c" has no field "x" CONTEXT: PL/pgSQL assignment "b.c.x.q1 = 1" PL/pgSQL function inline_code_block line 1 at assignment do $$ <> declare c nested_int8s; begin b.c.c2.x = 1; end $$; -ERROR: cannot assign to field "x" of column "b" because there is no such column in data type two_int8s +ERROR: cannot assign to field "x" of column or variable "b" because there is no such column in data type two_int8s LINE 1: b.c.c2.x = 1 ^ QUERY: b.c.c2.x = 1 diff --git a/src/pl/tcl/expected/pltcl_queries.out b/src/pl/tcl/expected/pltcl_queries.out index 2d922c2333..3b6506d613 100644 --- a/src/pl/tcl/expected/pltcl_queries.out +++ b/src/pl/tcl/expected/pltcl_queries.out @@ -246,12 +246,12 @@ ERROR: type "b" does not exist select tcl_eval('spi_prepare a "b {"'); ERROR: unmatched open brace in list select tcl_error_handling_test($tcl$spi_prepare "select moo" []$tcl$); - tcl_error_handling_test --------------------------------------- - SQLSTATE: 42703 + - condition: undefined_column + - cursor_position: 8 + - message: column "moo" does not exist+ + tcl_error_handling_test +-------------------------------------------------- + SQLSTATE: 42703 + + condition: undefined_column + + cursor_position: 8 + + message: column or variable "moo" does not exist+ statement: select moo (1 row) diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 27b4d7dc96..0554e8ed1c 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -1287,19 +1287,19 @@ select * from atacc1; (1 row) select * from atacc1 order by a; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: select * from atacc1 order by a; ^ select * from atacc1 order by "........pg.dropped.1........"; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: select * from atacc1 order by "........pg.dropped.1........"... ^ select * from atacc1 group by a; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: select * from atacc1 group by a; ^ select * from atacc1 group by "........pg.dropped.1........"; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: select * from atacc1 group by "........pg.dropped.1........"... ^ select atacc1.* from atacc1; @@ -1309,7 +1309,7 @@ select atacc1.* from atacc1; (1 row) select a from atacc1; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: select a from atacc1; ^ select atacc1.a from atacc1; @@ -1323,15 +1323,15 @@ select b,c,d from atacc1; (1 row) select a,b,c,d from atacc1; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: select a,b,c,d from atacc1; ^ select * from atacc1 where a = 1; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: select * from atacc1 where a = 1; ^ select "........pg.dropped.1........" from atacc1; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: select "........pg.dropped.1........" from atacc1; ^ select atacc1."........pg.dropped.1........" from atacc1; @@ -1339,11 +1339,11 @@ ERROR: column atacc1.........pg.dropped.1........ does not exist LINE 1: select atacc1."........pg.dropped.1........" from atacc1; ^ select "........pg.dropped.1........",b,c,d from atacc1; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: select "........pg.dropped.1........",b,c,d from atacc1; ^ select * from atacc1 where "........pg.dropped.1........" = 1; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: select * from atacc1 where "........pg.dropped.1........" = ... ^ -- UPDATEs @@ -1352,7 +1352,7 @@ ERROR: column "a" of relation "atacc1" does not exist LINE 1: update atacc1 set a = 3; ^ update atacc1 set b = 2 where a = 3; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: update atacc1 set b = 2 where a = 3; ^ update atacc1 set "........pg.dropped.1........" = 3; @@ -1360,7 +1360,7 @@ ERROR: column "........pg.dropped.1........" of relation "atacc1" does not exis LINE 1: update atacc1 set "........pg.dropped.1........" = 3; ^ update atacc1 set b = 2 where "........pg.dropped.1........" = 3; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: update atacc1 set b = 2 where "........pg.dropped.1........"... ^ -- INSERTs @@ -1408,11 +1408,11 @@ LINE 1: insert into atacc1 ("........pg.dropped.1........",b,c,d) va... ^ -- DELETEs delete from atacc1 where a = 3; -ERROR: column "a" does not exist +ERROR: column or variable "a" does not exist LINE 1: delete from atacc1 where a = 3; ^ delete from atacc1 where "........pg.dropped.1........" = 3; -ERROR: column "........pg.dropped.1........" does not exist +ERROR: column or variable "........pg.dropped.1........" does not exist LINE 1: delete from atacc1 where "........pg.dropped.1........" = 3; ^ delete from atacc1; @@ -1698,7 +1698,7 @@ select f1 from c1; alter table c1 drop column f1; select f1 from c1; -ERROR: column "f1" does not exist +ERROR: column or variable "f1" does not exist LINE 1: select f1 from c1; ^ HINT: Perhaps you meant to reference the column "c1.f2". @@ -1712,7 +1712,7 @@ ERROR: cannot drop inherited column "f1" alter table p1 drop column f1; -- c1.f1 is dropped now, since there is no local definition for it select f1 from c1; -ERROR: column "f1" does not exist +ERROR: column or variable "f1" does not exist LINE 1: select f1 from c1; ^ HINT: Perhaps you meant to reference the column "c1.f2". diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index 090ef6c7a8..165bd7491d 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -122,7 +122,7 @@ LINE 1: COPY x TO stdout WHERE a = 1; COPY x from stdin WHERE a = 50004; COPY x from stdin WHERE a > 60003; COPY x from stdin WHERE f > 60003; -ERROR: column "f" does not exist +ERROR: column or variable "f" does not exist LINE 1: COPY x from stdin WHERE f > 60003; ^ COPY x from stdin WHERE a = max(x.b); diff --git a/src/test/regress/expected/errors.out b/src/test/regress/expected/errors.out index 8c527474da..e53ae451df 100644 --- a/src/test/regress/expected/errors.out +++ b/src/test/regress/expected/errors.out @@ -27,7 +27,7 @@ LINE 1: select * from nonesuch; ^ -- bad name in target list select nonesuch from pg_database; -ERROR: column "nonesuch" does not exist +ERROR: column or variable "nonesuch" does not exist LINE 1: select nonesuch from pg_database; ^ -- empty distinct list isn't OK @@ -37,17 +37,17 @@ LINE 1: select distinct from pg_database; ^ -- bad attribute name on lhs of operator select * from pg_database where nonesuch = pg_database.datname; -ERROR: column "nonesuch" does not exist +ERROR: column or variable "nonesuch" does not exist LINE 1: select * from pg_database where nonesuch = pg_database.datna... ^ -- bad attribute name on rhs of operator select * from pg_database where pg_database.datname = nonesuch; -ERROR: column "nonesuch" does not exist +ERROR: column or variable "nonesuch" does not exist LINE 1: ...ect * from pg_database where pg_database.datname = nonesuch; ^ -- bad attribute name in select distinct on select distinct on (foobar) * from pg_database; -ERROR: column "foobar" does not exist +ERROR: column or variable "foobar" does not exist LINE 1: select distinct on (foobar) * from pg_database; ^ -- grouping with FOR UPDATE diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out index e293de03c0..030c0866f8 100644 --- a/src/test/regress/expected/join.out +++ b/src/test/regress/expected/join.out @@ -5640,13 +5640,13 @@ LINE 1: select t2.uunique1 from HINT: Perhaps you meant to reference the column "t2.unique1". select uunique1 from tenk1 t1 join tenk2 t2 on t1.two = t2.two; -- error, suggest both at once -ERROR: column "uunique1" does not exist +ERROR: column or variable "uunique1" does not exist LINE 1: select uunique1 from ^ HINT: Perhaps you meant to reference the column "t1.unique1" or the column "t2.unique1". select ctid from tenk1 t1 join tenk2 t2 on t1.two = t2.two; -- error, need qualification -ERROR: column "ctid" does not exist +ERROR: column or variable "ctid" does not exist LINE 1: select ctid from ^ DETAIL: There are columns named "ctid", but they are in tables that cannot be referenced from this part of the query. @@ -6716,7 +6716,7 @@ lateral (select * from int8_tbl t1, -- test some error cases where LATERAL should have been used but wasn't select f1,g from int4_tbl a, (select f1 as g) ss; -ERROR: column "f1" does not exist +ERROR: column or variable "f1" does not exist LINE 1: select f1,g from int4_tbl a, (select f1 as g) ss; ^ DETAIL: There is a column named "f1" in table "a", but it cannot be referenced from this part of the query. @@ -6728,7 +6728,7 @@ LINE 1: select f1,g from int4_tbl a, (select a.f1 as g) ss; DETAIL: There is an entry for table "a", but it cannot be referenced from this part of the query. HINT: To reference that table, you must mark this subquery with LATERAL. select f1,g from int4_tbl a cross join (select f1 as g) ss; -ERROR: column "f1" does not exist +ERROR: column or variable "f1" does not exist LINE 1: select f1,g from int4_tbl a cross join (select f1 as g) ss; ^ DETAIL: There is a column named "f1" in table "a", but it cannot be referenced from this part of the query. @@ -6765,7 +6765,7 @@ LINE 1: select 1 from tenk1 a, lateral (select max(a.unique1) from i... create temp table xx1 as select f1 as x1, -f1 as x2 from int4_tbl; -- error, can't do this: update xx1 set x2 = f1 from (select * from int4_tbl where f1 = x1) ss; -ERROR: column "x1" does not exist +ERROR: column or variable "x1" does not exist LINE 1: ... set x2 = f1 from (select * from int4_tbl where f1 = x1) ss; ^ DETAIL: There is a column named "x1" in table "xx1", but it cannot be referenced from this part of the query. @@ -6785,7 +6785,7 @@ update xx1 set x2 = f1 from xx1, lateral (select * from int4_tbl where f1 = x1) ERROR: table name "xx1" specified more than once -- also errors: delete from xx1 using (select * from int4_tbl where f1 = x1) ss; -ERROR: column "x1" does not exist +ERROR: column or variable "x1" does not exist LINE 1: ...te from xx1 using (select * from int4_tbl where f1 = x1) ss; ^ DETAIL: There is a column named "x1" in table "xx1", but it cannot be referenced from this part of the query. diff --git a/src/test/regress/expected/numerology.out b/src/test/regress/expected/numerology.out index f662a5050a..fd89def959 100644 --- a/src/test/regress/expected/numerology.out +++ b/src/test/regress/expected/numerology.out @@ -299,7 +299,7 @@ SELECT 1_000.5e0_1; -- error cases SELECT _100; -ERROR: column "_100" does not exist +ERROR: column or variable "_100" does not exist LINE 1: SELECT _100; ^ SELECT 100_; diff --git a/src/test/regress/expected/plpgsql.out b/src/test/regress/expected/plpgsql.out index cdc519256a..66c7cd128a 100644 --- a/src/test/regress/expected/plpgsql.out +++ b/src/test/regress/expected/plpgsql.out @@ -2600,7 +2600,7 @@ end; $$ language plpgsql; -- should fail: SQLSTATE and SQLERRM are only in defined EXCEPTION -- blocks select excpt_test1(); -ERROR: column "sqlstate" does not exist +ERROR: column or variable "sqlstate" does not exist LINE 1: sqlstate ^ QUERY: sqlstate @@ -2615,7 +2615,7 @@ begin end; $$ language plpgsql; -- should fail select excpt_test2(); -ERROR: column "sqlstate" does not exist +ERROR: column or variable "sqlstate" does not exist LINE 1: sqlstate ^ QUERY: sqlstate @@ -4648,7 +4648,7 @@ BEGIN RAISE NOTICE '%, %', r.roomno, r.comment; END LOOP; END$$; -ERROR: column "foo" does not exist +ERROR: column or variable "foo" does not exist LINE 1: SELECT rtrim(roomno) AS roomno, foo FROM Room ORDER BY roomn... ^ QUERY: SELECT rtrim(roomno) AS roomno, foo FROM Room ORDER BY roomno @@ -4690,7 +4690,7 @@ begin raise notice 'x = %', x; end; $$; -ERROR: column "x" does not exist +ERROR: column or variable "x" does not exist LINE 1: x + 1 ^ QUERY: x + 1 @@ -4702,7 +4702,7 @@ begin raise notice 'x = %, y = %', x, y; end; $$; -ERROR: column "x" does not exist +ERROR: column or variable "x" does not exist LINE 1: x + 1 ^ QUERY: x + 1 @@ -5715,7 +5715,7 @@ ALTER TABLE alter_table_under_transition_tables DROP column name; UPDATE alter_table_under_transition_tables SET id = id; -ERROR: column "name" does not exist +ERROR: column or variable "name" does not exist LINE 1: (SELECT string_agg(id || '=' || name, ',') FROM d) ^ QUERY: (SELECT string_agg(id || '=' || name, ',') FROM d) diff --git a/src/test/regress/expected/psql.out b/src/test/regress/expected/psql.out index b75a74d294..b4dce3cb9d 100644 --- a/src/test/regress/expected/psql.out +++ b/src/test/regress/expected/psql.out @@ -120,7 +120,7 @@ SELECT $1, $2 \bind 'foo' 'bar' \g -- errors -- parse error SELECT foo \bind \g -ERROR: column "foo" does not exist +ERROR: column or variable "foo" does not exist LINE 1: SELECT foo ^ -- tcop error diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index e953d1f515..094659d209 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -1191,7 +1191,7 @@ drop rule rules_foorule on rules_foo; -- this should fail because f1 is not exposed for unqualified reference: create rule rules_foorule as on insert to rules_foo where f1 < 100 do instead insert into rules_foo2 values (f1); -ERROR: column "f1" does not exist +ERROR: column or variable "f1" does not exist LINE 2: do instead insert into rules_foo2 values (f1); ^ DETAIL: There are columns named "f1", but they are in tables that cannot be referenced from this part of the query. diff --git a/src/test/regress/expected/session_variables.out b/src/test/regress/expected/session_variables.out index 08834e03ea..01e07b6ff1 100644 --- a/src/test/regress/expected/session_variables.out +++ b/src/test/regress/expected/session_variables.out @@ -273,7 +273,7 @@ SELECT v1; -- should fail LET v1.x = 10; -ERROR: cannot assign to field "x" of column "v1" because there is no such column in data type t1 +ERROR: cannot assign to field "x" of column or variable "v1" because there is no such column in data type t1 LINE 1: LET v1.x = 10; ^ DROP VARIABLE v1; diff --git a/src/test/regress/expected/transactions.out b/src/test/regress/expected/transactions.out index 2b2cff7d91..60c096b857 100644 --- a/src/test/regress/expected/transactions.out +++ b/src/test/regress/expected/transactions.out @@ -256,7 +256,7 @@ SELECT * FROM trans_barbaz; -- should have 1 BEGIN; SAVEPOINT one; SELECT trans_foo; -ERROR: column "trans_foo" does not exist +ERROR: column or variable "trans_foo" does not exist LINE 1: SELECT trans_foo; ^ ROLLBACK TO SAVEPOINT one; @@ -305,7 +305,7 @@ BEGIN; SAVEPOINT one; INSERT INTO savepoints VALUES (5); SELECT trans_foo; -ERROR: column "trans_foo" does not exist +ERROR: column or variable "trans_foo" does not exist LINE 1: SELECT trans_foo; ^ COMMIT; diff --git a/src/test/regress/expected/union.out b/src/test/regress/expected/union.out index e2613d6777..0a6613c430 100644 --- a/src/test/regress/expected/union.out +++ b/src/test/regress/expected/union.out @@ -907,7 +907,7 @@ ORDER BY q2,q1; -- This should fail, because q2 isn't a name of an EXCEPT output column SELECT q1 FROM int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1; -ERROR: column "q2" does not exist +ERROR: column or variable "q2" does not exist LINE 1: ... int8_tbl EXCEPT SELECT q2 FROM int8_tbl ORDER BY q2 LIMIT 1... ^ DETAIL: There is a column named "q2" in table "*SELECT* 2", but it cannot be referenced from this part of the query. -- 2.39.2