/
githubmirror
/
postgres
Обзор
Документация
Войти
/
githubmirror
/
postgres
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/bin/psql/psqlscanslash.h
41 строка
1 KB
Tom Lane
Save/restore more lexer state when skipping text due to \if.
10 авг 2026, 16:37
10 авг 2026, 16:37
cf754f7
Код
Авторство
О чём код?
/* * psql - the PostgreSQL interactive terminal * * Copyright (c) 2000-2026, 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 PsqlScanStateSave *psql_scan_get_lex_state(PsqlScanState state); extern void psql_scan_set_lex_state(PsqlScanState state, const PsqlScanStateSave *lex_state); extern void dequote_downcase_identifier(char *str, bool downcase, int encoding); #endif /* PSQLSCANSLASH_H */