|
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 | 103.4 KiB | 3,426 | 1,999 |
| check_keywords.pl | H A D | 08-Nov-2021 | 6.1 KiB | 282 | 202 |
| gram.c | H A D | 08-Nov-2021 | 2.3 MiB | 47,986 | 44,640 |
| gram.h | H A D | 08-Nov-2021 | 12.5 KiB | 618 | 564 |
| gram.y | H A D | 08-Nov-2021 | 449 KiB | 17,265 | 13,994 |
| parse_agg.c | H A D | 08-Nov-2021 | 60.8 KiB | 2,150 | 1,374 |
| parse_clause.c | H A D | 08-Nov-2021 | 114 KiB | 3,707 | 2,107 |
| parse_coerce.c | H A D | 08-Nov-2021 | 104.1 KiB | 3,275 | 1,989 |
| parse_collate.c | H A D | 08-Nov-2021 | 34.1 KiB | 1,058 | 543 |
| parse_cte.c | H A D | 08-Nov-2021 | 36.4 KiB | 1,167 | 796 |
| parse_enr.c | H A D | 08-Nov-2021 | 811 | 30 | 12 |
| parse_expr.c | H A D | 08-Nov-2021 | 85.3 KiB | 3,102 | 2,167 |
| parse_func.c | H A D | 08-Nov-2021 | 84.2 KiB | 2,680 | 1,690 |
| parse_node.c | H A D | 08-Nov-2021 | 14.2 KiB | 469 | 230 |
| parse_oper.c | H A D | 08-Nov-2021 | 29.5 KiB | 1,067 | 616 |
| parse_param.c | H A D | 08-Nov-2021 | 10.8 KiB | 364 | 221 |
| parse_relation.c | H A D | 08-Nov-2021 | 104.3 KiB | 3,668 | 2,233 |
| parse_target.c | H A D | 08-Nov-2021 | 54.9 KiB | 1,966 | 1,234 |
| parse_type.c | H A D | 08-Nov-2021 | 21.2 KiB | 810 | 502 |
| parse_utilcmd.c | H A D | 08-Nov-2021 | 130.1 KiB | 4,372 | 2,800 |
| parser.c | H A D | 08-Nov-2021 | 13.1 KiB | 502 | 328 |
| 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 | 3.5 KiB | 128 | 56 |
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