postgresql/src/backend/parser
Bruce Momjian 460b20a43f 1) Queries using the having clause on base tables should work well
now. Here some tested features, (examples included in the patch):

1.1) Subselects in the having clause 1.2) Double nested subselects
1.3) Subselects used in the where clause and in the having clause
     simultaneously 1.4) Union Selects using having 1.5) Indexes
on the base relations are used correctly 1.6) Unallowed Queries
are prevented (e.g. qualifications in the
     having clause that belong to the where clause) 1.7) Insert
into as select

2) Queries using the having clause on view relations also work
   but there are some restrictions:

2.1) Create View as Select ... Having ...; using base tables in
the select 2.1.1) The Query rewrite system:

2.1.2) Why are only simple queries allowed against a view from 2.1)
? 2.2) Select ... from testview1, testview2, ... having...; 3) Bug
in ExecMergeJoin ??


Regards Stefan
1998-07-19 05:49:26 +00:00
..
analyze.c 1) Queries using the having clause on base tables should work well 1998-07-19 05:49:26 +00:00
gram.c 1) Queries using the having clause on base tables should work well 1998-07-19 05:49:26 +00:00
gram.y 1) Queries using the having clause on base tables should work well 1998-07-19 05:49:26 +00:00
keywords.c Add TIMEZONE_HOUR, TIMEZONE_MINUTE keywords per SQL92 specs. 1998-05-09 23:28:49 +00:00
Makefile Remove extraneous -DPARSEDEBUG from CFLAGS options. 1998-05-13 04:54:16 +00:00
parse_agg.c Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
parse_clause.c Fix for UNION selects with constant NULL expressions; e.g. 1998-07-14 03:51:42 +00:00
parse_coerce.c Allow floating point constants for "def_arg" numeric arguments. 1998-07-08 14:04:11 +00:00
parse_expr.c Change atttypmod from int16 to int32, for Thomas. 1998-07-12 21:29:40 +00:00
parse_func.c Change atttypmod from int16 to int32, for Thomas. 1998-07-12 21:29:40 +00:00
parse_node.c Change atttypmod from int16 to int32, for Thomas. 1998-07-12 21:29:40 +00:00
parse_oper.c Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
parse_relation.c Allow floating point constants for "def_arg" numeric arguments. 1998-07-08 14:04:11 +00:00
parse_target.c Change atttypmod from int16 to int32, for Thomas. 1998-07-12 21:29:40 +00:00
parse_type.c Change atttypmod from int16 to int32, for Thomas. 1998-07-12 21:29:40 +00:00
parse.h Someone remove a #define too much from pg_proc.h which breaks 1998-05-12 17:46:50 +00:00
parser.c Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
README Add Var.varlevelup to code. More parser cleanup. 1998-01-20 22:12:17 +00:00
scan.c Hi, here are the patches to enhance existing MB handling. This time 1998-06-16 07:29:54 +00:00
scan.l Hi, here are the patches to enhance existing MB handling. This time 1998-06-16 07:29:54 +00:00
scansup.c pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +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_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