1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-14 08:21:07 +03:00

Mop-up for removal of ':' and ';' operators ... like, say, actually

take 'em out of pg_operator.  Also remove from scan.l's set of legal
operator characters.  Update documentation.
This commit is contained in:
Tom Lane
2000-08-12 05:15:24 +00:00
parent 134fdf34d6
commit 766fb7f707
5 changed files with 28 additions and 79 deletions

View File

@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.185 2000/08/11 23:45:27 tgl Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.186 2000/08/12 05:15:21 tgl Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@ -363,7 +363,8 @@ static void doNegateFloat(Value *v);
/* these are not real. they are here so that they get generated as #define's*/
%token OP
/* precedence */
/* precedence: lowest to highest */
%left UNION INTERSECT EXCEPT
%left OR
%left AND
%right NOT
@ -381,15 +382,12 @@ static void doNegateFloat(Value *v);
%left '+' '-'
%left '*' '/' '%'
%left '^'
%left '|' /* this is the relation union op, not logical or */
%left '|' /* XXX Should this have such a high priority? */
/* Unary Operators */
%right ':' /* delimiter for array ranges */
%left ';' /* end of statement */
%right UMINUS
%left '.'
%left '[' ']'
%left TYPECAST
%left UNION INTERSECT EXCEPT
%left ESCAPE
%%

View File

@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.74 2000/08/06 17:50:38 thomas Exp $
* $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.75 2000/08/12 05:15:21 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -181,7 +181,7 @@ typecast "::"
* rule for "operator"!
*/
self [,()\[\].;$\:\+\-\*\/\%\^\<\>\=\|]
op_chars [\~\!\@\#\^\&\|\`\?\$\:\+\-\*\/\%\<\>\=]
op_chars [\~\!\@\#\^\&\|\`\?\$\+\-\*\/\%\<\>\=]
operator {op_chars}+
/* we no longer allow unary minus in numbers.
@ -402,7 +402,7 @@ other .
for (ic = nchars-2; ic >= 0; ic--)
{
if (strchr("~!@#&`?$:%^|", yytext[ic]))
if (strchr("~!@#^&|`?$%", yytext[ic]))
break;
}
if (ic >= 0)