postgresql/src/backend/parser
Tom Lane 440b0fea3d Another go-round with resolution of ambiguous functions and operators.
In function parsing, try for an actual function of the given name and
input types before trying to interpret the function call as a type
coercion request, rather than after.  Before, a function that had the
same name as a type and operated on a binary-compatible type wouldn't
get invoked.  Also, cross-pollinate between func_select_candidates and
oper_select_candidates to ensure that they use as nearly the same
resolution rules as possible.  A few other minor code cleanups too.
2000-03-19 00:19:39 +00:00
..
.cvsignore Add .cvsignore file so cvs doesn't complain if you have lex/yacc 1999-03-21 02:43:58 +00:00
Makefile Removed MBFLAGS from makefiles since it's now done in include/config.h. 2000-01-19 02:59:03 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
analyze.c Implement column aliases on views "CREATE VIEW name (collist)". 2000-03-14 23:06:59 +00:00
gram.y Just noticed that the grammar actually has no provision for '+' as a 2000-03-18 04:32:35 +00:00
keywords.c Implement column aliases on views "CREATE VIEW name (collist)". 2000-03-14 23:06:59 +00:00
parse_agg.c Fix a bunch of minor portability problems and maybe-bugs revealed by 2000-03-17 02:36:41 +00:00
parse_clause.c Tweak GROUP BY so that it will still accept result-column names, but only 2000-03-15 23:31:19 +00:00
parse_coerce.c In can_coerce_type, verify that a possible type-coercion function 2000-03-19 00:15:39 +00:00
parse_expr.c Add safety check on expression nesting depth. Default value is set by 2000-03-17 05:29:07 +00:00
parse_func.c Another go-round with resolution of ambiguous functions and operators. 2000-03-19 00:19:39 +00:00
parse_node.c Make make_const() check the size and precision of a T_Float Value, 2000-02-24 01:59:17 +00:00
parse_oper.c Another go-round with resolution of ambiguous functions and operators. 2000-03-19 00:19:39 +00:00
parse_relation.c Fix a bunch of minor portability problems and maybe-bugs revealed by 2000-03-17 02:36:41 +00:00
parse_target.c Implement column aliases on views "CREATE VIEW name (collist)". 2000-03-14 23:06:59 +00:00
parse_type.c Add: 2000-01-26 05:58:53 +00:00
parser.c Add safety check on expression nesting depth. Default value is set by 2000-03-17 05:29:07 +00:00
scan.l Modify lexing of multi-char operators per pghackers discussion around 2000-03-18 18:03:12 +00:00
scansup.c Add: 2000-01-26 05:58:53 +00:00

README

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