Fix xslt_process() to ensure that it inserts a NULL terminator after the
[PostgreSQL.git] / src / backend / parser / README
blob871e26f35ee714798b2af5d1ccfaae5c1e9a7c08
1 $PostgreSQL$
3 Parser
4 ======
6 This directory does more than tokenize and parse SQL queries.  It also
7 creates Query structures for the various complex queries that are passed
8 to the optimizer and then executor.
10 parser.c        things start here
11 scan.l          break query into tokens
12 scansup.c       handle escapes in input strings
13 keywords.c      turn keywords into specific tokens
14 gram.y          parse the tokens and fill query-type-specific structures
15 analyze.c       top level of parse analysis for optimizable queries
16 parse_clause.c  handle clauses like WHERE, ORDER BY, GROUP BY, ...
17 parse_coerce.c  handle coercing expressions to different data types
18 parse_expr.c    handle expressions like col, col + 3, x = 3 or x = 4
19 parse_oper.c    handle operators in expressions
20 parse_agg.c     handle aggregates, like SUM(col1),  AVG(col2), ...
21 parse_func.c    handle functions, table.column and column identifiers
22 parse_node.c    create nodes for various structures
23 parse_target.c  handle the result list of the query
24 parse_relation.c support routines for tables and column handling
25 parse_type.c    support routines for data type handling
26 parse_utilcmd.c parse analysis for utility commands (done at execution time)