Skip to content

Commit a4a9976

Browse files
committed
Add 7.0 changes to HISTORY file. This has to go into SGML eventually,
but we should get it out to beta testers.
1 parent aff830a commit a4a9976

File tree

1 file changed

+287
-0
lines changed

1 file changed

+287
-0
lines changed

HISTORY

+287
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
Chapter 0. Release Notes
33

44
Table of Contents
5+
Release 7.0
56
Release 6.5.3
67
Release 6.5.2
78
Release 6.5.1
@@ -26,6 +27,292 @@ Chapter 0. Release Notes
2627
Postgres95 Beta 0.01
2728
Timing Results
2829

30+
Release 7.0
31+
-----------
32+
33+
This release shows the continued growth of PostgreSQL. There are more
34+
updated items in 7.0 than in any previous release. Don't be concerned
35+
this is a dot-zero release. PostgreSQL does its best to put
36+
out only solid releases, and this one is no exception.
37+
38+
Major changes in this release:
39+
40+
Foreign Keys: Foreign keys are now implemented, with the exception of
41+
PARTIAL MATCH foreign keys. Many users have been asking for this
42+
feature, and we are pleased to finally offer it.
43+
44+
Optimizer Overhaul: Continuing on work started a year ago, the
45+
optimizer has been overhauled in many significant ways, allowing better
46+
query execution processing with faster performance and less memory
47+
usage.
48+
49+
Updated psql: psql, our interactive terminal monitor, has been updated,
50+
with a variety of new features. See the psql manual page for the details.
51+
52+
Upcoming Features: In 7.1, we plan to have outer joins, storage for very long
53+
rows, and a write-ahead logging system.
54+
55+
Bug Fixes
56+
---------
57+
Prevent function calls with more than maximum number of arguments (Tom)
58+
Many fixes for CASE (Tom)
59+
Many array fixes (Tom)
60+
Fix SELECT coalesce(f1,0) FROM int4_tbl GROUP BY f1 (Tom)
61+
Fix SELECT sentence.words[0] FROM sentence GROUP BY sentence.words[0] (Tom)
62+
Allow utility statements in plpgsql (Tom)
63+
Fix GROUP BY scan bug (Tom)
64+
Optimize btree searching for cases where many equal keys exist (Tom)
65+
Allow bare column names to be subscripted as arrays (Tom)
66+
Improvements in SQL grammar processing(Tom)
67+
Fix for views involved in INSERT ... SELECT ... (Tom)
68+
Fix for SELECT a/2, a/2 FROM test_missing_target GROUP BY a/2 (Tom)
69+
Fix for subselects in INSERT ... SELECT (Tom)
70+
Prevent INSERT ... SELECT ... ORDER BY (Tom)
71+
Improve type casting of int and float constants (Tom)
72+
Cleanups for int8 inputs, range checking, and type conversion (Tom)
73+
Fix for SELECT timespan('21:11:26'::time) (Tom)
74+
Fixes for relations greater than 2GB, including vacuum
75+
Improve communication of system table changes to other running backends (Tom)
76+
Improve communication of user table modifications to other running backends (Tom)
77+
Fix handling of temp tables in complex situations (Bruce, Tom)
78+
Disallow DROP TABLE/DROP INDEX inside a transaction block
79+
Prevent exponential space consumption with many AND's and OR's (Tom)
80+
Collect attribute selectivity values for system columns (Tom)
81+
Allow table locking when tables opened, improving concurrent reliability (Tom)
82+
Fix for netmask('x.x.x.x/0') is 255.255.255.255 instead of 0.0.0.0
83+
(Oleg Sharoiko)
84+
Properly quote sequence names in pg_dump (Ross J. Reedstrom)
85+
Prevent DESTROY DATABASE while others accessing
86+
Prevent any rows from being returned by GROUP BY if no rows processed (Tom)
87+
Reduce memory usage of aggregates (Tom)
88+
Fix SELECT COUNT(1) FROM table WHERE ...' if no rows matching WHERE (Tom)
89+
Fix pg_upgrade so it works for MVCC(Tom)
90+
Add nbtree operator class for NUMERIC(Jan)
91+
Fix for SELECT ... WHERE x IN (SELECT ... HAVING SUM(x) > 1) (Tom)
92+
Make TABLE optional keyword in LOCK TABLE (Bruce)
93+
Fix for "f1 datetime default 'now'" (Tom)
94+
Allow comment-only lines, and ;;; lines too. (Tom)
95+
Improve recovery after failed disk writes, disk full (Hiroshi)
96+
Fix cases where table is mentioned in FROM but not joined (Tom)
97+
Allow HAVING clause without aggregate functions (Tom)
98+
Fix for "--" comment and no trailing newline, as seen in Perl
99+
Improve pg_dump failure error reports (Bruce)
100+
Perl fix for large objects containing NUL characters (Douglas Thomson)
101+
Allow sorts and hashes to exceed 2GB file sizes (Tom)
102+
ODBC fix for for large objects (free)
103+
Fix for pg_dump dumping of inherited rules (Tom)
104+
Fix for NULL handling comparisons (Tom)
105+
Fix inconsistent state caused by failed CREATE/DROP commands (Hiroshi)
106+
Fix for dbname with dash
107+
Fix problems with CURRENT_DATE used in DEFAULT (Tom)
108+
Prevent DROP INDEX from interfering with other backends (Tom)
109+
Fix file descriptor leak in verify_password()
110+
Fix for "Unable to identify an operator =$" problem
111+
Fix ODBC so no segfault if CommLog and Debug enabled (Dirk Niggemann)
112+
Fix for recursive exit call (Massimo)
113+
Fix indexing of cidr
114+
Fix for extra-long timezones (Jeroen van Vianen)
115+
Make pg_dump preserve primary key information (Peter E)
116+
Prevent databases with single quotes (Peter E)
117+
Prevent DROP DATABASE inside transaction (Peter E)
118+
ecpg memory leak fixes (Stephen Birch)
119+
Fix for Ethernet MAC addresses (macaddr type) comparisons
120+
Fix for SELECT null::text, SELECT int4fac(null) and SELECT 2 + (null) (Tom)
121+
Fix for LIKE optimization to use indexes with multi-byte encodings (Tom)
122+
Y2K timestamp fix (Massimo)
123+
Fix for date/time types when overflows happened in computations (Tom)
124+
Fix for VACUUM 'HEAP_MOVED_IN was not expected' errors (Tom)
125+
Fix for views with tables/columns containing spaces (Tom)
126+
Allow array on int8 (Peter E)
127+
Prevent permissions on indexes (Peter E)
128+
Fix for rounding/overflow of NUMERIC type, like NUMERIC(4,4) (Tom)
129+
Fix for spinlock stuck problem when error is generated (Hiroshi)
130+
Allow NUMERIC arrays
131+
Fix ipcclean on Linux
132+
Fix handling of NULL constraint conditions (Tom)
133+
Fix bugs in NUMERIC ceil() and floor() functions (Tom)
134+
Make char_length()/octet_length including trailing blanks (Tom)
135+
Made abstime/reltime use int4 instead of time_t (Peter E)
136+
Fix memory leak in odbc driver (Nick Gorham)
137+
Fix r-tree index optimizer selectivity (Thomas)
138+
139+
Enhancements
140+
------------
141+
New CLI interface include file sqlcli.h, based on SQL3/SQL98
142+
Remove all limits on query length, row length limit still exists (Tom)
143+
Improve optimizer selectivity computations and functions (Tom)
144+
Enable fast LIKE index processing only if index present (Tom)
145+
Revise parse_coerce() to handle coercion of int and float constants (Tom)
146+
Re-use free space on index pages with duplicates (Tom)
147+
Improve hash join processing (Tom)
148+
Prevent descending sort if result is already sorted(Hiroshi)
149+
Allow commuting of index scan query qualifications (Tom)
150+
Prefer index scans in cases where ORDER BY/GROUP BY is required (Tom)
151+
Allocate large memory requests in fix-sized chunks for performance (Tom)
152+
Fix vacuum's performance by reducing memory allocation requests (Tom)
153+
Update jdbc protocol to 2.0 (Jens Glaser [email protected])
154+
Add TRUNCATE command to quickly truncate relation (Mike Mascari)
155+
Implement constant-expression simplification (Bernard Frankpitt, Tom)
156+
Fix to give super user and createdb user proper update catalog rights (Peter E)
157+
Allow more than first column to be used to determine start of index scan
158+
(Hiroshi)
159+
Allow ecpg bool variables to have NULL values (Christof)
160+
Issue ecpg error if NULL value is returned to variable with no NULL
161+
indicator (Christof)
162+
Allow ^C to cancel COPY command (Massimo)
163+
Add SET FSYNC and SHOW PG_OPTIONS commands(Massimo)
164+
Improve CREATE FUNCTION to allow type conversion specification
165+
(Bernie Frankpitt)
166+
Add CmdTuples() to libpq++(Vince)
167+
New CREATE CONSTRAINT TRIGGER and SET CONSTRAINTS commands(Jan)
168+
Allow CREATE FUNCTION WITH clause to be used for all language types
169+
configure --enable-debug adds -g (Peter E)
170+
configure --disable-debug removes -g (Peter E)
171+
Allow more complex default expressions (Tom)
172+
First real FOREIGN KEY constraint trigger functionality (Jan)
173+
Add FOREIGN KEY ... MATCH FULL ... ON DELETE CASCADE (Jan)
174+
Add FOREIGN KEY ... MATCH <unspecified> referential actions (Don Baccus)
175+
Allow WHERE restriction on ctid (physical heap location) (Hiroshi)
176+
Move pginterface from contrib to interface directory, rename to pgeasy (Bruce)
177+
Add DEC and SESSION_USER as reserved words
178+
Prevent quadruple use of disk space when doing internal sorting (Tom)
179+
Require SELECT DISTINCT target list to have all ORDER BY columns (Tom)
180+
Add Oracle's COMMENT ON command (Mike Mascari <mascarim@yahoo.
181+
libpq's PQsetNoticeProcessor function now returns previous hook(Peter E)
182+
Prevent PQsetNoticeProcessor from being set to NULL (Peter E)
183+
Make USING in COPY optional (Bruce)
184+
Faster sorting by calling fewer functions (Tom)
185+
Create system indexes to match all system caches(Bruce, Hiroshi)
186+
Make system caches use system indexes(Bruce)
187+
Make all system indexes unique(Bruce)
188+
Allow subselects in the target list (Tom)
189+
Allow subselects on the left side of comparison operators (Tom)
190+
New parallel regression test (Jan)
191+
Change backend-side COPY to write files with permissions 644 not 666 (Tom)
192+
Force permissions on PGDATA directory to be secure, even if it exists (Tom)
193+
Added psql LastOid variable to return last inserted oid (Peter E)
194+
Improve pg_statistics management for VACUUM speed improvement (Tom)
195+
Allow concurrent vacuum and remove pg_vlock vacuum lock file (Tom)
196+
Add permissions check so only Postgres superuser or table owner can
197+
vacuum (Peter E)
198+
New C-routines to implement a BIT and BIT VARYING type in /contrib
199+
(Adriaan Joubert)
200+
New libpq functions to allow asynchronous connections: PQconnectStart(),
201+
PQconnectPoll(), PQresetStart(), PQresetPoll(), PQsetenvStart(),
202+
PQsetenvPoll(), PQsetenvAbort (Ewan Mellor)
203+
New libpq PQsetenv() function (Ewan Mellor)
204+
create/alter user extension (Peter E)
205+
New postmaster.pid and postmaster.opts under $PGDATA (Tatsuo)
206+
New scripts for create/drop user/db (Peter E)
207+
Major psql overhaul(Peter E)
208+
Add const to libpq interface(Peter E)
209+
New libpq function PQoidValue (Peter E)
210+
Show specific non-aggregate causing problem with GROUP BY (Tom)
211+
Force changes to pg_shadow recreate pg_pwd file (Peter E)
212+
Add aggregate(DISTINCT ...) (Tom)
213+
Allow flag to control COPY input/output of NULLs (Peter E)
214+
Make postgres user have a password by default (Peter E)
215+
Add CREATE/ALTER/DROP GROUP (Peter E)
216+
All administration scripts now support --long options (Peter E, Karel)
217+
Vacuumdb script now supports --alldb option (Peter E)
218+
ecpg new portable FETCH syntax
219+
Add ecpg EXEC SQL IFDEF, EXEC SQL IFNDEF, EXEC SQL ELSE, EXEC SQL ELIF
220+
and EXEC SQL ENDIF directives
221+
Add pg_ctl script to control backend startup (Tatsuo)
222+
Add postmaster.opts.default file to store startup flags (Tatsuo)
223+
Allow --with-mb=SQL_ASCII
224+
Increase maximum number of index keys to 16 (Bruce)
225+
Increase maximum number of function arguments to 16 (Bruce)
226+
Allow user configuration of maximum number of index keys and arguments
227+
(Bruce)
228+
Flush backend cache less frequently (Tom, Hiroshi)
229+
Allow unprivileged users to change their passwords (Peter E)
230+
With password authentication enabled, new users without passwords can't
231+
connect (Peter E)
232+
Disallow dropping a user who owns a database (Peter E)
233+
Add initdb --enable-multibyte option (Peter E)
234+
Add option for initdb to prompts for superuser password (Peter E)
235+
COPY now reuses previous memory allocation, improving performance (Tom)
236+
Allow complex type casts like col::numeric(9,2) and col::int2::float8 (Tom)
237+
Updated user interfaces on initdb, initlocation, pg_dump, ipcclean
238+
(Peter E)
239+
NUMERIC now accepts scientific notation (Tom)
240+
NUMERIC to int4 rounds (Tom)
241+
Convert float4/8 to NUMERIC properly (Tom)
242+
New pg_char_to_encoding() and pg_encoding_to_char() functions
243+
Libpq non-blocking mode (Alfred Perlstein)
244+
Improve conversion of types in casts that don't specify a length
245+
New plperl internal programming language (Mark Hollomon)
246+
Allow COPY IN to read file that do not end with a newline (Tom)
247+
Improve optimization cost estimation (Tom)
248+
Indicate when long identifiers are truncated (Tom)
249+
Improve optimizer estimate of range queries x > lowbound AND x < highbound (Tom)
250+
Allow aggregates to use type equivalency (Peter E)
251+
Add Oracle's to_char(), to_date(), to_datetime(), to_timestamp(), to_number()
252+
conversion functions (Karel Zak <[email protected]>)
253+
Add SELECT DISTINCT ON (expr [, expr ...]) targetlist ... (Tom)
254+
Check to be sure ORDER BY is compatible with the DISTINCT operation (Tom)
255+
Use DNF instead of CNF where appropriate (Tom, Taral)
256+
Add NUMERIC and int8 types to ODBC
257+
Improve EXPLAIN results for Append, Group, Agg, Unique (Tom)
258+
Added ALTER TABLE ... ADD FOREIGN KEY (Stephan Szabo)
259+
Further cleanup for OR-of-AND WHERE-clauses (Tom)
260+
Make use of index in OR clauses (x = 1 AND y = 2) OR (x = 2 AND y = 4) (Tom)
261+
Allow SELECT .. FOR UPDATE in PL/pgSQL (Hiroshi)
262+
Enable backward sequential scan even after reaching EOF (Hiroshi)
263+
Add btree indexing of boolean values, >= and <= (Don Baccus)
264+
Print current line number when COPY FROM fails (Massimo)
265+
Recognize special case of POSIX time zone: "GMT+8" and "GMT-8" (Thomas)
266+
Add "DEC" as synonym for "DECIMAL (Thomas)
267+
Add "SESSION_USER" as SQL92 keyword, same as CURRENT_USER (Thomas)
268+
Implement column aliases (aka correlation names) and more join syntax
269+
(Thomas)
270+
Allow queries like SELECT a FROM t1 tx (a) (Thomas)
271+
Allow queries like SELECT * FROM t1 NATURAL JOIN t2 (Thomas)
272+
Smarter optimizer computations for random index page access (Tom)
273+
New SET variable to control optimizer costs (Tom)
274+
Optimizer queries based on LIMIT, OFFSET, and EXISTS qualifications (Tom)
275+
Reduce optimizer internal housekeeping of join paths for speedup (Tom)
276+
Make "INTERVAL" reserved word allowed as a column identifier (Thomas)
277+
Allow type conversion with NUMERIC (Thomas)
278+
Make ISO date style (2000-02-16 09:33) the default (Thomas)
279+
Implement REINDEX command (Hiroshi)
280+
Accept ALL in aggregate function SUM(ALL col) (Tom)
281+
Prevent GROUP BY from using column aliases (Tom)
282+
New psql \encoding option (Tatsuo)
283+
Allow PQrequestCancel() to terminate when in waiting-for-lock state (Hiroshi)
284+
Allow negation of a negative number in all cases
285+
Add ecpg descriptors
286+
Allow CREATE VIEW v AS SELECT f1::char(8) FROM tbl
287+
288+
Source Tree Changes
289+
-------------------
290+
Fix for linux PPC compile
291+
New generic expression-tree-walker subroutine (Tom)
292+
Change form() to varargform() to prevent portability problems.
293+
Improved range checking for large integers on Alpha's
294+
Clean up #include in /include directory (Bruce)
295+
Add scripts for checking includes (Bruce)
296+
Remove un-needed #include's from *.c files (Bruce)
297+
Change #include's to use <> and "" as appropriate (Bruce)
298+
Enable WIN32 compilation of libpq
299+
Alpha spinlock fix from Uncle George <[email protected]>
300+
Overhaul of optimizer data structures (Tom)
301+
Fix to cygipc library (Yutaka Tanida)
302+
Allow pgsql to work on newer Cygwin snapshots(Dan)
303+
New catalog version number (Tom)
304+
Add Linux ARM.
305+
Rename heap_replace to heap_update
306+
Update for QNX (Kardos, Dr. Andrea)
307+
New platform-specific regression handling (Tom)
308+
Rename oid8 -> oidvector and int28 -> int2vector (Bruce)
309+
Included all yacc and lex files into the distribution (Peter E.)
310+
Remove lextest, no longer needed (Peter E)
311+
Fix for libpq and psql on Win32 (Magnus)
312+
Internally change datetime and timespan into timestamp and interval (Thomas)
313+
Fix for plpgsql on BSDI
314+
315+
29316
Release 6.5.3
30317

31318
This is basically a cleanup release for 6.5.2. We have added a new pgaccess

0 commit comments

Comments
 (0)