postgresql/src/backend/parser
Tom Lane bf461538e1 When expanding a whole-row Var into a RowExpr during ResolveNew(), attach
the column alias names of the RTE referenced by the Var to the RowExpr.
This is needed to allow ruleutils.c to correctly deparse FieldSelect nodes
referencing such a construct.  Per my recent bug report.

Adding a field to RowExpr forces initdb (because of stored rules changes)
so this solution is not back-patchable; which is unfortunate because 8.2
and 8.3 have this issue.  But it only affects EXPLAIN for some pretty odd
corner cases, so we can probably live without a solution for the back
branches.
2008-10-06 17:39:26 +00:00
..
.cvsignore Remove all traces that suggest that a non-Bison yacc might be supported, and 2008-08-29 13:02:33 +00:00
analyze.c Fix GetCTEForRTE() to deal with the possibility that the RTE it's given came 2008-10-06 15:15:22 +00:00
gram.y Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
keywords.c Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
Makefile Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
parse_agg.c Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
parse_clause.c Fix the implicit-RTE code to be able to handle implicit RTEs for CTEs, as 2008-10-06 02:12:56 +00:00
parse_coerce.c When expanding a whole-row Var into a RowExpr during ResolveNew(), attach 2008-10-06 17:39:26 +00:00
parse_cte.c Improve behavior of WITH RECURSIVE with an untyped literal in the 2008-10-05 22:50:55 +00:00
parse_expr.c When expanding a whole-row Var into a RowExpr during ResolveNew(), attach 2008-10-06 17:39:26 +00:00
parse_func.c Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
parse_node.c Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
parse_oper.c Improve the plan cache invalidation mechanism to make it invalidate plans 2008-09-09 18:58:09 +00:00
parse_relation.c Fix GetCTEForRTE() to deal with the possibility that the RTE it's given came 2008-10-06 15:15:22 +00:00
parse_target.c Fix GetCTEForRTE() to deal with the possibility that the RTE it's given came 2008-10-06 15:15:22 +00:00
parse_type.c Implement SQL-standard WITH clauses, including WITH RECURSIVE. 2008-10-04 21:56:55 +00:00
parse_utilcmd.c Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
parser.c Remove all traces that suggest that a non-Bison yacc might be supported, and 2008-08-29 13:02:33 +00:00
README Small wording improvements for source code READMEs. 2008-04-09 01:00:46 +00:00
scan.l Add a bunch of new error location reports to parse-analysis error messages. 2008-09-01 20:42:46 +00:00
scansup.c Update copyrights in source tree to 2008. 2008-01-01 19:46:01 +00:00

$PostgreSQL: pgsql/src/backend/parser/README,v 1.10 2008/04/09 01:00:46 momjian Exp $

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.c	things start here
scan.l		break query into tokens
scansup.c	handle escapes in input strings
keywords.c	turn keywords into specific tokens
gram.y		parse the tokens and fill query-type-specific structures
analyze.c	top level of parse analysis for optimizable queries
parse_clause.c	handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_coerce.c	handle coercing expressions to different data types
parse_expr.c	handle expressions like col, col + 3, x = 3 or x = 4
parse_oper.c	handle operators 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 data type handling
parse_utilcmd.c	parse analysis for utility commands (done at execution time)