Commit Graph

81 Commits

Author SHA1 Message Date
Thomas G. Lockhart
7ff198cd46 Support SERIAL column type. Expand column marked is_sequence into three
statements:
 - the table definition with a default clause referencing the sequence;
 - a CREATE SEQUENCE statement;
 - a UNIQUE constraint, which expands into a CREATE INDEX statement.
This is not a perfect solution, since the sequence will remain even if
 the table is dropped. Also, there is no absolute protection on updating
 the sequence column.
1998-08-25 15:08:12 +00:00
Marc G. Fournier
338c54cbc1 From: Jan Wieck <jwieck@debis.com>
Hi,

    as  proposed here comes the first patch for the query rewrite
    system.

  <for details, see archive dated Mon, 17 Aug 1998>
1998-08-18 00:49:04 +00:00
Bruce Momjian
1d00134be4 makeTargetEntry cleanup. 1998-07-20 20:48:54 +00:00
Bruce Momjian
3dd2eabc53 Cleanup makeTargetEntry and remove internal.c. 1998-07-20 19:53:53 +00:00
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
Thomas G. Lockhart
6222292582 Fix up a couple of comments broken by the automatic indenting process. 1998-05-29 13:39:30 +00:00
Thomas G. Lockhart
3ace5fd082 Add capabilities for automatic type conversion. 1998-05-09 23:31:34 +00:00
Bruce Momjian
8dc48ba877 Small HAVING cleanup. 1998-03-31 23:31:10 +00:00
Bruce Momjian
9a0dd4fb18 There's a patch attached to fix gcc 2.8.x warnings, except for the
yyerror ones from bison. It also includes a few 'enhancements' to
the C programming style (which are, of course, personal).

The other patch removes the compilation of backend/lib/qsort.c, as
qsort() is a standard function in stdlib.h and can be used any
where else (and it is). It was only used in
backend/optimizer/geqo/geqo_pool.c, backend/optimizer/path/predmig.c,
and backend/storage/page/bufpage.c

> > Some or all of these changes might not be appropriate for v6.3,
since we > > are in beta testing and since they do not affect the
current functionality.  > > For those cases, how about submitting
patches based on the final v6.3 > > release?

There's more to come. Please review these patches. I ran the
regression tests and they only failed where this was expected
(random, geo, etc).

Cheers,

Jeroen
1998-03-30 16:47:35 +00:00
Bruce Momjian
c579ce0fb0 I started adding the Having Clause and it works quite fine for
sequential scans! (I think it will also work with hash, index, etc
but I did not check it out! I made some High level changes which
should work for all access methods, but maybe I'm wrong. Please
let me know.)

Now it is possible to make queries like:

select s.sname, max(p.pid), min(p.pid) from part p, supplier s
where s.sid=p.sid group by s.sname having max(pid)=6 and min(pid)=1
or avg(pid)=4;

Having does not work yet for queries that contain a subselect
statement in the Having clause, I'll try to fix this in the next
days.

If there are some bugs, please let me know, I'll start to read the
mailinglists now!

Now here is the patch against the original 6.3 version (no snapshot!!):

Stefan
1998-03-30 16:36:43 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Bruce Momjian
2c482cdbf2 Pass attypmod through to executor by adding to Var and Resdom. 1998-02-10 04:02:59 +00:00
Bruce Momjian
b20fd6c42d FIx hasSubLinks for Vadim. 1998-02-06 16:46:29 +00:00
Bruce Momjian
7f31669bea Add Var.varlevelup to code. More parser cleanup. 1998-01-20 22:12:17 +00:00
Bruce Momjian
412a5e6539 Parser cleanup.
Add lock to i386 asm.
1998-01-20 05:05:08 +00:00
Bruce Momjian
588867bd7b Create SubLink nodes in parser for Vadim. 1998-01-19 05:06:41 +00:00
Bruce Momjian
763ff8aef8 Remove Query->qry_aggs and qry_numaggs and replace with Query->hasAggs.
Pass List* of Aggregs into executor, and create needed array there.
No longer need to double-processs Aggregs with second copy in Query.

Fix crash when doing:

	select sum(x+1) from test where 1 > 0;
1998-01-15 19:00:16 +00:00
Bruce Momjian
600c958a30 Add UNION, GROUP, DISTINCT to INSERT. 1998-01-11 03:41:57 +00:00
Bruce Momjian
e6c714bf30 Bye CursorStmt, now use SelectStmt. 1998-01-10 04:30:11 +00:00
Bruce Momjian
3d15d1332a Remove old quel labels. 1998-01-09 20:06:08 +00:00
Bruce Momjian
0d9fc5afd6 Change elog(WARN) to elog(ERROR) and elog(ABORT). 1998-01-05 03:35:55 +00:00
Bruce Momjian
a544b605e2 Change some mallocs to palloc. 1997-12-29 05:13:57 +00:00
Bruce Momjian
a1dd409053 Fix for ORDER BY in UNION. 1997-12-29 04:31:50 +00:00
Bruce Momjian
a01b085c78 Cleanup of UNION ALL fix. Manual page updates. 1997-12-29 01:13:37 +00:00
Bruce Momjian
4ce24c8aa9 UNION work for UNION ALL and other union stuff. 1997-12-27 06:41:41 +00:00
Bruce Momjian
6231e161c9 Implementation of UNIONs. 1997-12-24 06:06:58 +00:00
Thomas G. Lockhart
8ed721ffef Change variable name reference from selectClause to more appropriate unionClause.
Add a few lines of test code playing with the unique flag for unions.
 Does not do much helpful yet.
1997-12-23 19:39:42 +00:00
Thomas G. Lockhart
640fe03bcf Improve (well, ok, fix) generated constraint name for column CHECK clause. 1997-12-16 15:45:46 +00:00
Thomas G. Lockhart
2ac4cf5502 Add information message about implicitly created indices.
Check for duplicate implicit index names and generate unique names.
1997-12-09 01:44:14 +00:00
Thomas G. Lockhart
1ac4ae4993 Add SQL92-compliant syntax for constraints.
Implement PRIMARY KEY and UNIQUE clauses using indices.
1997-12-04 23:07:23 +00:00
Bruce Momjian
598e86f3b3 Cleanup up include files. 1997-11-26 01:14:33 +00:00
Bruce Momjian
4a5b781d71 Break parser functions into smaller files, group together. 1997-11-25 22:07:18 +00:00
Bruce Momjian
e9e1ff226f Remove all time travel stuff. Small parser cleanup. 1997-11-20 23:24:03 +00:00
Thomas G. Lockhart
0175759e17 Fix up elog messages for consistant usage of quotes around arguments. 1997-10-30 16:34:22 +00:00
Bruce Momjian
f3af1368bd Rename strNcpy to StrNCpy, and change third parameter. 1997-10-25 01:10:58 +00:00
Vadim B. Mikheev
9b10d6ffda Ignore copies of columns specified in ORDER/GROUP BY 1997-10-16 06:58:38 +00:00
Vadim B. Mikheev
defb10a450 DEFAULT is handled by analyze.c now. 1997-10-12 07:09:20 +00:00
Bruce Momjian
3f365ba0fc Inline memset() as MemSet(). 1997-09-18 20:22:58 +00:00
Vadim B. Mikheev
4948a51d74 Convert sequence names tolower. 1997-09-18 14:32:15 +00:00
Bruce Momjian
59f6a57e59 Used modified version of indent that understands over 100 typedefs. 1997-09-08 21:56:23 +00:00
Bruce Momjian
075cede748 Add typdefs to pgindent run. 1997-09-08 20:59:27 +00:00
Bruce Momjian
319dbfa736 Another PGINDENT run that changes variable indenting and case label indenting. Also static variable indenting. 1997-09-08 02:41:22 +00:00
Bruce Momjian
1ccd423235 Massive commit to run PGINDENT on all *.c and *.h files. 1997-09-07 05:04:48 +00:00
Bruce Momjian
ae50c8d84b Cleanups needed for indent. 1997-09-05 19:32:44 +00:00
Bruce Momjian
a1635450b3 Cleanups needed for indent. Remove }; 1997-09-05 18:13:45 +00:00
Thomas G. Lockhart
05cdb99bfb Add detection and warnings for UNION and HAVING clauses.
Generate non-fatal warning only and proceed by ignoring clauses.
1997-09-01 05:56:34 +00:00
Bruce Momjian
3dd23aadf0 Allow functions and operators on internally-identical types to succeed. 1997-08-22 00:02:19 +00:00
Bruce Momjian
1d8bbfd2e7 Make functions static where possible, enclose unused functions in #ifdef NOT_USED. 1997-08-19 21:40:56 +00:00
Bruce Momjian
b99c63cfc0 Now that names are null terminated, no need to do all that NAMEDATALEN stuff. 1997-08-18 20:53:48 +00:00
Bruce Momjian
ea5b5357cd Remove more (void) and fix -Wall warnings. 1997-08-12 22:55:25 +00:00