postgresql/src/backend/parser
Tom Lane 7173c485c8 Fix exprTypmod to recognize length-coercion function expressions,
such as bpchar(char_expression, N), and pull out the attrtypmod that
the function is coercing to.  This allows correct deduction of the
column type in examples such as
CREATE VIEW v AS SELECT f1::char(8) FROM tbl;
Formerly we labeled v's column as char-of-unknown-length not char(8).
Also, this change causes the parser not to insert a redundant length
coercion function if the user has explicitly casted an INSERT or UPDATE
expression to the right length.
2000-02-26 21:11:10 +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 Carry column aliases from the parser frontend. Enables queries like 2000-02-15 03:38:29 +00:00
gram.y I had managed to break acceptance of "char", which worked in 6.5 to 2000-02-26 18:13:41 +00:00
keywords.c Implement reindex command 2000-02-18 09:30:20 +00:00
Makefile Removed MBFLAGS from makefiles since it's now done in include/config.h. 2000-01-19 02:59:03 +00:00
parse_agg.c Carry column aliases from the parser frontend. Enables queries like 2000-02-15 03:38:29 +00:00
parse_clause.c Repair longstanding violation of SQL92 semantics: GROUP BY would 2000-02-19 23:45:07 +00:00
parse_coerce.c Create a new expression node type RelabelType, which exists solely to 2000-02-20 21:32:16 +00:00
parse_expr.c Fix exprTypmod to recognize length-coercion function expressions, 2000-02-26 21:11:10 +00:00
parse_func.c Further cleanups for type coercion: treat the locution typename(argument) 2000-02-20 23:04:06 +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 Add: 2000-01-26 05:58:53 +00:00
parse_relation.c Carry column aliases from the parser frontend. Enables queries like 2000-02-15 03:38:29 +00:00
parse_target.c Carry column aliases from the parser frontend. Enables queries like 2000-02-15 03:38:29 +00:00
parse_type.c Add: 2000-01-26 05:58:53 +00:00
parser.c Add: 2000-01-26 05:58:53 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Change parse-time representation of float literals (which include oversize 2000-02-21 18:47:12 +00:00
scansup.c Add: 2000-01-26 05:58:53 +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