postgresql/src/backend/parser
Simon Riggs 8de72b66a2 COPY FREEZE and mark committed on fresh tables.
When a relfilenode is created in this subtransaction or
a committed child transaction and it cannot otherwise
be seen by our own process, mark tuples committed ahead
of transaction commit for all COPY commands in same
transaction. If FREEZE specified on COPY
and pre-conditions met then rows will also be frozen.
Both options designed to avoid revisiting rows after commit,
increasing performance of subsequent commands after
data load and upgrade. pg_restore changes later.

Simon Riggs, review comments from Heikki Linnakangas, Noah Misch and design
input from Tom Lane, Robert Haas and Kevin Grittner
2012-12-01 12:54:20 +00:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
analyze.c Check for stack overflow in transformSetOperationTree(). 2012-11-11 19:56:10 -05:00
check_keywords.pl Run check_keywords.pl anytime gram.c is rebuilt. 2012-09-26 23:12:39 -04:00
gram.y COPY FREEZE and mark committed on fresh tables. 2012-12-01 12:54:20 +00:00
keywords.c Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
kwlookup.c Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
Makefile Refactor flex and bison make rules 2012-10-11 06:57:04 -04:00
parse_agg.c Get rid of COERCE_DONTCARE. 2012-10-12 13:35:00 -04:00
parse_clause.c Centralize the logic for detecting misplaced aggregates, window funcs, etc. 2012-08-10 11:36:15 -04:00
parse_coerce.c Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
parse_collate.c Lots of doc corrections. 2012-04-23 22:43:09 -04:00
parse_cte.c Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT). 2012-07-31 17:56:21 -04:00
parse_expr.c Centralize the logic for detecting misplaced aggregates, window funcs, etc. 2012-08-10 11:36:15 -04:00
parse_func.c Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
parse_node.c Use correct text domain for translating errcontext() messages. 2012-11-12 17:07:29 +02:00
parse_oper.c Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
parse_param.c Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
parse_relation.c Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
parse_target.c Centralize the logic for detecting misplaced aggregates, window funcs, etc. 2012-08-10 11:36:15 -04:00
parse_type.c Split tuple struct defs from htup.h to htup_details.h 2012-08-30 16:52:35 -04:00
parse_utilcmd.c Fix assorted bugs in CREATE/DROP INDEX CONCURRENTLY. 2012-11-28 21:26:01 -05:00
parser.c Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
README Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
scan.l Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
scansup.c Properly escape usernames in initdb, so names with single-quotes are 2012-08-15 11:23:15 -04:00

src/backend/parser/README

Parser
======

This directory does more than tokenize and parse SQL queries.  It also
creates Query structures for the various complex queries that are passed
to the optimizer and then executor.

parser.c	things start here
scan.l		break query into tokens
scansup.c	handle escapes in input strings
kwlookup.c	turn keywords into specific tokens
keywords.c	table of standard keywords (passed to kwlookup.c)
gram.y		parse the tokens and produce a "raw" parse tree
analyze.c	top level of parse analysis for optimizable queries
parse_agg.c	handle aggregates, like SUM(col1),  AVG(col2), ...
parse_clause.c	handle clauses like WHERE, ORDER BY, GROUP BY, ...
parse_coerce.c	handle coercing expressions to different data types
parse_collate.c	assign collation information in completed expressions
parse_cte.c	handle Common Table Expressions (WITH clauses)
parse_expr.c	handle expressions like col, col + 3, x = 3 or x = 4
parse_func.c	handle functions, table.column and column identifiers
parse_node.c	create nodes for various structures
parse_oper.c	handle operators in expressions
parse_param.c	handle Params (for the cases used in the core backend)
parse_relation.c support routines for tables and column handling
parse_target.c	handle the result list of the query
parse_type.c	support routines for data type handling
parse_utilcmd.c	parse analysis for utility commands (done at execution time)