mirror of
https://github.com/postgres/postgres.git
synced 2025-06-26 12:21:12 +03:00
Deprecate the use of => as an operator name.
In HEAD, emit a warning when an operator named => is defined. In both HEAD and the backbranches (except in 8.2, where contrib modules do not have documentation), document that hstore's text => text operator may be removed in a future release, and encourage the use of the hstore(text, text) function instead. This function only exists in HEAD (previously, it was called tconvert), so backpatch it back to 8.2, when hstore was added. Per discussion.
This commit is contained in:
@ -9,7 +9,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/commands/operatorcmds.c,v 1.45 2010/02/14 18:42:14 rhaas Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/commands/operatorcmds.c,v 1.46 2010/06/22 11:36:16 rhaas Exp $
|
||||
*
|
||||
* DESCRIPTION
|
||||
* The "DefineFoo" routines take the parse tree and pick out the
|
||||
@ -88,6 +88,16 @@ DefineOperator(List *names, List *parameters)
|
||||
/* Convert list of names to a name and namespace */
|
||||
oprNamespace = QualifiedNameGetCreationNamespace(names, &oprName);
|
||||
|
||||
/*
|
||||
* The SQL standard committee has decided that => should be used for
|
||||
* named parameters; therefore, a future release of PostgreSQL may
|
||||
* disallow it as the name of a user-defined operator.
|
||||
*/
|
||||
if (strcmp(oprName, "=>") == 0)
|
||||
ereport(WARNING,
|
||||
(errmsg("=> is deprecated as an operator name"),
|
||||
errdetail("This name may be disallowed altogether in future versions of PostgreSQL.")));
|
||||
|
||||
/* Check we have creation rights in target namespace */
|
||||
aclresult = pg_namespace_aclcheck(oprNamespace, GetUserId(), ACL_CREATE);
|
||||
if (aclresult != ACLCHECK_OK)
|
||||
|
Reference in New Issue
Block a user