Files
openGauss-server/src/common/backend/parser
..
2023-02-27 14:08:20 +08:00
2023-03-02 15:24:16 +08:00
2023-03-02 15:24:16 +08:00
AGG
2023-03-15 01:53:37 -07:00
2024-06-27 14:05:55 +08:00
2021-12-29 21:33:28 +08:00
2023-05-29 14:43:02 +08:00
2023-08-23 19:18:05 +08:00
2024-06-27 15:08:08 +08:00
2024-06-27 14:05:50 +08:00
2020-12-28 22:19:21 +08:00
2020-12-28 22:19:21 +08:00

src/common/backend/parser/README

Parser
======

This directory does more than tokenize and parse SQL queries.  It also
creates Query structures for the various complex queries that are passed
to the optimizer and then executor.

parser.cpp	things start here
scan.l		break query into tokens
scansup.cpp	handle escapes in input strings
kwlookup.cpp	turn keywords into specific tokens
keywords.cpp	table of standard keywords (passed to kwlookup.c)
gram.y		parse the tokens and produce a "raw" parse tree
analyze.cpp	top level of parse analysis for optimizable queries
parse_agg.cpp	handle aggregates, like SUM(col1),  AVG(col2), ...
parse_clause.cpp	handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_compatibility.cpp	Handle A db compatibal syntax and feature support
parse_coerce.cpp	handle coercing expressions to different data types
parse_collate.cpp	assign collation information in completed expressions
parse_cte.cpp	handle Common Table Expressions (WITH clauses)
parse_expr.cpp	handle expressions like col, col + 3, x = 3 or x = 4
parse_func.cpp	handle functions, table.column and column identifiers
parse_node.cpp	create nodes for various structures
parse_oper.cpp	handle operators in expressions
parse_param.cpp	handle Params (for the cases used in the core backend)
parse_relation.cpp	support routines for tables and column handling
parse_target.cpp	handle the result list of the query
parse_type.cpp		support routines for data type handling
parse_utilcmd.cpp	parse analysis for utility commands (done at execution time)