mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 15:39:35 +08:00
Applied a patch by Zoltán Böszörményi that makes ecpg's parser accept dynamic cursornames even in WHERE CURRENT OF clauses.
This commit is contained in:
parent
5c63982af2
commit
bc423879cc
@ -9031,7 +9031,7 @@ where_clause:
|
||||
/* variant for UPDATE and DELETE */
|
||||
where_or_current_clause:
|
||||
WHERE a_expr { $$ = $2; }
|
||||
| WHERE CURRENT_P OF name
|
||||
| WHERE CURRENT_P OF cursor_name
|
||||
{
|
||||
CurrentOfExpr *n = makeNode(CurrentOfExpr);
|
||||
/* cvarno is filled in by parse analysis */
|
||||
|
@ -192,6 +192,11 @@ ECPG: stmtViewStmt rule
|
||||
|
||||
output_simple_statement($1);
|
||||
}
|
||||
ECPG: where_or_current_clauseWHERECURRENT_POFcursor_name block
|
||||
{
|
||||
char *cursor_marker = $4[0] == ':' ? mm_strdup("$0") : $4;
|
||||
$$ = cat_str(2,mm_strdup("where current of"), cursor_marker);
|
||||
}
|
||||
ECPG: CopyStmtCOPYopt_binaryqualified_nameopt_column_listopt_oidscopy_fromcopy_file_namecopy_delimiteropt_withcopy_options addon
|
||||
if (strcmp($6, "to") == 0 && strcmp($7, "stdin") == 0)
|
||||
mmerror(PARSE_ERROR, ET_ERROR, "COPY TO STDIN is not possible");
|
||||
|
Loading…
Reference in New Issue
Block a user