diff --git a/src/backend/parser/README b/src/backend/parser/README new file mode 100644 index 0000000000..ddbcb6f63d --- /dev/null +++ b/src/backend/parser/README @@ -0,0 +1,20 @@ +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 one function for every complex query type like SELECT, INSERT... +parse_clause.c handle clauses like WHERE, ORDER BY, GROUP BY, ... +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 like date_part(col3), trim(col4), ... + +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