diff options
Diffstat (limited to 'src/include/nodes/parsenodes.h')
-rw-r--r-- | src/include/nodes/parsenodes.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index acc093d6e0f..7a44bccdd3b 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -140,6 +140,8 @@ typedef struct Query bool hasForUpdate; /* FOR [KEY] UPDATE/SHARE was specified */ bool hasRowSecurity; /* rewriter has applied some RLS policy */ + bool isReturn; /* is a RETURN statement */ + List *cteList; /* WITH list (of CommonTableExpr's) */ List *rtable; /* list of range table entries */ @@ -1721,6 +1723,16 @@ typedef struct SetOperationStmt } SetOperationStmt; +/* + * RETURN statement (inside SQL function body) + */ +typedef struct ReturnStmt +{ + NodeTag type; + Node *returnval; +} ReturnStmt; + + /* ---------------------- * PL/pgSQL Assignment Statement * @@ -2924,6 +2936,7 @@ typedef struct CreateFunctionStmt List *parameters; /* a list of FunctionParameter */ TypeName *returnType; /* the return type */ List *options; /* a list of DefElem */ + Node *sql_body; } CreateFunctionStmt; typedef enum FunctionParameterMode |