tablecmds.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*-------------------------------------------------------------------------
  2. *
  3. * tablecmds.h
  4. * prototypes for tablecmds.c.
  5. *
  6. *
  7. * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
  8. * Portions Copyright (c) 1994, Regents of the University of California
  9. *
  10. * src/include/commands/tablecmds.h
  11. *
  12. *-------------------------------------------------------------------------
  13. */
  14. #ifndef TABLECMDS_H
  15. #define TABLECMDS_H
  16. #include "access/htup.h"
  17. #include "catalog/dependency.h"
  18. #include "catalog/objectaddress.h"
  19. #include "nodes/parsenodes.h"
  20. #include "storage/lock.h"
  21. #include "utils/relcache.h"
  22. extern ObjectAddress DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId,
  23. ObjectAddress *typaddress);
  24. extern void RemoveRelations(DropStmt *drop);
  25. extern Oid AlterTableLookupRelation(AlterTableStmt *stmt, LOCKMODE lockmode);
  26. extern void AlterTable(Oid relid, LOCKMODE lockmode, AlterTableStmt *stmt);
  27. extern LOCKMODE AlterTableGetLockLevel(List *cmds);
  28. extern void ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing, LOCKMODE lockmode);
  29. extern void AlterTableInternal(Oid relid, List *cmds, bool recurse);
  30. extern Oid AlterTableMoveAll(AlterTableMoveAllStmt *stmt);
  31. extern ObjectAddress AlterTableNamespace(AlterObjectSchemaStmt *stmt,
  32. Oid *oldschema);
  33. extern void AlterTableNamespaceInternal(Relation rel, Oid oldNspOid,
  34. Oid nspOid, ObjectAddresses *objsMoved);
  35. extern void AlterRelationNamespaceInternal(Relation classRel, Oid relOid,
  36. Oid oldNspOid, Oid newNspOid,
  37. bool hasDependEntry,
  38. ObjectAddresses *objsMoved);
  39. extern void CheckTableNotInUse(Relation rel, const char *stmt);
  40. extern void ExecuteTruncate(TruncateStmt *stmt);
  41. extern void SetRelationHasSubclass(Oid relationId, bool relhassubclass);
  42. extern ObjectAddress renameatt(RenameStmt *stmt);
  43. extern ObjectAddress renameatt_type(RenameStmt *stmt);
  44. extern ObjectAddress RenameConstraint(RenameStmt *stmt);
  45. extern ObjectAddress RenameRelation(RenameStmt *stmt);
  46. extern void RenameRelationInternal(Oid myrelid,
  47. const char *newrelname, bool is_internal);
  48. extern void find_composite_type_dependencies(Oid typeOid,
  49. Relation origRelation,
  50. const char *origTypeName);
  51. extern void check_of_type(HeapTuple typetuple);
  52. extern void register_on_commit_action(Oid relid, OnCommitAction action);
  53. extern void remove_on_commit_action(Oid relid);
  54. extern void PreCommit_on_commit_actions(void);
  55. extern void AtEOXact_on_commit_actions(bool isCommit);
  56. extern void AtEOSubXact_on_commit_actions(bool isCommit,
  57. SubTransactionId mySubid,
  58. SubTransactionId parentSubid);
  59. extern void RangeVarCallbackOwnsTable(const RangeVar *relation,
  60. Oid relId, Oid oldRelId, void *arg);
  61. extern void RangeVarCallbackOwnsRelation(const RangeVar *relation,
  62. Oid relId, Oid oldRelId, void *noCatalogs);
  63. #endif /* TABLECMDS_H */