|
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.9 KiB | 71 | 36 |
| README | H A D | 08-Nov-2021 | 1.5 KiB | 33 | 28 |
| analyze.c | H A D | 08-Nov-2021 | 90.8 KiB | 2,996 | 1,725 |
| 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 | 47,156 | 43,762 |
| gram.h | H A D | 08-Nov-2021 | 12.2 KiB | 604 | 550 |
| gram.y | H A D | 08-Nov-2021 | 441.1 KiB | 16,640 | 13,414 |
| parse_agg.c | H A D | 08-Nov-2021 | 59.3 KiB | 2,082 | 1,320 |
| parse_clause.c | H A D | 08-Nov-2021 | 113.7 KiB | 3,702 | 2,105 |
| parse_coerce.c | H A D | 08-Nov-2021 | 91.1 KiB | 2,908 | 1,706 |
| parse_collate.c | H A D | 08-Nov-2021 | 33.3 KiB | 1,035 | 530 |
| parse_cte.c | H A D | 08-Nov-2021 | 29.3 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.8 KiB | 3,572 | 2,519 |
| parse_func.c | H A D | 08-Nov-2021 | 79.4 KiB | 2,544 | 1,607 |
| parse_node.c | H A D | 08-Nov-2021 | 17.1 KiB | 572 | 319 |
| 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 | 101.2 KiB | 3,583 | 2,173 |
| parse_target.c | H A D | 08-Nov-2021 | 54.2 KiB | 1,943 | 1,226 |
| parse_type.c | H A D | 08-Nov-2021 | 22.6 KiB | 864 | 546 |
| parse_utilcmd.c | H A D | 08-Nov-2021 | 128.2 KiB | 4,300 | 2,762 |
| parser.c | H A D | 08-Nov-2021 | 12.4 KiB | 483 | 311 |
| scan.c | H A D | 08-Nov-2021 | 375.8 KiB | 8,071 | 6,337 |
| scan.l | H A D | 08-Nov-2021 | 40 KiB | 1,430 | 934 |
| scansup.c | H A D | 08-Nov-2021 | 5.3 KiB | 231 | 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