postgresql/src/backend/parser
Tom Lane 59c325bb73 Repair for bug #691 --- CREATE TABLE AS column aliases fail to be
applied when the select is a UNION (or other set-operation).

An alternative route to a fix would be to leave analyze.c alone and
change plan_set_operations in prepunion.c to take column names from
the topmost targetlist.  But I am not sure that would work in all
cases.  This patch seems the minimum-risk fix.
2002-06-13 02:04:46 +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 Scanner performance improvements 2002-04-20 21:56:15 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
analyze.c Repair for bug #691 --- CREATE TABLE AS column aliases fail to be 2002-06-13 02:04:46 +00:00
gram.y Implement SQL99 OVERLAY(). Allows substitution of a substring in a string. 2002-06-11 15:44:38 +00:00
keywords.c Implement SQL99 OVERLAY(). Allows substitution of a substring in a string. 2002-06-11 15:44:38 +00:00
parse_agg.c Restructure representation of aggregate functions so that they have pg_proc 2002-04-11 20:00:18 +00:00
parse_clause.c Teach query_tree_walker, query_tree_mutator, and SS_finalize_plan to 2002-05-18 18:49:41 +00:00
parse_coerce.c Get rid of the last few uses of typeidTypeName() rather than 2002-05-17 22:35:13 +00:00
parse_expr.c Get rid of the last few uses of typeidTypeName() rather than 2002-05-17 22:35:13 +00:00
parse_func.c Restructure indexscan API (index_beginscan, index_getnext) per 2002-05-20 23:51:44 +00:00
parse_node.c Get rid of long-since-vestigial Iter node type, in favor of adding a 2002-05-12 23:43:04 +00:00
parse_oper.c Give left_oper() and right_oper() noError parameters like oper() (the 2002-05-01 19:26:08 +00:00
parse_relation.c First pass at set-returning-functions in FROM, by Joe Conway with 2002-05-12 20:10:05 +00:00
parse_target.c Restructure representation of aggregate functions so that they have pg_proc 2002-04-11 20:00:18 +00:00
parse_type.c Get rid of the last few uses of typeidTypeName() rather than 2002-05-17 22:35:13 +00:00
parser.c Scanner performance improvements 2002-04-20 21:56:15 +00:00
scan.l Implement SQL99 OVERLAY(). Allows substitution of a substring in a string. 2002-06-11 15:44:38 +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