postgresql/src/backend/parser
Tom Lane f933766ba7 Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in
pgsql-hackers.  pg_opclass now has a row for each opclass supported by each
index AM, not a row for each opclass name.  This allows pg_opclass to show
directly whether an AM supports an opclass, and furthermore makes it possible
to store additional information about an opclass that might be AM-dependent.
pg_opclass and pg_amop now store "lossy" and "haskeytype" information that we
previously expected the user to remember to provide in CREATE INDEX commands.
Lossiness is no longer an index-level property, but is associated with the
use of a particular operator in a particular index opclass.

Along the way, IndexSupportInitialize now uses the syscaches to retrieve
pg_amop and pg_amproc entries.  I find this reduces backend launch time by
about ten percent, at the cost of a couple more special cases in catcache.c's
IndexScanOK.

Initial work by Oleg Bartunov and Teodor Sigaev, further hacking by Tom Lane.

initdb forced.
2001-08-21 16:36:06 +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 Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in 2001-08-21 16:36:06 +00:00
gram.y Restructure pg_opclass, pg_amop, and pg_amproc per previous discussions in 2001-08-21 16:36:06 +00:00
keywords.c Sequences are now based on int8, not int4, arithmetic. SERIAL pseudo-type 2001-08-16 20:38:56 +00:00
Makefile No longer a need for -Wno-error 2001-08-09 18:13:23 +00:00
parse_agg.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_clause.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_coerce.c Back out BYTEA binary compatibility changes. 2001-06-24 02:41:21 +00:00
parse_expr.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_func.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_node.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_oper.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_relation.c Make OIDs optional, per discussions in pghackers. WITH OIDS is still the 2001-08-10 18:57:42 +00:00
parse_target.c Use format_type sibling in backend error messages, so the user sees 2001-08-09 18:28:18 +00:00
parse_type.c pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
parser.c pgindent run. Make it all clean. 2001-03-22 04:01:46 +00:00
README cleanup 1998-08-23 14:43:46 +00:00
scan.l Fix Joubert's complaint that int8-sized numeric literals are mishandled 2001-03-22 17:41:47 +00:00
scansup.c Change Copyright from PostgreSQL, Inc to PostgreSQL Global Development Group. 2001-01-24 19:43:33 +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