parse_utilcmd.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*-------------------------------------------------------------------------
  2. *
  3. * parse_utilcmd.h
  4. * parse analysis for utility commands
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2022, 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. #include "parser/parse_node.h"
  17. struct AttrMap; /* avoid including attmap.h here */
  18. extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString);
  19. extern AlterTableStmt *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,
  20. const char *queryString,
  21. List **beforeStmts,
  22. List **afterStmts);
  23. extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt,
  24. const char *queryString);
  25. extern CreateStatsStmt *transformStatsStmt(Oid relid, CreateStatsStmt *stmt,
  26. const char *queryString);
  27. extern void transformRuleStmt(RuleStmt *stmt, const char *queryString,
  28. List **actions, Node **whereClause);
  29. extern List *transformCreateSchemaStmtElements(List *schemaElts,
  30. const char *schemaName);
  31. extern PartitionBoundSpec *transformPartitionBound(ParseState *pstate, Relation parent,
  32. PartitionBoundSpec *spec);
  33. extern List *expandTableLikeClause(RangeVar *heapRel,
  34. TableLikeClause *table_like_clause);
  35. extern IndexStmt *generateClonedIndexStmt(RangeVar *heapRel,
  36. Relation source_idx,
  37. const struct AttrMap *attmap,
  38. Oid *constraintOid);
  39. #endif /* PARSE_UTILCMD_H */