postgresql/src/backend/parser
Tom Lane 499c81d3a3 Prohibit a column from appearing twice in a PRIMARY KEY or UNIQUE
constraint.  This case (a) is useless, (b) violates SQL92, and
(c) is certain to cause a failure downstream when we try to create
an index with duplicated column names.  So give an appropriate error
message instead of letting the index failure occur.  Per report from
Colin Strickland.  NOTE: currently, CREATE INDEX fooi ON foo(f1,f1)
still fails with 'cannot insert duplicate key' error.  Should we
change that too?  What about functional indexes?
2001-07-04 17:36:54 +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 Prohibit a column from appearing twice in a PRIMARY KEY or UNIQUE 2001-07-04 17:36:54 +00:00
gram.y Allow default transaction isolation level (a.k.a. set session 2001-06-30 22:03:26 +00:00
keywords.c Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean 2001-06-19 22:39:12 +00:00
Makefile Makefile should have automatic dependency for parser.o too, if it's 2001-05-04 22:01:03 +00:00
parse_agg.c Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group. 2001-01-24 19:43:33 +00:00
parse_clause.c Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean 2001-06-19 22:39:12 +00:00
parse_coerce.c Back out BYTEA binary compatibility changes. 2001-06-24 02:41:21 +00:00
parse_expr.c Add IS UNKNOWN, IS NOT UNKNOWN boolean tests, fix the existing boolean 2001-06-19 22:39:12 +00:00
parse_func.c Statistical system views (yet without the config stuff, but 2001-06-22 19:16:24 +00:00
parse_node.c Make bit and bit varying types reject too long input. (They already tried 2001-05-22 16:37:17 +00:00
parse_oper.c compatible_oper needs to do ReleaseSysCache in one path to avoid 2001-04-23 04:32:30 +00:00
parse_relation.c Rewrite of planner statistics-gathering code. ANALYZE is now available as 2001-05-07 00:43:27 +00:00
parse_target.c Back out BYTEA binary compatibility changes. 2001-06-24 02:41:21 +00:00
parse_type.c pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
parser.c pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Fix Joubert's complaint that int8-sized numeric literals are mishandled 2001-03-22 17:41:47 +00:00
scansup.c Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group. 2001-01-24 19:43:33 +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