1/*-------------------------------------------------------------------------
2 *
3 * parse_utilcmd.h
4 * parse analysis for utility commands
5 *
6 *
7 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/include/parser/parse_utilcmd.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef PARSE_UTILCMD_H
15#define PARSE_UTILCMD_H
16
17#include "parser/parse_node.h"
18
19
20extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString);
21extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,
22 const char *queryString);
23extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt,
24 const char *queryString);
25extern void transformRuleStmt(RuleStmt *stmt, const char *queryString,
26 List **actions, Node **whereClause);
27extern List *transformCreateSchemaStmt(CreateSchemaStmt *stmt);
28extern PartitionBoundSpec *transformPartitionBound(ParseState *pstate, Relation parent,
29 PartitionBoundSpec *spec);
30extern IndexStmt *generateClonedIndexStmt(RangeVar *heapRel,
31 Relation source_idx,
32 const AttrNumber *attmap, int attmap_length,
33 Oid *constraintOid);
34
35#endif /* PARSE_UTILCMD_H */
36