postgresql/src/backend/parser
Bruce Momjian 0e1bfe92c7 I have a patch for postgresql-snapshot(1999-10-22).
This patch fix a TODO list item.
* require SELECT DISTINCT target list to have all ORDER BY columns

example
ogawa=> select distinct x from t1 order by y;
ERROR:  ORDER BY columns must appear in SELECT DISTINCT target list

---
Atsushi Ogawa
1999-10-22 11:51:35 +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 Fix planner and rewriter to follow SQL semantics for tables that are 1999-10-07 04:23:24 +00:00
gram.y This patch implements ORACLE's COMMENT SQL command. 1999-10-15 01:49:49 +00:00
keywords.c This patch implements ORACLE's COMMENT SQL command. 1999-10-15 01:49:49 +00:00
Makefile Remove fixed-size literal buffer from scan.l, and repair 1999-10-18 02:42:31 +00:00
parse_agg.c Fix planner and rewriter to follow SQL semantics for tables that are 1999-10-07 04:23:24 +00:00
parse_clause.c I have a patch for postgresql-snapshot(1999-10-22). 1999-10-22 11:51:35 +00:00
parse_coerce.c Teach parse_coerce about non-cachable functions (actually, 1999-10-02 23:29:19 +00:00
parse_expr.c Allow CASE statement to contain *only* untyped result clauses or nulls. 1999-09-13 04:14:56 +00:00
parse_func.c Fix planner and rewriter to follow SQL semantics for tables that are 1999-10-07 04:23:24 +00:00
parse_node.c Remove bogus code in oper_exact --- if it didn't find an exact 1999-08-23 23:48:39 +00:00
parse_oper.c Mega-commit to make heap_open/heap_openr/heap_close take an 1999-09-18 19:08:25 +00:00
parse_relation.c Fix planner and rewriter to follow SQL semantics for tables that are 1999-10-07 04:23:24 +00:00
parse_target.c Rewrite parser's handling of INSERT ... SELECT so that processing 1999-07-19 00:26:20 +00:00
parse_type.c Revise parse_coerce() to handle coercion of int and float 1999-08-05 02:33:54 +00:00
parser.c Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Remove fixed-size literal buffer from scan.l, and repair 1999-10-18 02:42:31 +00:00
scansup.c Eliminate token length assumption in scanstr(). 1999-09-11 22:26:47 +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