/*+ Test (t1 t2) */
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
INFO: hint syntax error at or near "Test (t1 t2) "
-DETAIL: Keyword "Test" does not exist.
+DETAIL: Unrecognized hint keyword "Test".
QUERY PLAN
--------------------------------------
Merge Join
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
INFO: hint syntax error at or near "/* nest comment */ */
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;"
-DETAIL: Block comments nest doesn't supported.
+DETAIL: Nested block comments are not supported.
QUERY PLAN
--------------------------------------
Merge Join
/*+Set(work_mem TO "1MB")*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
INFO: hint syntax error at or near ""1MB")"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
--------------------------------------
Merge Join
/*+SeqScan(t1 t2)*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2 WHERE t1.id = t2.id;
INFO: hint syntax error at or near "t2)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
--------------------------------------
Merge Join
/*+Leading( )*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
INFO: hint syntax error at or near "Leading( )"
-DETAIL: In Leading hint, specified relation name 2 or more.
+DETAIL: Leading hint requires at least two relations.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+Leading( t3 )*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
INFO: hint syntax error at or near "Leading( t3 )"
-DETAIL: In Leading hint, specified relation name 2 or more.
+DETAIL: Leading hint requires at least two relations.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+Leading(t3 t4 t4)*/
EXPLAIN (COSTS false) SELECT * FROM t1, t2, t3, t4 WHERE t1.id = t2.id AND t1.id = t3.id AND t1.id = t4.id;
INFO: hint syntax error at or near "Leading(t3 t4 t4)"
-DETAIL: Relation name "t4" is duplicate.
+DETAIL: Relation name "t4" is duplicated.
LOG: pg_hint_plan:
used hint:
not used hint:
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
INFO: hint syntax error at or near "/* nest comment */ */
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;"
-DETAIL: Block comments nest doesn't supported.
+DETAIL: Nested block comments are not supported.
QUERY PLAN
------------------------------
Index Scan using t1_i1 on t1
EXPLAIN (COSTS false) SELECT * FROM s1.t1 "/**/" WHERE "/**/".c1 = 1;
INFO: hint syntax error at or near "/**/)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 "/**/" WHERE "/**/".c1 = 1;"
-DETAIL: Block comments nest doesn't supported.
+DETAIL: Nested block comments are not supported.
QUERY PLAN
-------------------------------------
Index Scan using t1_i1 on t1 "/**/"
EXPLAIN (COSTS false) SELECT * FROM s1.t1 "/**//**//**/" WHERE "/**//**//**/".c1 = 1;
INFO: hint syntax error at or near "/**//**//**/)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 "/**//**//**/" WHERE "/**//**//**/".c1 = 1;"
-DETAIL: Block comments nest doesn't supported.
+DETAIL: Nested block comments are not supported.
QUERY PLAN
---------------------------------------------
Index Scan using t1_i1 on t1 "/**//**//**/"
EXPLAIN (COSTS false) SELECT * FROM s1.t1 "tT()""
Set/**/あ" WHERE "tT()""
Set/**/あ".c1 = 1;"
-DETAIL: Block comments nest doesn't supported.
+DETAIL: Nested block comments are not supported.
QUERY PLAN
------------------------------------------
Index Scan using t1_i1 on t1 "tT()""
/*+Set(enable_indexscan off)Set enable_tidscan off)Set(enable_bitmapscan off)SeqScan(t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
INFO: hint syntax error at or near "enable_tidscan off)Set(enable_bitmapscan off)SeqScan(t1)"
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
LOG: pg_hint_plan:
used hint:
Set(enable_indexscan off)
/*+Set(enable_indexscan off)Set(enable_tidscan off Set(enable_bitmapscan off)SeqScan(t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
INFO: hint syntax error at or near "Set(enable_bitmapscan off)SeqScan(t1)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
LOG: pg_hint_plan:
used hint:
Set(enable_indexscan off)
/*+Set(enable_indexscan off)NoSet(enable_tidscan off)Set(enable_bitmapscan off)SeqScan(t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
INFO: hint syntax error at or near "NoSet(enable_tidscan off)Set(enable_bitmapscan off)SeqScan(t1)"
-DETAIL: Keyword "NoSet" does not exist.
+DETAIL: Unrecognized hint keyword "NoSet".
LOG: pg_hint_plan:
used hint:
Set(enable_indexscan off)
/*+Set(enable_indexscan off)"Set"(enable_tidscan off)Set(enable_bitmapscan off)SeqScan(t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
INFO: hint syntax error at or near ""Set"(enable_tidscan off)Set(enable_bitmapscan off)SeqScan(t1)"
-DETAIL: Keyword ""Set"" does not exist.
+DETAIL: Unrecognized hint keyword ""Set"".
LOG: pg_hint_plan:
used hint:
Set(enable_indexscan off)
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;
INFO: hint syntax error at or near "/* value */off)Set(enable_bitmapscan off)SeqScan(t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1 WHERE t1.c1 = 1;"
-DETAIL: Block comments nest doesn't supported.
+DETAIL: Nested block comments are not supported.
QUERY PLAN
------------------------------
Index Scan using t1_i1 on t1
DEBUG: StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
DEBUG: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
DEBUG: CommitTransactionCommand
DEBUG: CommitTransaction
DEBUG: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
DEBUG: StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
DEBUG: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
DEBUG: CommitTransactionCommand
DEBUG: CommitTransaction
DEBUG: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
DEBUG: StartTransaction
DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
DEBUG: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
DEBUG: CommitTransactionCommand
DEBUG: CommitTransaction
DEBUG: name: unnamed; blockState: STARTED; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
/*+Set*/SELECT 1;
DEBUG: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
/*+Set*/SELECT 1;
DEBUG: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
/*+Set*/SELECT 1;
LOG: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
/*+Set*/SELECT 1;
INFO: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
SET client_min_messages TO notice;
/*+Set*/SELECT 1;
INFO: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
/*+Set*/SELECT 1;
NOTICE: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
/*+Set*/SELECT 1;
WARNING: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
/*+Set*/SELECT 1;
ERROR: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
SET client_min_messages TO fatal;
/*+Set*/SELECT 1;
-- No. A-6-4-11
/*+Set*/SELECT 1;
INFO: hint syntax error at or near ""
-DETAIL: Opened parenthesis is necessary.
+DETAIL: Opening parenthesis is necessary.
?column?
----------
1
-- No. A-7-1-1
/*+"Set"(enable_indexscan on)*/SELECT 1;
INFO: hint syntax error at or near ""Set"(enable_indexscan on)"
-DETAIL: Keyword ""Set"" does not exist.
+DETAIL: Unrecognized hint keyword ""Set"".
?column?
----------
1
/*+Set(enable_indexscan on*/SELECT 1;
INFO: hint syntax error at or near ""
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
?column?
----------
1
/*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)NestLoop(t1 t1)*/
PREPARE p1 AS SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
INFO: hint syntax error at or near "NestLoop(t1 t1)"
-DETAIL: Relation name "t1" is duplicate.
+DETAIL: Relation name "t1" is duplicated.
LOG: pg_hint_plan:
used hint:
SeqScan(t1)
/*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)NestLoop(t1 t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
ERROR: hint syntax error at or near "NestLoop(t1 t1)"
-DETAIL: Relation name "t1" is duplicate.
+DETAIL: Relation name "t1" is duplicated.
SELECT name, setting FROM settings;
name | setting
---------------------------+-----------
/*+Set(enable_seqscan off)Set(geqo_threshold 100)SeqScan(t1)MergeJoin(t1 t2)NestLoop(t1 t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
ERROR: hint syntax error at or near "NestLoop(t1 t1)"
-DETAIL: Relation name "t1" is duplicate.
+DETAIL: Relation name "t1" is duplicated.
SELECT name, setting FROM settings;
name | setting
---------------------------+-----------
/*+HashJoin(t1 t1)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
INFO: hint syntax error at or near "HashJoin(t1 t1)"
-DETAIL: Relation name "t1" is duplicate.
+DETAIL: Relation name "t1" is duplicated.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+HashJoin(t1 t1)HashJoin(t2 t2)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2 WHERE t1.c1 = t2.c1;
INFO: hint syntax error at or near "HashJoin(t1 t1)HashJoin(t2 t2)"
-DETAIL: Relation name "t1" is duplicate.
+DETAIL: Relation name "t1" is duplicated.
INFO: hint syntax error at or near "HashJoin(t2 t2)"
-DETAIL: Relation name "t2" is duplicate.
+DETAIL: Relation name "t2" is duplicated.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+HashJoin(t1 t2 t1 t2)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
INFO: hint syntax error at or near "HashJoin(t1 t2 t1 t2)"
-DETAIL: Relation name "t1" is duplicate.
+DETAIL: Relation name "t1" is duplicated.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+Leading(t4 t2 t3 t4)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
INFO: hint syntax error at or near "Leading(t4 t2 t3 t4)"
-DETAIL: Relation name "t4" is duplicate.
+DETAIL: Relation name "t4" is duplicated.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+Leading(t4 t2 t2 t4)*/
EXPLAIN (COSTS false) SELECT * FROM s1.t1, s1.t2, s1.t3, s1.t4 WHERE t1.c1 = t2.c1 AND t1.c1 = t3.c1 AND t1.c1 = t4.c1;
INFO: hint syntax error at or near "Leading(t4 t2 t2 t4)"
-DETAIL: Relation name "t2" is duplicate.
+DETAIL: Relation name "t2" is duplicated.
LOG: pg_hint_plan:
used hint:
not used hint:
JOIN s1.t2 ON (t1.c1 = t2.c1)
JOIN s1.t3 ON (t1.c1 = t3.c1);
INFO: hint syntax error at or near "Leading()"
-DETAIL: In Leading hint, specified relation name 2 or more.
+DETAIL: Leading hint requires at least two relations.
INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading()"
DETAIL: Conflict leading hint.
LOG: pg_hint_plan:
JOIN s1.t2 ON (t1.c1 = t2.c1)
JOIN s1.t3 ON (t1.c1 = t3.c1);
INFO: hint syntax error at or near "Leading()"
-DETAIL: In Leading hint, specified relation name 2 or more.
+DETAIL: Leading hint requires at least two relations.
INFO: hint syntax error at or near "Leading(t3 t1 t2)Leading(t2 t3 t1)Leading()"
DETAIL: Conflict leading hint.
INFO: hint syntax error at or near "Leading(t2 t3 t1)Leading()"
JOIN s1.t2 ON (t1.c1 = t2.c1)
JOIN s1.t3 ON (t1.c1 = t3.c1);
INFO: hint syntax error at or near "Leading()"
-DETAIL: In Leading hint, specified relation name 2 or more.
+DETAIL: Leading hint requires at least two relations.
LOG: pg_hint_plan:
used hint:
not used hint:
JOIN s1.t2 ON (t1.c1 = t2.c1)
JOIN s1.t3 ON (t1.c1 = t3.c1);
INFO: hint syntax error at or near "Leading(t1)"
-DETAIL: In Leading hint, specified relation name 2 or more.
+DETAIL: Leading hint requires at least two relations.
LOG: pg_hint_plan:
used hint:
not used hint:
/*+SeqScan(t1 t2)*/
EXPLAIN (COSTS false) SELECT * FROM (VALUES(1,1,1,'1')) AS t1 (c1, c2, c3, c4), (VALUES(1,1,1,'1'), (2,2,2,'2')) AS t2 (c1, c2) WHERE t1.c1 = t2.c1;
INFO: hint syntax error at or near "t2)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
----------------------------------------------------------
Nested Loop
/*+SeqScan(ti1 ti1_pkey)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+SeqScan(ti1 ti1_pkey ti1_btree)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+TidScan(ti1 ti1_pkey)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+TidScan(ti1 ti1_pkey ti1_btree)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoSeqScan(ti1 ti1_pkey)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoSeqScan(ti1 ti1_pkey ti1_btree)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoIndexScan(ti1 ti1_pkey)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoIndexScan(ti1 ti1_pkey ti1_btree)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoBitmapScan(ti1 ti1_pkey)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoBitmapScan(ti1 ti1_pkey ti1_btree)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoTidScan(ti1 ti1_pkey)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
/*+NoTidScan(ti1 ti1_pkey ti1_btree)*/
EXPLAIN (COSTS false) SELECT * FROM s1.ti1 WHERE c1 = 1 AND ctid = '(1,1)';
INFO: hint syntax error at or near "ti1_pkey ti1_btree)"
-DETAIL: Closed parenthesis is necessary.
+DETAIL: Closing parenthesis is necessary.
QUERY PLAN
-----------------------------------
Tid Scan on ti1
{
/* Define custom GUC variables. */
DefineCustomBoolVariable("pg_hint_plan.enable",
- "Instructions or hints to the planner using block comments.",
+ "Force planner to use plans specified in the hint comment preceding to the query.",
NULL,
&pg_hint_plan_enable,
true,
NULL);
DefineCustomBoolVariable("pg_hint_plan.debug_print",
- "Logs each query's parse results of the hint.",
+ "Logs results of hint parsing.",
NULL,
&pg_hint_plan_debug_print,
false,
NULL);
DefineCustomEnumVariable("pg_hint_plan.parse_messages",
- "Messege level of the parse error.",
+ "Messege level of parse errors.",
NULL,
&pg_hint_plan_parse_messages,
INFO,
if (*str != '(')
{
- parse_ereport(str, ("Opened parenthesis is necessary."));
+ parse_ereport(str, ("Opening parenthesis is necessary."));
return NULL;
}
if (*str != ')')
{
- parse_ereport(str, ("Closed parenthesis is necessary."));
+ parse_ereport(str, ("Closing parenthesis is necessary."));
return NULL;
}
if (parser->keyword == NULL)
{
- parse_ereport(head, ("Keyword \"%s\" does not exist.", buf.data));
+ parse_ereport(head, ("Unrecognized hint keyword \"%s\".", buf.data));
pfree(buf.data);
return;
}
/* 入れ子にしたブロックコメントはサポートしない */
if ((head = strstr(p, BLOCK_COMMENT_START)) != NULL && head < tail)
{
- parse_ereport(head, ("Block comments nest doesn't supported."));
+ parse_ereport(head, ("Nested block comments are not supported."));
return NULL;
}
if (list_length(hint->relations) < 2)
{
parse_ereport(hint->base.hint_str,
- ("In %s hint, specified relation name 2 or more.",
+ ("%s hint requires at least two relations.",
HINT_LEADING));
hint->base.state = HINT_STATE_ERROR;
}
if (bms_is_member(relid, hint->joinrelids))
{
parse_ereport(hint->base.hint_str,
- ("Relation name \"%s\" is duplicate.", relname));
+ ("Relation name \"%s\" is duplicated.", relname));
hint->base.state = HINT_STATE_ERROR;
break;
}
if (bms_is_member(relid, joinrelids))
{
parse_ereport(lhint->base.hint_str,
- ("Relation name \"%s\" is duplicate.", relname));
+ ("Relation name \"%s\" is duplicated.", relname));
lhint->base.state = HINT_STATE_ERROR;
bms_free(joinrelids);
return;
else
{
/* other values not expected here */
- elog(ERROR, "unrecognized reloptkind type: %d", rel->reloptkind);
+ elog(ERROR, "Unrecognized reloptkind type: %d", rel->reloptkind);
}
}
set_plain_rel_pathlist(root, rel, rte);
}
else
- elog(ERROR, "unexpected relkind: %c", rte->relkind);
+ elog(ERROR, "Unexpected relkind: %c", rte->relkind);
}
else
- elog(ERROR, "unexpected rtekind: %d", (int) rel->rtekind);
+ elog(ERROR, "Unexpected rtekind: %d", (int) rel->rtekind);
}
}