Skip to content
Snippets Groups Projects
Select Git revision
  • benchmark-tools
  • postgres-lambda
  • master default
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
23 results

parser

  • Clone with SSH
  • Clone with HTTPS
  • user avatar
    PostgreSQL Daemon authored
    $Header: -> $PostgreSQL Changes ...
    969685ad
    History
    This directory does more than tokenize and parse SQL queries.  It also
    creates Query structures for the various complex queries that is passed
    to the optimizer and then executor.
    
    parser.c	things start here
    scan.l		break query into tokens
    scansup.c	handle escapes in input
    keywords.c	turn keywords into specific tokens
    gram.y		parse the tokens and fill query-type-specific structures
    analyze.c	handle post-parse processing for each query type
    parse_clause.c	handle clauses like WHERE, ORDER BY, GROUP BY, ...
    parse_coerce.c	used for coercing expressions of different types
    parse_expr.c	handle expressions like col, col + 3, x = 3 or x = 4
    parse_oper.c	handle operations in expressions
    parse_agg.c	handle aggregates, like SUM(col1),  AVG(col2), ...
    parse_func.c	handle functions, table.column and column identifiers
    parse_node.c	create nodes for various structures
    parse_target.c	handle the result list of the query
    parse_relation.c support routines for tables and column handling
    parse_type.c	support routines for type handling