mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Change the notation for calling functions with named parameters from
"val AS name" to "name := val", as per recent discussion. This patch catches everything in the original named-parameters patch, but I'm not certain that no other dependencies snuck in later (grepping the source tree for all uses of AS soon proved unworkable). In passing I note that we've dropped the ball at least once on keeping ecpg's lexer (as opposed to parser) in sync with the backend. It would be a good idea to go through all of pgc.l and see if it's in sync now. I didn't attempt that at the moment.
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/perl
|
||||
# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/parse.pl,v 1.7 2010/01/02 16:58:11 momjian Exp $
|
||||
# $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/parse.pl,v 1.8 2010/05/30 18:10:41 tgl Exp $
|
||||
# parser generater for ecpg
|
||||
# call with backend parser as stdin
|
||||
#
|
||||
@ -41,6 +41,8 @@ $replace_string{'WITH_TIME'} = 'with time';
|
||||
$replace_string{'NULLS_FIRST'} = 'nulls first';
|
||||
$replace_string{'NULLS_LAST'} = 'nulls last';
|
||||
$replace_string{'TYPECAST'} = '::';
|
||||
$replace_string{'DOT_DOT'} = '..';
|
||||
$replace_string{'COLON_EQUALS'} = ':=';
|
||||
|
||||
# specific replace_types for specific non-terminals - never include the ':'
|
||||
# ECPG-only replace_types are defined in ecpg-replace_types
|
||||
|
@ -12,7 +12,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.173 2010/03/21 10:49:51 meskes Exp $
|
||||
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.174 2010/05/30 18:10:41 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -230,6 +230,8 @@ identifier {ident_start}{ident_cont}*
|
||||
|
||||
array ({ident_cont}|{whitespace}|[\[\]\+\-\*\%\/\(\)\>\.])*
|
||||
typecast "::"
|
||||
dot_dot \.\.
|
||||
colon_equals ":="
|
||||
|
||||
/*
|
||||
* "self" is the set of chars that should be returned as single-character
|
||||
@ -595,6 +597,8 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})(.*\\{space})*.
|
||||
}
|
||||
<xdc>{xdcinside} { addlit(yytext, yyleng); }
|
||||
<SQL>{typecast} { return TYPECAST; }
|
||||
<SQL>{dot_dot} { return DOT_DOT; }
|
||||
<SQL>{colon_equals} { return COLON_EQUALS; }
|
||||
<SQL>{informix_special} {
|
||||
/* are we simulating Informix? */
|
||||
if (INFORMIX_MODE)
|
||||
|
Reference in New Issue
Block a user