|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| .gitignore | H A D | 08-Nov-2021 | 24 | 4 | 3 |
| Makefile | H A D | 08-Nov-2021 | 1.8 KiB | 55 | 20 |
| README | H A D | 08-Nov-2021 | 1.5 KiB | 33 | 28 |
| analyze.c | H A D | 08-Nov-2021 | 90.4 KiB | 2,987 | 1,707 |
| check_keywords.pl | H A D | 08-Nov-2021 | 4.9 KiB | 238 | 165 |
| gram.c | H A D | 08-Nov-2021 | 2.2 MiB | 46,724 | 43,366 |
| gram.h | H A D | 08-Nov-2021 | 12 KiB | 593 | 539 |
| gram.y | H A D | 08-Nov-2021 | 433.6 KiB | 16,360 | 13,176 |
| parse_agg.c | H A D | 08-Nov-2021 | 59.6 KiB | 2,104 | 1,339 |
| parse_clause.c | H A D | 08-Nov-2021 | 111 KiB | 3,654 | 2,084 |
| parse_coerce.c | H A D | 08-Nov-2021 | 76.4 KiB | 2,488 | 1,436 |
| parse_collate.c | H A D | 08-Nov-2021 | 33.2 KiB | 1,035 | 530 |
| parse_cte.c | H A D | 08-Nov-2021 | 29.1 KiB | 974 | 649 |
| parse_enr.c | H A D | 08-Nov-2021 | 811 | 30 | 12 |
| parse_expr.c | H A D | 08-Nov-2021 | 97.7 KiB | 3,576 | 2,519 |
| parse_func.c | H A D | 08-Nov-2021 | 79.4 KiB | 2,559 | 1,616 |
| parse_node.c | H A D | 08-Nov-2021 | 17.7 KiB | 594 | 334 |
| parse_oper.c | H A D | 08-Nov-2021 | 31.6 KiB | 1,151 | 660 |
| parse_param.c | H A D | 08-Nov-2021 | 10.5 KiB | 355 | 219 |
| parse_relation.c | H A D | 08-Nov-2021 | 95.1 KiB | 3,428 | 2,123 |
| parse_target.c | H A D | 08-Nov-2021 | 53.3 KiB | 1,934 | 1,228 |
| parse_type.c | H A D | 08-Nov-2021 | 22.6 KiB | 865 | 546 |
| parse_utilcmd.c | H A D | 08-Nov-2021 | 126.2 KiB | 4,258 | 2,732 |
| parser.c | H A D | 08-Nov-2021 | 5.3 KiB | 197 | 97 |
| scan.c | H A D | 08-Nov-2021 | 615.6 KiB | 11,951 | 9,905 |
| scan.l | H A D | 08-Nov-2021 | 43.3 KiB | 1,607 | 1,142 |
| scansup.c | H A D | 08-Nov-2021 | 5.3 KiB | 232 | 131 |
README
1src/backend/parser/README
2
3Parser
4======
5
6This directory does more than tokenize and parse SQL queries. It also
7creates Query structures for the various complex queries that are passed
8to the optimizer and then executor.
9
10parser.c things start here
11scan.l break query into tokens
12scansup.c handle escapes in input strings
13gram.y parse the tokens and produce a "raw" parse tree
14analyze.c top level of parse analysis for optimizable queries
15parse_agg.c handle aggregates, like SUM(col1), AVG(col2), ...
16parse_clause.c handle clauses like WHERE, ORDER BY, GROUP BY, ...
17parse_coerce.c handle coercing expressions to different data types
18parse_collate.c assign collation information in completed expressions
19parse_cte.c handle Common Table Expressions (WITH clauses)
20parse_expr.c handle expressions like col, col + 3, x = 3 or x = 4
21parse_func.c handle functions, table.column and column identifiers
22parse_node.c create nodes for various structures
23parse_oper.c handle operators in expressions
24parse_param.c handle Params (for the cases used in the core backend)
25parse_relation.c support routines for tables and column handling
26parse_target.c handle the result list of the query
27parse_type.c support routines for data type handling
28parse_utilcmd.c parse analysis for utility commands (done at execution time)
29
30See also src/common/keywords.c, which contains the table of standard
31keywords and the keyword lookup function. We separated that out because
32various frontend code wants to use it too.
33