1 /* 2 * psql - the PostgreSQL interactive terminal 3 * 4 * Copyright (c) 2000-2021, PostgreSQL Global Development Group 5 * 6 * src/bin/psql/command.h 7 */ 8 #ifndef COMMAND_H 9 #define COMMAND_H 10 11 #include "fe_utils/conditional.h" 12 #include "fe_utils/print.h" 13 #include "fe_utils/psqlscan.h" 14 15 typedef enum _backslashResult 16 { 17 PSQL_CMD_UNKNOWN = 0, /* not done parsing yet (internal only) */ 18 PSQL_CMD_SEND, /* query complete; send off */ 19 PSQL_CMD_SKIP_LINE, /* keep building query */ 20 PSQL_CMD_TERMINATE, /* quit program */ 21 PSQL_CMD_NEWEDIT, /* query buffer was changed (e.g., via \e) */ 22 PSQL_CMD_ERROR /* the execution of the backslash command 23 * resulted in an error */ 24 } backslashResult; 25 26 27 extern backslashResult HandleSlashCmds(PsqlScanState scan_state, 28 ConditionalStack cstack, 29 PQExpBuffer query_buf, 30 PQExpBuffer previous_buf); 31 32 extern int process_file(char *filename, bool use_relative_path); 33 34 extern bool do_pset(const char *param, 35 const char *value, 36 printQueryOpt *popt, 37 bool quiet); 38 39 extern printQueryOpt *savePsetInfo(const printQueryOpt *popt); 40 41 extern void restorePsetInfo(printQueryOpt *popt, printQueryOpt *save); 42 43 extern void connection_warnings(bool in_startup); 44 45 extern void SyncVariables(void); 46 47 extern void UnsyncVariables(void); 48 49 #endif /* COMMAND_H */ 50