Header And Logo

PostgreSQL
| The world's most advanced open source database.

Enumerations | Functions | Variables

parser.h File Reference

#include "nodes/parsenodes.h"
Include dependency graph for parser.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  BackslashQuoteType { BACKSLASH_QUOTE_OFF, BACKSLASH_QUOTE_ON, BACKSLASH_QUOTE_SAFE_ENCODING }

Functions

Listraw_parser (const char *str)
ListSystemFuncName (char *name)
TypeNameSystemTypeName (char *name)

Variables

int backslash_quote
bool escape_string_warning
PGDLLIMPORT bool standard_conforming_strings

Enumeration Type Documentation

Enumerator:
BACKSLASH_QUOTE_OFF 
BACKSLASH_QUOTE_ON 
BACKSLASH_QUOTE_SAFE_ENCODING 

Definition at line 21 of file parser.h.

{
    BACKSLASH_QUOTE_OFF,
    BACKSLASH_QUOTE_ON,
    BACKSLASH_QUOTE_SAFE_ENCODING
}   BackslashQuoteType;


Function Documentation

List* raw_parser ( const char *  str  ) 

Definition at line 35 of file parser.c.

References base_yyparse(), base_yy_extra_type::core_yy_extra, base_yy_extra_type::have_lookahead, NumScanKeywords, parser_init(), base_yy_extra_type::parsetree, ScanKeywords, scanner_finish(), scanner_init(), and yyscanner.

Referenced by ATPostAlterTypeParse(), parseTypeString(), and pg_parse_query().

{
    core_yyscan_t yyscanner;
    base_yy_extra_type yyextra;
    int         yyresult;

    /* initialize the flex scanner */
    yyscanner = scanner_init(str, &yyextra.core_yy_extra,
                             ScanKeywords, NumScanKeywords);

    /* base_yylex() only needs this much initialization */
    yyextra.have_lookahead = false;

    /* initialize the bison parser */
    parser_init(&yyextra);

    /* Parse! */
    yyresult = base_yyparse(yyscanner);

    /* Clean up (release memory) */
    scanner_finish(yyscanner);

    if (yyresult)               /* error */
        return NIL;

    return yyextra.parsetree;
}

List* SystemFuncName ( char *  name  ) 
TypeName* SystemTypeName ( char *  name  ) 

Variable Documentation

Referenced by simple_quote_literal().