]> granicus.if.org Git - postgresql/commitdiff
Improve error message wording
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 6 Feb 2013 01:46:26 +0000 (22:46 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Wed, 6 Feb 2013 03:19:53 +0000 (00:19 -0300)
The wording changes applied in 0ac5ad513 were universally disliked.

Per gripe from Andrew Dunstan

contrib/file_fdw/output/file_fdw.source
src/backend/optimizer/plan/initsplan.c
src/backend/optimizer/plan/planner.c
src/backend/parser/analyze.c

index c01f8d804bc50911dc3e09748774ade8dc0576db..ece72429ba5f1fb92e9fc21051190305b59047b2 100644 (file)
@@ -191,7 +191,7 @@ ERROR:  cannot change foreign table "agg_csv"
 DELETE FROM agg_csv WHERE a = 100;
 ERROR:  cannot change foreign table "agg_csv"
 SELECT * FROM agg_csv FOR UPDATE OF agg_csv;
-ERROR:  SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be used with foreign table "agg_csv"
+ERROR:  row-level locks cannot be used with foreign table "agg_csv"
 LINE 1: SELECT * FROM agg_csv FOR UPDATE OF agg_csv;
                                             ^
 -- but this should be ignored
index 11d951cabeabc76f400e5fad39b7d1083d6073e2..84ca67473bbd15791c3f1790305be3481cd814f3 100644 (file)
@@ -883,7 +883,7 @@ make_outerjoininfo(PlannerInfo *root,
                        (jointype == JOIN_FULL && bms_is_member(rc->rti, left_rels)))
                        ereport(ERROR,
                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                        errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be applied to the nullable side of an outer join")));
+                                        errmsg("row-level locks cannot be applied to the nullable side of an outer join")));
        }
 
        sjinfo->syn_lefthand = left_rels;
index 3e75d3994cb541f18da08cc50422018924953490..5b97cb5a249fb357d093b0046f87be0e77f094db 100644 (file)
@@ -1071,7 +1071,7 @@ grouping_planner(PlannerInfo *root, double tuple_fraction)
                if (parse->rowMarks)
                        ereport(ERROR,
                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                        errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE is not allowed with UNION/INTERSECT/EXCEPT")));
+                                        errmsg("row-level locks are not allowed with UNION/INTERSECT/EXCEPT")));
 
                /*
                 * Calculate pathkeys that represent result ordering requirements
index ede41af6dbc28947e0ccfd416f674e49009c3f3e..240faca72aa05e6c6724ceac8ae7829019decb3a 100644 (file)
@@ -2149,31 +2149,31 @@ CheckSelectLocking(Query *qry)
        if (qry->setOperations)
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with UNION/INTERSECT/EXCEPT")));
+                                errmsg("row-level locks are not allowed with UNION/INTERSECT/EXCEPT")));
        if (qry->distinctClause != NIL)
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with DISTINCT clause")));
+                                errmsg("row-level locks are not allowed with DISTINCT clause")));
        if (qry->groupClause != NIL)
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with GROUP BY clause")));
+                                errmsg("row-level locks are not allowed with GROUP BY clause")));
        if (qry->havingQual != NULL)
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-               errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with HAVING clause")));
+               errmsg("row-level locks are not allowed with HAVING clause")));
        if (qry->hasAggs)
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with aggregate functions")));
+                                errmsg("row-level locks are not allowed with aggregate functions")));
        if (qry->hasWindowFuncs)
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with window functions")));
+                                errmsg("row-level locks are not allowed with window functions")));
        if (expression_returns_set((Node *) qry->targetList))
                ereport(ERROR,
                                (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                errmsg("SELECT FOR UPDATE/SHARE/FOR KEY UPDATE/FOR KEY SHARE is not allowed with set-returning functions in the target list")));
+                                errmsg("row-level locks are not allowed with set-returning functions in the target list")));
 }
 
 /*
@@ -2252,7 +2252,7 @@ transformLockingClause(ParseState *pstate, Query *qry, LockingClause *lc,
                        if (thisrel->catalogname || thisrel->schemaname)
                                ereport(ERROR,
                                                (errcode(ERRCODE_SYNTAX_ERROR),
-                                                errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE must specify unqualified relation names"),
+                                                errmsg("row-level locks must specify unqualified relation names"),
                                                 parser_errposition(pstate, thisrel->location)));
 
                        i = 0;
@@ -2269,7 +2269,7 @@ transformLockingClause(ParseState *pstate, Query *qry, LockingClause *lc,
                                                        if (rte->relkind == RELKIND_FOREIGN_TABLE)
                                                                ereport(ERROR,
                                                                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                         errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be used with foreign table \"%s\"",
+                                                                         errmsg("row-level locks cannot be used with foreign table \"%s\"",
                                                                                         rte->eref->aliasname),
                                                                          parser_errposition(pstate, thisrel->location)));
                                                        applyLockingClause(qry, i,
@@ -2288,25 +2288,25 @@ transformLockingClause(ParseState *pstate, Query *qry, LockingClause *lc,
                                                case RTE_JOIN:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                        errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be applied to a join"),
+                                                                        errmsg("row-level locks cannot be applied to a join"),
                                                         parser_errposition(pstate, thisrel->location)));
                                                        break;
                                                case RTE_FUNCTION:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                        errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be applied to a function"),
+                                                                        errmsg("row-level locks cannot be applied to a function"),
                                                         parser_errposition(pstate, thisrel->location)));
                                                        break;
                                                case RTE_VALUES:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                        errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be applied to VALUES"),
+                                                                        errmsg("row-level locks cannot be applied to VALUES"),
                                                         parser_errposition(pstate, thisrel->location)));
                                                        break;
                                                case RTE_CTE:
                                                        ereport(ERROR,
                                                                        (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-                                                                        errmsg("SELECT FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE cannot be applied to a WITH query"),
+                                                                        errmsg("row-level locks cannot be applied to a WITH query"),
                                                         parser_errposition(pstate, thisrel->location)));
                                                        break;
                                                default:
@@ -2320,7 +2320,7 @@ transformLockingClause(ParseState *pstate, Query *qry, LockingClause *lc,
                        if (rt == NULL)
                                ereport(ERROR,
                                                (errcode(ERRCODE_UNDEFINED_TABLE),
-                                                errmsg("relation \"%s\" in FOR UPDATE/SHARE/KEY UPDATE/KEY SHARE clause not found in FROM clause",
+                                                errmsg("relation \"%s\" in row-level lock clause not found in FROM clause",
                                                                thisrel->relname),
                                                 parser_errposition(pstate, thisrel->location)));
                }