mirror of
https://github.com/postgres/postgres.git
synced 2025-11-16 15:02:33 +03:00
Modify raw parsetree representation returned by gram.y for SubLinks:
the oper field should be a valid Node structure so it can be dumped by outfuncs.c without risk of coredump. (We had been using a raw pointer to character string, which surely is NOT a valid Node.) This doesn't cause any backwards compatibility problems for stored rules, since raw unanalyzed parsetrees are never stored.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: primnodes.h,v 1.41 2000/04/12 17:16:40 momjian Exp $
|
||||
* $Id: primnodes.h,v 1.42 2000/05/25 22:42:19 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -350,8 +350,8 @@ typedef struct Aggref
|
||||
* NOTE: lefthand and oper have varying meanings depending on where you look
|
||||
* in the parse/plan pipeline:
|
||||
* 1. gram.y delivers a list of the (untransformed) lefthand expressions in
|
||||
* lefthand, and sets oper to a one-element list containing the string
|
||||
* name of the operator.
|
||||
* lefthand, and sets oper to a single A_Expr (not a list!) containing
|
||||
* the string name of the operator, but no arguments.
|
||||
* 2. The parser's expression transformation transforms lefthand normally,
|
||||
* and replaces oper with a list of Oper nodes, one per lefthand
|
||||
* expression. These nodes represent the parser's resolution of exactly
|
||||
|
||||
Reference in New Issue
Block a user