gooderp18绿色标准版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.1KB

  1. /*-------------------------------------------------------------------------
  2. *
  3. * tcopprot.h
  4. * prototypes for postgres.c.
  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/tcop/tcopprot.h
  11. *
  12. *-------------------------------------------------------------------------
  13. */
  14. #ifndef TCOPPROT_H
  15. #define TCOPPROT_H
  16. #include "nodes/params.h"
  17. #include "nodes/parsenodes.h"
  18. #include "nodes/plannodes.h"
  19. #include "storage/procsignal.h"
  20. #include "utils/guc.h"
  21. #include "utils/queryenvironment.h"
  22. /* Required daylight between max_stack_depth and the kernel limit, in bytes */
  23. #define STACK_DEPTH_SLOP (512 * 1024L)
  24. extern CommandDest whereToSendOutput;
  25. extern PGDLLIMPORT const char *debug_query_string;
  26. extern int max_stack_depth;
  27. extern int PostAuthDelay;
  28. /* GUC-configurable parameters */
  29. typedef enum
  30. {
  31. LOGSTMT_NONE, /* log no statements */
  32. LOGSTMT_DDL, /* log data definition statements */
  33. LOGSTMT_MOD, /* log modification statements, plus DDL */
  34. LOGSTMT_ALL /* log all statements */
  35. } LogStmtLevel;
  36. extern PGDLLIMPORT int log_statement;
  37. extern List *pg_parse_query(const char *query_string);
  38. extern List *pg_analyze_and_rewrite(RawStmt *parsetree,
  39. const char *query_string,
  40. Oid *paramTypes, int numParams,
  41. QueryEnvironment *queryEnv);
  42. extern List *pg_analyze_and_rewrite_params(RawStmt *parsetree,
  43. const char *query_string,
  44. ParserSetupHook parserSetup,
  45. void *parserSetupArg,
  46. QueryEnvironment *queryEnv);
  47. extern PlannedStmt *pg_plan_query(Query *querytree, int cursorOptions,
  48. ParamListInfo boundParams);
  49. extern List *pg_plan_queries(List *querytrees, int cursorOptions,
  50. ParamListInfo boundParams);
  51. extern bool check_max_stack_depth(int *newval, void **extra, GucSource source);
  52. extern void assign_max_stack_depth(int newval, void *extra);
  53. extern void die(SIGNAL_ARGS);
  54. extern void quickdie(SIGNAL_ARGS) pg_attribute_noreturn();
  55. extern void StatementCancelHandler(SIGNAL_ARGS);
  56. extern void FloatExceptionHandler(SIGNAL_ARGS) pg_attribute_noreturn();
  57. extern void RecoveryConflictInterrupt(ProcSignalReason reason); /* called from SIGUSR1
  58. * handler */
  59. extern void ProcessClientReadInterrupt(bool blocked);
  60. extern void ProcessClientWriteInterrupt(bool blocked);
  61. extern void process_postgres_switches(int argc, char *argv[],
  62. GucContext ctx, const char **dbname);
  63. extern void PostgresMain(int argc, char *argv[],
  64. const char *dbname,
  65. const char *username) pg_attribute_noreturn();
  66. extern long get_stack_depth_rlimit(void);
  67. extern void ResetUsage(void);
  68. extern void ShowUsage(const char *title);
  69. extern int check_log_duration(char *msec_str, bool was_logged);
  70. extern void set_debug_options(int debug_flag,
  71. GucContext context, GucSource source);
  72. extern bool set_plan_disabling_options(const char *arg,
  73. GucContext context, GucSource source);
  74. extern const char *get_stats_option_name(const char *arg);
  75. #endif /* TCOPPROT_H */
上海开阖软件有限公司 沪ICP备12045867号-1