postgresql/src/backend/parser
Tom Lane f9e6e27c87 Break transformCreateStmt() into multiple routines and make
transformAlterStmt() use these routines, instead of having lots of
duplicate (not to mention should-have-been-duplicate) code.
Adding a column with a CHECK constraint actually works now,
and the tests to reject unsupported DEFAULT and NOT NULL clauses
actually fire now.  ALTER TABLE ADD PRIMARY KEY works, modulo
having to have created the column(s) NOT NULL already.
2001-10-12 00:07:15 +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 Break transformCreateStmt() into multiple routines and make 2001-10-12 00:07:15 +00:00
gram.y Remove gratuitous discrepancy between extract() and date_part(), 2001-10-10 00:02:42 +00:00
keywords.c Remove gratuitous discrepancy between extract() and date_part(), 2001-10-10 00:02:42 +00:00
Makefile No longer a need for -Wno-error 2001-08-09 18:13:23 +00:00
parse_agg.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_clause.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_coerce.c Make the world safe for atttypmod=0 ... this didn't use to mean anything, 2001-10-04 17:52:24 +00:00
parse_expr.c Fix transformExpr() to not scribble on its input datastructure while 2001-10-08 21:46:59 +00:00
parse_func.c Consider interpreting a function call as a trivial (binary-compatible) 2001-10-04 22:06:46 +00:00
parse_node.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_oper.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_relation.c Make OIDs optional, per discussions in pghackers. WITH OIDS is still the 2001-08-10 18:57:42 +00:00
parse_target.c Another go-round with FigureColname, to produce less surprising results 2001-10-08 21:48:51 +00:00
parse_type.c Change plpgsql to depend on main parser's type-declaration grammar, 2001-10-09 04:15:38 +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 Change addlit() to not assume its input is null-terminated, so that we 2001-09-07 23:17:14 +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