postgresql/src/backend/parser
Alvaro Herrera f8348ea32e Allow extracting machine-readable object identity
Introduce pg_identify_object(oid,oid,int4), which is similar in spirit
to pg_describe_object but instead produces a row of machine-readable
information to uniquely identify the given object, without resorting to
OIDs or other internal representation.  This is intended to be used in
the event trigger implementation, to report objects being operated on;
but it has usefulness of its own.

Catalog version bumped because of the new function.
2013-03-20 18:19:19 -03:00
..
.gitignore Convert cvsignore to gitignore, and add .gitignore for build targets. 2010-09-22 12:57:04 +02:00
analyze.c Support writable foreign tables. 2013-03-10 14:16:02 -04:00
check_keywords.pl Update copyrights for 2013 2013-01-01 17:15:01 -05:00
gram.y Allow extracting machine-readable object identity 2013-03-20 18:19:19 -03:00
keywords.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
kwlookup.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
Makefile Refactor flex and bison make rules 2012-10-11 06:57:04 -04:00
parse_agg.c Make some spelling more consistent 2013-01-05 08:25:21 -05:00
parse_clause.c Make LATERAL implicit for functions in FROM. 2013-01-26 16:18:42 -05:00
parse_coerce.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_collate.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_cte.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_expr.c Make some spelling more consistent 2013-01-05 08:25:21 -05:00
parse_func.c Add infrastructure for storing a VARIADIC ANY function's VARIADIC flag. 2013-01-21 20:26:15 -05:00
parse_node.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_oper.c Allow CREATE TABLE IF EXIST so succeed if the schema is nonexistent 2013-01-26 13:24:50 -05:00
parse_param.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_relation.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_target.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
parse_type.c Allow CREATE TABLE IF EXIST so succeed if the schema is nonexistent 2013-01-26 13:24:50 -05:00
parse_utilcmd.c Allow default expressions to be attached to columns of foreign tables. 2013-03-12 17:37:07 -04:00
parser.c Update copyrights for 2013 2013-01-01 17:15:01 -05:00
README Revise collation derivation method and expression-tree representation. 2011-03-19 20:30:08 -04:00
scan.l Change the way UESCAPE is lexed, to reduce the size of the flex tables. 2013-03-14 19:04:43 +02:00
scansup.c Update copyrights for 2013 2013-01-01 17:15:01 -05: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)