Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5ca4dfc

Browse files
committed
Remove 13 keywords that are used only for ROLE options.
Review by Tom Lane.
1 parent01c1a12 commit5ca4dfc

File tree

2 files changed

+58
-87
lines changed

2 files changed

+58
-87
lines changed

‎src/backend/parser/gram.y

Lines changed: 58 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -489,8 +489,8 @@ static void SplitColQualList(List *qualList,
489489
CHARACTER CHARACTERISTICS CHECK CHECKPOINT CLASS CLOSE
490490
CLUSTER COALESCE COLLATE COLLATION COLUMN COMMENT COMMENTS COMMIT
491491
COMMITTED CONCURRENTLY CONFIGURATION CONNECTION CONSTRAINT CONSTRAINTS
492-
CONTENT_P CONTINUE_P CONVERSION_P COPY COST CREATE CREATEDB
493-
CREATEROLE CREATEUSERCROSS CSV CURRENT_P
492+
CONTENT_P CONTINUE_P CONVERSION_P COPY COST CREATE
493+
CROSS CSV CURRENT_P
494494
CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_SCHEMA
495495
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
496496

@@ -520,13 +520,12 @@ static void SplitColQualList(List *qualList,
520520

521521
LABEL LANGUAGE LARGE_P LAST_P LC_COLLATE_P LC_CTYPE_P LEADING
522522
LEAST LEFT LEVEL LIKE LIMIT LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP
523-
LOCATION LOCK_P LOGIN_P
523+
LOCATION LOCK_P
524524

525525
MAPPING MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
526526

527-
NAME_P NAMES NATIONAL NATURAL NCHAR NEXT NO NOCREATEDB
528-
NOCREATEROLE NOCREATEUSER NOINHERIT NOLOGIN_P NONE NOREPLICATION_P
529-
NOSUPERUSER NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLIF
527+
NAME_P NAMES NATIONAL NATURAL NCHAR NEXT NO NONE
528+
NOT NOTHING NOTIFY NOTNULL NOWAIT NULL_P NULLIF
530529
NULLS_P NUMERIC
531530

532531
OBJECT_P OF OFF OFFSET OIDS ON ONLY OPERATOR OPTION OPTIONS OR
@@ -539,14 +538,14 @@ static void SplitColQualList(List *qualList,
539538
QUOTE
540539

541540
RANGE READ REAL REASSIGN RECHECK RECURSIVE REF REFERENCES REINDEX
542-
RELATIVE_P RELEASE RENAME REPEATABLE REPLACE REPLICA REPLICATION_P
541+
RELATIVE_P RELEASE RENAME REPEATABLE REPLACE REPLICA
543542
RESET RESTART RESTRICT RETURNING RETURNS REVOKE RIGHT ROLE ROLLBACK
544543
ROW ROWS RULE
545544

546545
SAVEPOINT SCHEMA SCROLL SEARCH SECOND_P SECURITY SELECT SEQUENCE SEQUENCES
547546
SERIALIZABLE SERVER SESSION SESSION_USER SET SETOF SHARE
548547
SHOW SIMILAR SIMPLE SMALLINT SOME STABLE STANDALONE_P START STATEMENT
549-
STATISTICS STDIN STDOUT STORAGE STRICT_P STRIP_P SUBSTRING SUPERUSER_P
548+
STATISTICS STDIN STDOUT STORAGE STRICT_P STRIP_P SUBSTRING
550549
SYMMETRIC SYSID SYSTEM_P
551550

552551
TABLE TABLES TABLESPACE TEMP TEMPLATE TEMPORARY TEXT_P THEN TIME TIMESTAMP
@@ -838,63 +837,10 @@ AlterOptRoleElem:
838837
$$ = makeDefElem("unencryptedPassword",
839838
(Node *)makeString($3));
840839
}
841-
|SUPERUSER_P
842-
{
843-
$$ = makeDefElem("superuser", (Node *)makeInteger(TRUE));
844-
}
845-
|NOSUPERUSER
846-
{
847-
$$ = makeDefElem("superuser", (Node *)makeInteger(FALSE));
848-
}
849840
|INHERIT
850841
{
851842
$$ = makeDefElem("inherit", (Node *)makeInteger(TRUE));
852843
}
853-
|NOINHERIT
854-
{
855-
$$ = makeDefElem("inherit", (Node *)makeInteger(FALSE));
856-
}
857-
|CREATEDB
858-
{
859-
$$ = makeDefElem("createdb", (Node *)makeInteger(TRUE));
860-
}
861-
|NOCREATEDB
862-
{
863-
$$ = makeDefElem("createdb", (Node *)makeInteger(FALSE));
864-
}
865-
|CREATEROLE
866-
{
867-
$$ = makeDefElem("createrole", (Node *)makeInteger(TRUE));
868-
}
869-
|NOCREATEROLE
870-
{
871-
$$ = makeDefElem("createrole", (Node *)makeInteger(FALSE));
872-
}
873-
|CREATEUSER
874-
{
875-
/* For backwards compatibility, synonym for SUPERUSER*/
876-
$$ = makeDefElem("superuser", (Node *)makeInteger(TRUE));
877-
}
878-
|NOCREATEUSER
879-
{
880-
$$ = makeDefElem("superuser", (Node *)makeInteger(FALSE));
881-
}
882-
|LOGIN_P
883-
{
884-
$$ = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
885-
}
886-
|NOLOGIN_P
887-
{
888-
$$ = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
889-
}
890-
|REPLICATION_P
891-
{
892-
$$ = makeDefElem("isreplication", (Node *)makeInteger(TRUE));
893-
}
894-
|NOREPLICATION_P
895-
{
896-
$$ = makeDefElem("isreplication", (Node *)makeInteger(FALSE));
897-
}
898844
|CONNECTIONLIMITSignedIconst
899845
{
900846
$$ = makeDefElem("connectionlimit", (Node *)makeInteger($3));
@@ -908,6 +854,57 @@ AlterOptRoleElem:
908854
{
909855
$$ = makeDefElem("rolemembers", (Node *)$2);
910856
}
857+
|IDENT
858+
{
859+
/*
860+
* We handle identifiers that aren't parser keywords with
861+
* the following special-case codes, to avoid bloating the
862+
* size of the main parser.
863+
*/
864+
if (strcmp($1,"superuser") ==0)
865+
$$ = makeDefElem("superuser", (Node *)makeInteger(TRUE));
866+
elseif (strcmp($1,"nosuperuser") ==0)
867+
$$ = makeDefElem("superuser", (Node *)makeInteger(FALSE));
868+
elseif (strcmp($1,"createuser") ==0)
869+
{
870+
/* For backwards compatibility, synonym for SUPERUSER*/
871+
$$ = makeDefElem("superuser", (Node *)makeInteger(TRUE));
872+
}
873+
elseif (strcmp($1,"nocreateuser") ==0)
874+
{
875+
/* For backwards compatibility, synonym for SUPERUSER*/
876+
$$ = makeDefElem("superuser", (Node *)makeInteger(FALSE));
877+
}
878+
elseif (strcmp($1,"createrole") ==0)
879+
$$ = makeDefElem("createrole", (Node *)makeInteger(TRUE));
880+
elseif (strcmp($1,"nocreaterole") ==0)
881+
$$ = makeDefElem("createrole", (Node *)makeInteger(FALSE));
882+
elseif (strcmp($1,"replication") ==0)
883+
$$ = makeDefElem("isreplication", (Node *)makeInteger(TRUE));
884+
elseif (strcmp($1,"noreplication") ==0)
885+
$$ = makeDefElem("isreplication", (Node *)makeInteger(FALSE));
886+
elseif (strcmp($1,"createdb") ==0)
887+
$$ = makeDefElem("createdb", (Node *)makeInteger(TRUE));
888+
elseif (strcmp($1,"nocreatedb") ==0)
889+
$$ = makeDefElem("createdb", (Node *)makeInteger(FALSE));
890+
elseif (strcmp($1,"login") ==0)
891+
$$ = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
892+
elseif (strcmp($1,"nologin") ==0)
893+
$$ = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
894+
elseif (strcmp($1,"noinherit") ==0)
895+
{
896+
/*
897+
* Note that INHERIT is a keyword, so it's handled by main parser, but
898+
* NOINHERIT is handled here.
899+
*/
900+
$$ = makeDefElem("inherit", (Node *)makeInteger(FALSE));
901+
}
902+
else
903+
ereport(ERROR,
904+
(errcode(ERRCODE_SYNTAX_ERROR),
905+
errmsg("unrecognized role option\"%s\"", $1),
906+
parser_errposition(@1)));
907+
}
911908
;
912909

913910
CreateOptRoleElem:
@@ -11853,9 +11850,6 @@ unreserved_keyword:
1185311850
| CONVERSION_P
1185411851
| COPY
1185511852
| COST
11856-
| CREATEDB
11857-
| CREATEROLE
11858-
| CREATEUSER
1185911853
| CSV
1186011854
| CURRENT_P
1186111855
| CURSOR
@@ -11935,7 +11929,6 @@ unreserved_keyword:
1193511929
| LOCAL
1193611930
| LOCATION
1193711931
| LOCK_P
11938-
| LOGIN_P
1193911932
| MAPPING
1194011933
| MATCH
1194111934
| MAXVALUE
@@ -11948,13 +11941,6 @@ unreserved_keyword:
1194811941
| NAMES
1194911942
| NEXT
1195011943
| NO
11951-
| NOCREATEDB
11952-
| NOCREATEROLE
11953-
| NOCREATEUSER
11954-
| NOINHERIT
11955-
| NOLOGIN_P
11956-
| NOREPLICATION_P
11957-
| NOSUPERUSER
1195811944
| NOTHING
1195911945
| NOTIFY
1196011946
| NOWAIT
@@ -11996,7 +11982,6 @@ unreserved_keyword:
1199611982
| REPEATABLE
1199711983
| REPLACE
1199811984
| REPLICA
11999-
| REPLICATION_P
1200011985
| RESET
1200111986
| RESTART
1200211987
| RESTRICT
@@ -12031,7 +12016,6 @@ unreserved_keyword:
1203112016
| STORAGE
1203212017
| STRICT_P
1203312018
| STRIP_P
12034-
| SUPERUSER_P
1203512019
| SYSID
1203612020
| SYSTEM_P
1203712021
| TABLES

‎src/include/parser/kwlist.h

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,6 @@ PG_KEYWORD("conversion", CONVERSION_P, UNRESERVED_KEYWORD)
9696
PG_KEYWORD("copy",COPY,UNRESERVED_KEYWORD)
9797
PG_KEYWORD("cost",COST,UNRESERVED_KEYWORD)
9898
PG_KEYWORD("create",CREATE,RESERVED_KEYWORD)
99-
PG_KEYWORD("createdb",CREATEDB,UNRESERVED_KEYWORD)
100-
PG_KEYWORD("createrole",CREATEROLE,UNRESERVED_KEYWORD)
101-
PG_KEYWORD("createuser",CREATEUSER,UNRESERVED_KEYWORD)
10299
PG_KEYWORD("cross",CROSS,TYPE_FUNC_NAME_KEYWORD)
103100
PG_KEYWORD("csv",CSV,UNRESERVED_KEYWORD)
104101
PG_KEYWORD("current",CURRENT_P,UNRESERVED_KEYWORD)
@@ -230,7 +227,6 @@ PG_KEYWORD("localtime", LOCALTIME, RESERVED_KEYWORD)
230227
PG_KEYWORD("localtimestamp",LOCALTIMESTAMP,RESERVED_KEYWORD)
231228
PG_KEYWORD("location",LOCATION,UNRESERVED_KEYWORD)
232229
PG_KEYWORD("lock",LOCK_P,UNRESERVED_KEYWORD)
233-
PG_KEYWORD("login",LOGIN_P,UNRESERVED_KEYWORD)
234230
PG_KEYWORD("mapping",MAPPING,UNRESERVED_KEYWORD)
235231
PG_KEYWORD("match",MATCH,UNRESERVED_KEYWORD)
236232
PG_KEYWORD("maxvalue",MAXVALUE,UNRESERVED_KEYWORD)
@@ -246,14 +242,7 @@ PG_KEYWORD("natural", NATURAL, TYPE_FUNC_NAME_KEYWORD)
246242
PG_KEYWORD("nchar",NCHAR,COL_NAME_KEYWORD)
247243
PG_KEYWORD("next",NEXT,UNRESERVED_KEYWORD)
248244
PG_KEYWORD("no",NO,UNRESERVED_KEYWORD)
249-
PG_KEYWORD("nocreatedb",NOCREATEDB,UNRESERVED_KEYWORD)
250-
PG_KEYWORD("nocreaterole",NOCREATEROLE,UNRESERVED_KEYWORD)
251-
PG_KEYWORD("nocreateuser",NOCREATEUSER,UNRESERVED_KEYWORD)
252-
PG_KEYWORD("noinherit",NOINHERIT,UNRESERVED_KEYWORD)
253-
PG_KEYWORD("nologin",NOLOGIN_P,UNRESERVED_KEYWORD)
254245
PG_KEYWORD("none",NONE,COL_NAME_KEYWORD)
255-
PG_KEYWORD("noreplication",NOREPLICATION_P,UNRESERVED_KEYWORD)
256-
PG_KEYWORD("nosuperuser",NOSUPERUSER,UNRESERVED_KEYWORD)
257246
PG_KEYWORD("not",NOT,RESERVED_KEYWORD)
258247
PG_KEYWORD("nothing",NOTHING,UNRESERVED_KEYWORD)
259248
PG_KEYWORD("notify",NOTIFY,UNRESERVED_KEYWORD)
@@ -316,7 +305,6 @@ PG_KEYWORD("rename", RENAME, UNRESERVED_KEYWORD)
316305
PG_KEYWORD("repeatable",REPEATABLE,UNRESERVED_KEYWORD)
317306
PG_KEYWORD("replace",REPLACE,UNRESERVED_KEYWORD)
318307
PG_KEYWORD("replica",REPLICA,UNRESERVED_KEYWORD)
319-
PG_KEYWORD("replication",REPLICATION_P,UNRESERVED_KEYWORD)
320308
PG_KEYWORD("reset",RESET,UNRESERVED_KEYWORD)
321309
PG_KEYWORD("restart",RESTART,UNRESERVED_KEYWORD)
322310
PG_KEYWORD("restrict",RESTRICT,UNRESERVED_KEYWORD)
@@ -361,7 +349,6 @@ PG_KEYWORD("storage", STORAGE, UNRESERVED_KEYWORD)
361349
PG_KEYWORD("strict",STRICT_P,UNRESERVED_KEYWORD)
362350
PG_KEYWORD("strip",STRIP_P,UNRESERVED_KEYWORD)
363351
PG_KEYWORD("substring",SUBSTRING,COL_NAME_KEYWORD)
364-
PG_KEYWORD("superuser",SUPERUSER_P,UNRESERVED_KEYWORD)
365352
PG_KEYWORD("symmetric",SYMMETRIC,RESERVED_KEYWORD)
366353
PG_KEYWORD("sysid",SYSID,UNRESERVED_KEYWORD)
367354
PG_KEYWORD("system",SYSTEM_P,UNRESERVED_KEYWORD)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp