codekingpro/portable-devtools
115k
1/*-------------------------------------------------------------------------2 *3 * parse_utilcmd.h4 * parse analysis for utility commands5 *6 *7 * Portions Copyright (c) 1996-2023, PostgreSQL Global Development Group8 * Portions Copyright (c) 1994, Regents of the University of California9 *10 * src/include/parser/parse_utilcmd.h11 *12 *-------------------------------------------------------------------------13 */14#ifndef PARSE_UTILCMD_H15#define PARSE_UTILCMD_H16 17#include "parser/parse_node.h"18 19struct AttrMap; /* avoid including attmap.h here */20 21 22extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString);23extern AlterTableStmt *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,24 const char *queryString,25 List **beforeStmts,26 List **afterStmts);27extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt,28 const char *queryString);29extern CreateStatsStmt *transformStatsStmt(Oid relid, CreateStatsStmt *stmt,30 const char *queryString);31extern void transformRuleStmt(RuleStmt *stmt, const char *queryString,32 List **actions, Node **whereClause);33extern List *transformCreateSchemaStmtElements(List *schemaElts,34 const char *schemaName);35extern PartitionBoundSpec *transformPartitionBound(ParseState *pstate, Relation parent,36 PartitionBoundSpec *spec);37extern List *expandTableLikeClause(RangeVar *heapRel,38 TableLikeClause *table_like_clause);39extern IndexStmt *generateClonedIndexStmt(RangeVar *heapRel,40 Relation source_idx,41 const struct AttrMap *attmap,42 Oid *constraintOid);43 44#endif /* PARSE_UTILCMD_H */45 