postgresql/src/backend/parser
Tom Lane fbd26d6984 Arrange that no database accesses are attempted during parser() --- this
took some rejiggering of typename and ACL parsing, as well as moving
parse_analyze call out of parser().  Restructure postgres.c processing
so that parse analysis and rewrite are skipped when in abort-transaction
state.  Only COMMIT and ABORT statements will be processed beyond the raw
parser() phase.  This addresses problem of parser failing with database access
errors while in aborted state (see pghackers discussions around 7/28/00).
Also fix some bugs with COMMIT/ABORT statements appearing in the middle of
a single query input string.
Function, operator, and aggregate arguments/results can now use full
TypeName production, in particular foo[] for array types.
DROP OPERATOR and COMMENT ON OPERATOR were broken for unary operators.
Allow CREATE AGGREGATE to accept unquoted numeric constants for initcond.
2000-10-07 00:58:23 +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 Arrange that no database accesses are attempted during parser() --- this 2000-10-07 00:58:23 +00:00
gram.y Arrange that no database accesses are attempted during parser() --- this 2000-10-07 00:58:23 +00:00
keywords.c This patch implements the following command: 2000-09-12 05:09:57 +00:00
Makefile First cut at full support for OUTER JOINs. There are still a few loose 2000-09-12 21:07:18 +00:00
parse_agg.c Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias. 2000-09-29 18:21:41 +00:00
parse_clause.c Arrange that no database accesses are attempted during parser() --- this 2000-10-07 00:58:23 +00:00
parse_coerce.c Reimplementation of UNION/INTERSECT/EXCEPT. INTERSECT/EXCEPT now meet the 2000-10-05 19:11:39 +00:00
parse_expr.c Arrange that no database accesses are attempted during parser() --- this 2000-10-07 00:58:23 +00:00
parse_func.c Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias. 2000-09-29 18:21:41 +00:00
parse_node.c Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias. 2000-09-29 18:21:41 +00:00
parse_oper.c First round of changes for new fmgr interface. fmgr itself and the 2000-05-28 17:56:29 +00:00
parse_relation.c Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias. 2000-09-29 18:21:41 +00:00
parse_target.c Subselects in FROM clause, per ISO syntax: FROM (SELECT ...) [AS] alias. 2000-09-29 18:21:41 +00:00
parse_type.c Mark functions as static and ifdef NOT_USED as appropriate. 2000-06-08 22:38:00 +00:00
parser.c Arrange that no database accesses are attempted during parser() --- this 2000-10-07 00:58:23 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l First cut at full support for OUTER JOINs. There are still a few loose 2000-09-12 21:07:18 +00:00
scansup.c Ye-old pgindent run. Same 4-space tabs. 2000-04-12 17:17:23 +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