postgresql/src/backend/parser
Tom Lane 9fa12ddda6 Add a paramtypmod field to Param nodes. This is dead weight for Params
representing externally-supplied values, since the APIs that carry such
values only specify type not typmod.  However, for PARAM_SUBLINK Params
it is handy to carry the typmod of the sublink's output column.  This
is a much cleaner solution for the recently reported 'could not find
pathkey item to sort' and 'failed to find unique expression in subplan
tlist' bugs than my original 8.2-compatible patch.  Besides, someday we
might want to support typmods for external parameters ...
2006-12-10 22:13:27 +00:00
..
.cvsignore Add .cvsignore file so cvs doesn't complain if you have lex/yacc 1999-03-21 02:43:58 +00:00
analyze.c Code review for LIKE INCLUDING CONSTRAINTS patch --- improve comments, 2006-10-11 16:42:59 +00:00
gram.y Fix recently-understood problems with handling of XID freezing, particularly 2006-11-05 22:42:10 +00:00
keywords.c Added missing entry (CASCADED) in keywords table. 2006-10-07 21:51:02 +00:00
Makefile Re-introduce the yylex filter function formerly used to support UNION 2006-05-27 17:38:46 +00:00
parse_agg.c Add a paramtypmod field to Param nodes. This is dead weight for Params 2006-12-10 22:13:27 +00:00
parse_clause.c Fix some translator comments so that xgettext finds them and pgindent does 2006-11-28 12:54:42 +00:00
parse_coerce.c Add a paramtypmod field to Param nodes. This is dead weight for Params 2006-12-10 22:13:27 +00:00
parse_expr.c Add a paramtypmod field to Param nodes. This is dead weight for Params 2006-12-10 22:13:27 +00:00
parse_func.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
parse_node.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
parse_oper.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
parse_relation.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
parse_target.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
parse_type.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
parser.c pgindent run for 8.2. 2006-10-04 00:30:14 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Fix bugs in plpgsql and ecpg caused by assuming that isspace() would only 2006-09-22 21:39:58 +00:00
scansup.c Fix bugs in plpgsql and ecpg caused by assuming that isspace() would only 2006-09-22 21:39:58 +00:00

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