mirror of
https://github.com/postgres/postgres.git
synced 2025-05-01 01:04:50 +03:00
Rename the new CREATE DATABASE options to set collation and ctype into
LC_COLLATE and LC_CTYPE, per discussion on pgsql-hackers.
This commit is contained in:
parent
f2110a757d
commit
1eef90d0a2
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/charset.sgml,v 2.92 2009/03/26 20:55:49 tgl Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/charset.sgml,v 2.93 2009/04/06 08:42:52 heikki Exp $ -->
|
||||||
|
|
||||||
<chapter id="charset">
|
<chapter id="charset">
|
||||||
<title>Localization</>
|
<title>Localization</>
|
||||||
@ -749,7 +749,7 @@ createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lc-ctype=ko_KR.euckr
|
|||||||
Another way to accomplish this is to use this SQL command:
|
Another way to accomplish this is to use this SQL command:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
CREATE DATABASE korean WITH ENCODING 'EUC_KR' COLLATE='ko_KR.euckr' CTYPE='ko_KR.euckr' TEMPLATE=template0;
|
CREATE DATABASE korean WITH ENCODING 'EUC_KR' LC_COLLATE='ko_KR.euckr' LC_CTYPE='ko_KR.euckr' TEMPLATE=template0;
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
||||||
The encoding for a database is stored in the system catalog
|
The encoding for a database is stored in the system catalog
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.23 2009/02/24 10:06:31 petere Exp $ -->
|
<!-- $PostgreSQL: pgsql/doc/src/sgml/keywords.sgml,v 2.24 2009/04/06 08:42:52 heikki Exp $ -->
|
||||||
|
|
||||||
<appendix id="sql-keywords-appendix">
|
<appendix id="sql-keywords-appendix">
|
||||||
<title><acronym>SQL</acronym> Key Words</title>
|
<title><acronym>SQL</acronym> Key Words</title>
|
||||||
@ -800,7 +800,7 @@
|
|||||||
<entry>non-reserved</entry>
|
<entry>non-reserved</entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><token>COLLATE</token></entry>
|
<entry><token>LC_COLLATE</token></entry>
|
||||||
<entry>reserved</entry>
|
<entry>reserved</entry>
|
||||||
<entry>reserved</entry>
|
<entry>reserved</entry>
|
||||||
<entry>reserved</entry>
|
<entry>reserved</entry>
|
||||||
@ -1168,7 +1168,7 @@
|
|||||||
<entry></entry>
|
<entry></entry>
|
||||||
</row>
|
</row>
|
||||||
<row>
|
<row>
|
||||||
<entry><token>CTYPE</token></entry>
|
<entry><token>LC_CTYPE</token></entry>
|
||||||
<entry>non-reserved</entry>
|
<entry>non-reserved</entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
<entry></entry>
|
<entry></entry>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
$PostgreSQL: pgsql/doc/src/sgml/ref/create_database.sgml,v 1.50 2008/11/14 10:22:46 petere Exp $
|
$PostgreSQL: pgsql/doc/src/sgml/ref/create_database.sgml,v 1.51 2009/04/06 08:42:52 heikki Exp $
|
||||||
PostgreSQL documentation
|
PostgreSQL documentation
|
||||||
-->
|
-->
|
||||||
|
|
||||||
@ -25,8 +25,8 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
|
|||||||
[ [ WITH ] [ OWNER [=] <replaceable class="parameter">dbowner</replaceable> ]
|
[ [ WITH ] [ OWNER [=] <replaceable class="parameter">dbowner</replaceable> ]
|
||||||
[ TEMPLATE [=] <replaceable class="parameter">template</replaceable> ]
|
[ TEMPLATE [=] <replaceable class="parameter">template</replaceable> ]
|
||||||
[ ENCODING [=] <replaceable class="parameter">encoding</replaceable> ]
|
[ ENCODING [=] <replaceable class="parameter">encoding</replaceable> ]
|
||||||
[ COLLATE [=] <replaceable class="parameter">collate</replaceable> ]
|
[ LC_COLLATE [=] <replaceable class="parameter">lc_collate</replaceable> ]
|
||||||
[ CTYPE [=] <replaceable class="parameter">ctype</replaceable> ]
|
[ LC_CTYPE [=] <replaceable class="parameter">lc_ctype</replaceable> ]
|
||||||
[ TABLESPACE [=] <replaceable class="parameter">tablespace</replaceable> ]
|
[ TABLESPACE [=] <replaceable class="parameter">tablespace</replaceable> ]
|
||||||
[ CONNECTION LIMIT [=] <replaceable class="parameter">connlimit</replaceable> ] ]
|
[ CONNECTION LIMIT [=] <replaceable class="parameter">connlimit</replaceable> ] ]
|
||||||
</synopsis>
|
</synopsis>
|
||||||
@ -207,7 +207,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
|
|||||||
|
|
||||||
<para>
|
<para>
|
||||||
The character set encoding specified for the new database must be
|
The character set encoding specified for the new database must be
|
||||||
compatible with the chosen COLLATE and CTYPE settings.
|
compatible with the chosen LC_COLLATE and LC_CTYPE settings.
|
||||||
If <envar>LC_CTYPE</> is <literal>C</> (or equivalently
|
If <envar>LC_CTYPE</> is <literal>C</> (or equivalently
|
||||||
<literal>POSIX</>), then all encodings are allowed, but for other
|
<literal>POSIX</>), then all encodings are allowed, but for other
|
||||||
locale settings there is only one encoding that will work properly.
|
locale settings there is only one encoding that will work properly.
|
||||||
@ -219,9 +219,9 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
|
|||||||
</para>
|
</para>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
The <literal>COLLATE</> and <literal>CTYPE</> settings must match
|
The <literal>LC_COLLATE</> and <literal>LC_CTYPE</> settings must match
|
||||||
those of the template database, except when template0 is used as
|
those of the template database, except when template0 is used as
|
||||||
template. This is because <literal>COLLATE</> and <literal>CTYPE</>
|
template. This is because <literal>LC_COLLATE</> and <literal>LC_CTYPE</>
|
||||||
affects the ordering in indexes, so that any indexes copied from the
|
affects the ordering in indexes, so that any indexes copied from the
|
||||||
template database would be invalid in the new database with different
|
template database would be invalid in the new database with different
|
||||||
settings. <literal>template0</literal>, however, is known to not
|
settings. <literal>template0</literal>, however, is known to not
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.219 2009/01/30 17:24:47 heikki Exp $
|
* $PostgreSQL: pgsql/src/backend/commands/dbcommands.c,v 1.220 2009/04/06 08:42:52 heikki Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -169,7 +169,7 @@ createdb(const CreatedbStmt *stmt)
|
|||||||
errmsg("conflicting or redundant options")));
|
errmsg("conflicting or redundant options")));
|
||||||
dencoding = defel;
|
dencoding = defel;
|
||||||
}
|
}
|
||||||
else if (strcmp(defel->defname, "collate") == 0)
|
else if (strcmp(defel->defname, "lc_collate") == 0)
|
||||||
{
|
{
|
||||||
if (dcollate)
|
if (dcollate)
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
@ -177,7 +177,7 @@ createdb(const CreatedbStmt *stmt)
|
|||||||
errmsg("conflicting or redundant options")));
|
errmsg("conflicting or redundant options")));
|
||||||
dcollate = defel;
|
dcollate = defel;
|
||||||
}
|
}
|
||||||
else if (strcmp(defel->defname, "ctype") == 0)
|
else if (strcmp(defel->defname, "lc_ctype") == 0)
|
||||||
{
|
{
|
||||||
if (dctype)
|
if (dctype)
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
@ -362,7 +362,7 @@ createdb(const CreatedbStmt *stmt)
|
|||||||
(errmsg("encoding %s does not match locale %s",
|
(errmsg("encoding %s does not match locale %s",
|
||||||
pg_encoding_to_char(encoding),
|
pg_encoding_to_char(encoding),
|
||||||
dbctype),
|
dbctype),
|
||||||
errdetail("The chosen CTYPE setting requires encoding %s.",
|
errdetail("The chosen LC_CTYPE setting requires encoding %s.",
|
||||||
pg_encoding_to_char(ctype_encoding))));
|
pg_encoding_to_char(ctype_encoding))));
|
||||||
|
|
||||||
if (!(collate_encoding == encoding ||
|
if (!(collate_encoding == encoding ||
|
||||||
@ -375,7 +375,7 @@ createdb(const CreatedbStmt *stmt)
|
|||||||
(errmsg("encoding %s does not match locale %s",
|
(errmsg("encoding %s does not match locale %s",
|
||||||
pg_encoding_to_char(encoding),
|
pg_encoding_to_char(encoding),
|
||||||
dbcollate),
|
dbcollate),
|
||||||
errdetail("The chosen COLLATE setting requires encoding %s.",
|
errdetail("The chosen LC_COLLATE setting requires encoding %s.",
|
||||||
pg_encoding_to_char(collate_encoding))));
|
pg_encoding_to_char(collate_encoding))));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -394,8 +394,8 @@ createdb(const CreatedbStmt *stmt)
|
|||||||
|
|
||||||
if (strcmp(dbctype, src_ctype))
|
if (strcmp(dbctype, src_ctype))
|
||||||
ereport(ERROR,
|
ereport(ERROR,
|
||||||
(errmsg("new ctype is incompatible with the ctype of the template database (%s)", src_ctype),
|
(errmsg("new LC_CTYPE is incompatible with LC_CTYPE of the template database (%s)", src_ctype),
|
||||||
errhint("Use the same ctype as in the template database, or use template0 as template")));
|
errhint("Use the same LC_CTYPE as in the template database, or use template0 as template")));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Resolve default tablespace for new database */
|
/* Resolve default tablespace for new database */
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.661 2009/04/04 21:12:31 tgl Exp $
|
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.662 2009/04/06 08:42:52 heikki Exp $
|
||||||
*
|
*
|
||||||
* HISTORY
|
* HISTORY
|
||||||
* AUTHOR DATE MAJOR EVENT
|
* AUTHOR DATE MAJOR EVENT
|
||||||
@ -437,7 +437,7 @@ static TypeName *TableFuncTypeName(List *columns);
|
|||||||
CLUSTER COALESCE COLLATE COLUMN COMMENT COMMIT
|
CLUSTER COALESCE COLLATE COLUMN COMMENT COMMIT
|
||||||
COMMITTED CONCURRENTLY CONFIGURATION CONNECTION CONSTRAINT CONSTRAINTS
|
COMMITTED CONCURRENTLY CONFIGURATION CONNECTION CONSTRAINT CONSTRAINTS
|
||||||
CONTENT_P CONTINUE_P CONVERSION_P COPY COST CREATE CREATEDB
|
CONTENT_P CONTINUE_P CONVERSION_P COPY COST CREATE CREATEDB
|
||||||
CREATEROLE CREATEUSER CROSS CSV CTYPE CURRENT_P
|
CREATEROLE CREATEUSER CROSS CSV CURRENT_P
|
||||||
CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_SCHEMA
|
CURRENT_CATALOG CURRENT_DATE CURRENT_ROLE CURRENT_SCHEMA
|
||||||
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
|
CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE
|
||||||
|
|
||||||
@ -464,9 +464,9 @@ static TypeName *TableFuncTypeName(List *columns);
|
|||||||
|
|
||||||
KEY
|
KEY
|
||||||
|
|
||||||
LANCOMPILER LANGUAGE LARGE_P LAST_P LEADING LEAST LEFT LEVEL
|
LANCOMPILER LANGUAGE LARGE_P LAST_P LC_COLLATE_P LC_CTYPE_P LEADING
|
||||||
LIKE LIMIT LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP LOCATION
|
LEAST LEFT LEVEL LIKE LIMIT LISTEN LOAD LOCAL LOCALTIME LOCALTIMESTAMP
|
||||||
LOCK_P LOGIN_P
|
LOCATION LOCK_P LOGIN_P
|
||||||
|
|
||||||
MAPPING MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
|
MAPPING MATCH MAXVALUE MINUTE_P MINVALUE MODE MONTH_P MOVE
|
||||||
|
|
||||||
@ -6011,21 +6011,21 @@ createdb_opt_item:
|
|||||||
{
|
{
|
||||||
$$ = makeDefElem("encoding", NULL);
|
$$ = makeDefElem("encoding", NULL);
|
||||||
}
|
}
|
||||||
| COLLATE opt_equal Sconst
|
| LC_COLLATE_P opt_equal Sconst
|
||||||
{
|
{
|
||||||
$$ = makeDefElem("collate", (Node *)makeString($3));
|
$$ = makeDefElem("lc_collate", (Node *)makeString($3));
|
||||||
}
|
}
|
||||||
| COLLATE opt_equal DEFAULT
|
| LC_COLLATE_P opt_equal DEFAULT
|
||||||
{
|
{
|
||||||
$$ = makeDefElem("collate", NULL);
|
$$ = makeDefElem("lc_collate", NULL);
|
||||||
}
|
}
|
||||||
| CTYPE opt_equal Sconst
|
| LC_CTYPE_P opt_equal Sconst
|
||||||
{
|
{
|
||||||
$$ = makeDefElem("ctype", (Node *)makeString($3));
|
$$ = makeDefElem("lc_ctype", (Node *)makeString($3));
|
||||||
}
|
}
|
||||||
| CTYPE opt_equal DEFAULT
|
| LC_CTYPE_P opt_equal DEFAULT
|
||||||
{
|
{
|
||||||
$$ = makeDefElem("ctype", NULL);
|
$$ = makeDefElem("lc_ctype", NULL);
|
||||||
}
|
}
|
||||||
| CONNECTION LIMIT opt_equal SignedIconst
|
| CONNECTION LIMIT opt_equal SignedIconst
|
||||||
{
|
{
|
||||||
@ -10169,7 +10169,6 @@ unreserved_keyword:
|
|||||||
| CREATEROLE
|
| CREATEROLE
|
||||||
| CREATEUSER
|
| CREATEUSER
|
||||||
| CSV
|
| CSV
|
||||||
| CTYPE
|
|
||||||
| CURRENT_P
|
| CURRENT_P
|
||||||
| CURSOR
|
| CURSOR
|
||||||
| CYCLE
|
| CYCLE
|
||||||
@ -10236,6 +10235,8 @@ unreserved_keyword:
|
|||||||
| LANGUAGE
|
| LANGUAGE
|
||||||
| LARGE_P
|
| LARGE_P
|
||||||
| LAST_P
|
| LAST_P
|
||||||
|
| LC_COLLATE_P
|
||||||
|
| LC_CTYPE_P
|
||||||
| LEVEL
|
| LEVEL
|
||||||
| LISTEN
|
| LISTEN
|
||||||
| LOAD
|
| LOAD
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
* by PostgreSQL
|
* by PostgreSQL
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.533 2009/04/05 04:19:58 tgl Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.534 2009/04/06 08:42:53 heikki Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1716,12 +1716,12 @@ dumpDatabase(Archive *AH)
|
|||||||
}
|
}
|
||||||
if (strlen(collate) > 0)
|
if (strlen(collate) > 0)
|
||||||
{
|
{
|
||||||
appendPQExpBuffer(creaQry, " COLLATE = ");
|
appendPQExpBuffer(creaQry, " LC_COLLATE = ");
|
||||||
appendStringLiteralAH(creaQry, collate, AH);
|
appendStringLiteralAH(creaQry, collate, AH);
|
||||||
}
|
}
|
||||||
if (strlen(ctype) > 0)
|
if (strlen(ctype) > 0)
|
||||||
{
|
{
|
||||||
appendPQExpBuffer(creaQry, " CTYPE = ");
|
appendPQExpBuffer(creaQry, " LC_CTYPE = ");
|
||||||
appendStringLiteralAH(creaQry, ctype, AH);
|
appendStringLiteralAH(creaQry, ctype, AH);
|
||||||
}
|
}
|
||||||
if (strlen(tablespace) > 0 && strcmp(tablespace, "pg_default") != 0)
|
if (strlen(tablespace) > 0 && strcmp(tablespace, "pg_default") != 0)
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.121 2009/04/05 04:19:58 tgl Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dumpall.c,v 1.122 2009/04/06 08:42:53 heikki Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1048,13 +1048,13 @@ dumpCreateDB(PGconn *conn)
|
|||||||
|
|
||||||
if (strlen(dbcollate) != 0)
|
if (strlen(dbcollate) != 0)
|
||||||
{
|
{
|
||||||
appendPQExpBuffer(buf, " COLLATE = ");
|
appendPQExpBuffer(buf, " LC_COLLATE = ");
|
||||||
appendStringLiteralConn(buf, dbcollate, conn);
|
appendStringLiteralConn(buf, dbcollate, conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(dbctype) != 0)
|
if (strlen(dbctype) != 0)
|
||||||
{
|
{
|
||||||
appendPQExpBuffer(buf, " CTYPE = ");
|
appendPQExpBuffer(buf, " LC_CTYPE = ");
|
||||||
appendStringLiteralConn(buf, dbctype, conn);
|
appendStringLiteralConn(buf, dbctype, conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
* Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
|
||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/bin/scripts/createdb.c,v 1.33 2009/02/26 16:20:55 petere Exp $
|
* $PostgreSQL: pgsql/src/bin/scripts/createdb.c,v 1.34 2009/04/06 08:42:53 heikki Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -186,9 +186,9 @@ main(int argc, char *argv[])
|
|||||||
if (template)
|
if (template)
|
||||||
appendPQExpBuffer(&sql, " TEMPLATE %s", fmtId(template));
|
appendPQExpBuffer(&sql, " TEMPLATE %s", fmtId(template));
|
||||||
if (lc_collate)
|
if (lc_collate)
|
||||||
appendPQExpBuffer(&sql, " COLLATE '%s'", lc_collate);
|
appendPQExpBuffer(&sql, " LC_COLLATE '%s'", lc_collate);
|
||||||
if (lc_ctype)
|
if (lc_ctype)
|
||||||
appendPQExpBuffer(&sql, " CTYPE '%s'", lc_ctype);
|
appendPQExpBuffer(&sql, " LC_CTYPE '%s'", lc_ctype);
|
||||||
|
|
||||||
appendPQExpBuffer(&sql, ";\n");
|
appendPQExpBuffer(&sql, ";\n");
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
* Portions Copyright (c) 1994, Regents of the University of California
|
* Portions Copyright (c) 1994, Regents of the University of California
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/include/parser/kwlist.h,v 1.1 2009/03/07 00:13:58 alvherre Exp $
|
* $PostgreSQL: pgsql/src/include/parser/kwlist.h,v 1.2 2009/04/06 08:42:53 heikki Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -98,7 +98,6 @@ PG_KEYWORD("createrole", CREATEROLE, UNRESERVED_KEYWORD)
|
|||||||
PG_KEYWORD("createuser", CREATEUSER, UNRESERVED_KEYWORD)
|
PG_KEYWORD("createuser", CREATEUSER, UNRESERVED_KEYWORD)
|
||||||
PG_KEYWORD("cross", CROSS, TYPE_FUNC_NAME_KEYWORD)
|
PG_KEYWORD("cross", CROSS, TYPE_FUNC_NAME_KEYWORD)
|
||||||
PG_KEYWORD("csv", CSV, UNRESERVED_KEYWORD)
|
PG_KEYWORD("csv", CSV, UNRESERVED_KEYWORD)
|
||||||
PG_KEYWORD("ctype", CTYPE, UNRESERVED_KEYWORD)
|
|
||||||
PG_KEYWORD("current", CURRENT_P, UNRESERVED_KEYWORD)
|
PG_KEYWORD("current", CURRENT_P, UNRESERVED_KEYWORD)
|
||||||
PG_KEYWORD("current_catalog", CURRENT_CATALOG, RESERVED_KEYWORD)
|
PG_KEYWORD("current_catalog", CURRENT_CATALOG, RESERVED_KEYWORD)
|
||||||
PG_KEYWORD("current_date", CURRENT_DATE, RESERVED_KEYWORD)
|
PG_KEYWORD("current_date", CURRENT_DATE, RESERVED_KEYWORD)
|
||||||
@ -209,6 +208,8 @@ PG_KEYWORD("lancompiler", LANCOMPILER, UNRESERVED_KEYWORD)
|
|||||||
PG_KEYWORD("language", LANGUAGE, UNRESERVED_KEYWORD)
|
PG_KEYWORD("language", LANGUAGE, UNRESERVED_KEYWORD)
|
||||||
PG_KEYWORD("large", LARGE_P, UNRESERVED_KEYWORD)
|
PG_KEYWORD("large", LARGE_P, UNRESERVED_KEYWORD)
|
||||||
PG_KEYWORD("last", LAST_P, UNRESERVED_KEYWORD)
|
PG_KEYWORD("last", LAST_P, UNRESERVED_KEYWORD)
|
||||||
|
PG_KEYWORD("lc_collate", LC_COLLATE_P, UNRESERVED_KEYWORD)
|
||||||
|
PG_KEYWORD("lc_ctype", LC_CTYPE_P, UNRESERVED_KEYWORD)
|
||||||
PG_KEYWORD("leading", LEADING, RESERVED_KEYWORD)
|
PG_KEYWORD("leading", LEADING, RESERVED_KEYWORD)
|
||||||
PG_KEYWORD("least", LEAST, COL_NAME_KEYWORD)
|
PG_KEYWORD("least", LEAST, COL_NAME_KEYWORD)
|
||||||
PG_KEYWORD("left", LEFT, TYPE_FUNC_NAME_KEYWORD)
|
PG_KEYWORD("left", LEFT, TYPE_FUNC_NAME_KEYWORD)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.6 2009/01/30 12:53:43 petere Exp $ */
|
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg.trailer,v 1.7 2009/04/06 08:42:53 heikki Exp $ */
|
||||||
|
|
||||||
statements: /*EMPTY*/
|
statements: /*EMPTY*/
|
||||||
| statements statement
|
| statements statement
|
||||||
@ -1547,7 +1547,6 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| CREATEROLE { $$ = make_str("createrole"); }
|
| CREATEROLE { $$ = make_str("createrole"); }
|
||||||
| CREATEUSER { $$ = make_str("createuser"); }
|
| CREATEUSER { $$ = make_str("createuser"); }
|
||||||
| CSV { $$ = make_str("csv"); }
|
| CSV { $$ = make_str("csv"); }
|
||||||
| CTYPE { $$ = make_str("ctype"); }
|
|
||||||
| CURSOR { $$ = make_str("cursor"); }
|
| CURSOR { $$ = make_str("cursor"); }
|
||||||
| CYCLE { $$ = make_str("cycle"); }
|
| CYCLE { $$ = make_str("cycle"); }
|
||||||
| DATA_P { $$ = make_str("data"); }
|
| DATA_P { $$ = make_str("data"); }
|
||||||
@ -1610,6 +1609,8 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| LANGUAGE { $$ = make_str("language"); }
|
| LANGUAGE { $$ = make_str("language"); }
|
||||||
| LARGE_P { $$ = make_str("large"); }
|
| LARGE_P { $$ = make_str("large"); }
|
||||||
| LAST_P { $$ = make_str("last"); }
|
| LAST_P { $$ = make_str("last"); }
|
||||||
|
| LC_COLLATE_P { $$ = make_str("lc_collate"); }
|
||||||
|
| LC_CTYPE_P { $$ = make_str("lc_ctype"); }
|
||||||
| LEVEL { $$ = make_str("level"); }
|
| LEVEL { $$ = make_str("level"); }
|
||||||
| LISTEN { $$ = make_str("listen"); }
|
| LISTEN { $$ = make_str("listen"); }
|
||||||
| LOAD { $$ = make_str("load"); }
|
| LOAD { $$ = make_str("load"); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user