postgresql/src/backend/parser
Bruce Momjian 01c76f7411 Ok. Updated patch attached.
- domain.patch -> source patch against pgsql in cvs
- drop_domain.sgml and create_domain.sgml -> New doc/src/sgml/ref docs

- dominfo.txt -> basic domain related queries I used for testing
[ ADDED TO /doc]

Enables domains of array elements -> CREATE DOMAIN dom int4[3][2];

Uses a typbasetype column to describe the origin of the domain.

Copies data to attnotnull rather than processing in execMain().

Some documentation differences from earlier.

If this is approved, I'll start working on pg_dump, and a \dD <domain>
option in psql, and regression tests.  I don't really feel like doing
those until the system table structure settles for pg_type.


CHECKS when added, will also be copied to to the table attributes.  FK
Constraints (if I ever figure out how) will be done similarly.  Both
will lbe handled by MergeDomainAttributes() which is called shortly
before MergeAttributes().

Rod Taylor
2002-03-06 20:35:02 +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 Change made to elog: 2002-03-06 06:10:59 +00:00
gram.y Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
keywords.c Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
Makefile Make the yacc rules safe for parallel make. See discussion on pgsql-patches 2001-11-16 16:32:33 +00:00
parse_agg.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parse_clause.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parse_coerce.c Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
parse_expr.c Ok. Updated patch attached. 2002-03-06 20:35:02 +00:00
parse_func.c A bunch of changes aimed at reducing backend startup time... 2002-02-19 20:11:20 +00:00
parse_node.c Change made to elog: 2002-03-06 06:10:59 +00:00
parse_oper.c A bunch of changes aimed at reducing backend startup time... 2002-02-19 20:11:20 +00:00
parse_relation.c Change made to elog: 2002-03-06 06:10:59 +00:00
parse_target.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
parse_type.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +00:00
parser.c New pgindent run with fixes suggested by Tom. Patch manually reviewed, 2001-11-05 17:46:40 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Change made to elog: 2002-03-06 06:10:59 +00:00
scansup.c pgindent run on all C files. Java run to follow. initdb/regression 2001-10-25 05:50:21 +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