diff options
Diffstat (limited to 'src/bin/psql/psqlscanslash.h')
-rw-r--r-- | src/bin/psql/psqlscanslash.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/bin/psql/psqlscanslash.h b/src/bin/psql/psqlscanslash.h new file mode 100644 index 0000000..95b2c29 --- /dev/null +++ b/src/bin/psql/psqlscanslash.h @@ -0,0 +1,40 @@ +/* + * psql - the PostgreSQL interactive terminal + * + * Copyright (c) 2000-2022, PostgreSQL Global Development Group + * + * src/bin/psql/psqlscanslash.h + */ +#ifndef PSQLSCANSLASH_H +#define PSQLSCANSLASH_H + +#include "fe_utils/psqlscan.h" + + +/* Different ways for scan_slash_option to handle parameter words */ +enum slash_option_type +{ + OT_NORMAL, /* normal case */ + OT_SQLID, /* treat as SQL identifier */ + OT_SQLIDHACK, /* SQL identifier, but don't downcase */ + OT_FILEPIPE, /* it's a filename or pipe */ + OT_WHOLE_LINE /* just snarf the rest of the line */ +}; + + +extern char *psql_scan_slash_command(PsqlScanState state); + +extern char *psql_scan_slash_option(PsqlScanState state, + enum slash_option_type type, + char *quote, + bool semicolon); + +extern void psql_scan_slash_command_end(PsqlScanState state); + +extern int psql_scan_get_paren_depth(PsqlScanState state); + +extern void psql_scan_set_paren_depth(PsqlScanState state, int depth); + +extern void dequote_downcase_identifier(char *str, bool downcase, int encoding); + +#endif /* PSQLSCANSLASH_H */ |