postgresql/src/backend/parser
Tom Lane 56ee2ecba9 Restructure command-completion-report code so that there is just one
report for each received SQL command, regardless of rewriting activity.
Also ensure that this report comes from the 'original' command, not the
last command generated by rewrite; this fixes 7.2 breakage for INSERT
commands that have actions added by rules.  Fernando Nasser and Tom Lane.
2002-02-26 22:47:12 +00:00
..
.cvsignore Add .cvsignore file so cvs doesn't complain if you have lex/yacc 1999-03-21 02:43:58 +00:00
Makefile Make the yacc rules safe for parallel make. See discussion on pgsql-patches 2001-11-16 16:32:33 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
analyze.c Restructure command-completion-report code so that there is just one 2002-02-26 22:47:12 +00:00
gram.y Re-add equals documentation with CREATE DATABASE. 2002-02-25 03:37:14 +00:00
keywords.c Privileges on functions and procedural languages 2002-02-18 23:11:58 +00:00
parse_agg.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parse_clause.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parse_coerce.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parse_expr.c If the alternatives for a CASE construct all have the same typmod, 2001-11-12 20:05:24 +00:00
parse_func.c A bunch of changes aimed at reducing backend startup time... 2002-02-19 20:11:20 +00:00
parse_node.c Another pgindent run. Fixes enum indenting, and improves #endif 2001-10-28 06:26:15 +00:00
parse_oper.c A bunch of changes aimed at reducing backend startup time... 2002-02-19 20:11:20 +00:00
parse_relation.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
parse_target.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
parse_type.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parser.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
scan.l Change addlit() to not assume its input is null-terminated, so that we 2001-09-07 23:17:14 +00:00
scansup.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00

README

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	handle post-parse processing for each query type
parse_clause.c	handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_coerce.c	used for coercing expressions of different types
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, table.column and column identifiers
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