postgresql/src/backend/parser
Tom Lane 06e10abc0b Fix problems with cached tuple descriptors disappearing while still in use
by creating a reference-count mechanism, similar to what we did a long time
ago for catcache entries.  The back branches have an ugly solution involving
lots of extra copies, but this way is more efficient.  Reference counting is
only applied to tupdescs that are actually in caches --- there seems no need
to use it for tupdescs that are generated in the executor, since they'll go
away during plan shutdown by virtue of being in the per-query memory context.
Neil Conway and Tom Lane
2006-06-16 18:42:24 +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 Improve the representation of FOR UPDATE/FOR SHARE so that we can 2006-04-30 18:30:40 +00:00
gram.y Re-introduce the yylex filter function formerly used to support UNION 2006-05-27 17:38:46 +00:00
keywords.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
Makefile Re-introduce the yylex filter function formerly used to support UNION 2006-05-27 17:38:46 +00:00
parse_agg.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
parse_clause.c Clean up representation of function RTEs for functions returning RECORD. 2006-03-16 00:31:55 +00:00
parse_coerce.c Fix problems with cached tuple descriptors disappearing while still in use 2006-06-16 18:42:24 +00:00
parse_expr.c Simplify ParamListInfo data structure to support only numbered parameters, 2006-04-22 01:26:01 +00:00
parse_func.c Support the syntax 2006-04-15 17:45:46 +00:00
parse_node.c Improve parser so that we can show an error cursor position for errors 2006-03-14 22:48:25 +00:00
parse_oper.c Provide a namespace.c function for lookup of an operator with exact 2006-05-01 23:22:43 +00:00
parse_relation.c Improve the representation of FOR UPDATE/FOR SHARE so that we can 2006-04-30 18:30:40 +00:00
parse_target.c Fix problems with cached tuple descriptors disappearing while still in use 2006-06-16 18:42:24 +00:00
parse_type.c Improve the representation of FOR UPDATE/FOR SHARE so that we can 2006-04-30 18:30:40 +00:00
parser.c Re-introduce the yylex filter function formerly used to support UNION 2006-05-27 17:38:46 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Add a new GUC parameter backslash_quote, which determines whether the SQL 2006-05-21 20:10:42 +00:00
scansup.c Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +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