postgresql/src/backend/parser
Tom Lane 23347231a5 Tweak the API for per-datatype typmodin functions so that they are passed
an array of strings rather than an array of integers, and allow any simple
constant or identifier to be used in typmods; for example
	create table foo (f1 widget(42,'23skidoo',point));
Of course the typmodin function has still got to pack this info into a
non-negative int32 for storage, but it's still a useful improvement in
flexibility, especially considering that you can do nearly anything if you
are willing to keep the info in a side table.  We can get away with this
change since we have not yet released a version providing user-definable
typmods.  Per discussion.
2007-06-15 20:56:52 +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 Support UPDATE/DELETE WHERE CURRENT OF cursor_name, per SQL standard. 2007-06-11 01:16:30 +00:00
gram.y Tweak the API for per-datatype typmodin functions so that they are passed 2007-06-15 20:56:52 +00:00
keywords.c Support UPDATE/DELETE WHERE CURRENT OF cursor_name, per SQL standard. 2007-06-11 01:16:30 +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 Fix up text concatenation so that it accepts all the reasonable cases that 2007-06-06 23:00:50 +00:00
parse_clause.c Modify processing of DECLARE CURSOR and EXPLAIN so that they can resolve the 2007-04-27 22:05:49 +00:00
parse_coerce.c Fix up text concatenation so that it accepts all the reasonable cases that 2007-06-06 23:00:50 +00:00
parse_expr.c Improve UPDATE/DELETE WHERE CURRENT OF so that they can be used from plpgsql 2007-06-11 22:22:42 +00:00
parse_func.c Fix up text concatenation so that it accepts all the reasonable cases that 2007-06-06 23:00:50 +00:00
parse_node.c Fix up the remaining places where the expression node structure would lose 2007-03-17 00:11:05 +00:00
parse_oper.c Support enum data types. Along the way, use macros for the values of 2007-04-02 03:49:42 +00:00
parse_relation.c Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
parse_target.c Implement XMLSERIALIZE for real. Analogously, make the xml to text cast 2007-02-03 14:06:56 +00:00
parse_type.c Tweak the API for per-datatype typmodin functions so that they are passed 2007-06-15 20:56:52 +00:00
parser.c Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LAST 2007-01-09 02:14:16 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +00:00
scansup.c Update CVS HEAD for 2007 copyright. Back branches are typically not 2007-01-05 22:20:05 +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