Update for 6.3 release.
This commit is contained in:
parent
4af1e537d6
commit
8afae11406
5
HISTORY
5
HISTORY
@ -7,9 +7,6 @@ previous releases of PostgreSQL.
|
||||
* The migration/6.2.1_to_6.3 file contains a detailed description
|
||||
* of the feature changes in this release, and is recommended reading.
|
||||
|
||||
CHANGES IN THE 6.3 RELEASE
|
||||
--------------------------
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
Fix binary cursors broken by MOVE implementation(Vadim)
|
||||
@ -43,6 +40,8 @@ Allow multiple-argument functions in constraint clauses(Thomas)
|
||||
Check boolean input literals for 'true','false','yes','no','1','0'
|
||||
and throw elog(ERROR) if unrecognized(Thomas)
|
||||
Major large objects fix
|
||||
Fix for GROUP BY showing duplicates(Vadim)
|
||||
Fix for index scans in MergeJion(Vadim)
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
|
76
doc/TODO
76
doc/TODO
@ -1,6 +1,6 @@
|
||||
TODO list for PostgreSQL
|
||||
========================
|
||||
Last updated: Fri Feb 27 13:32:53 EST 1998
|
||||
Last updated: Sat Feb 28 10:00:29 EST 1998
|
||||
|
||||
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
|
||||
|
||||
@ -64,8 +64,7 @@ RELIABILITY
|
||||
* Overhaul bufmgr/lockmgr/transaction manager
|
||||
* -Fix CLUSTER
|
||||
* Remove EXTEND?
|
||||
* -Aggregates on VIEW always returns zero (maybe because there is no oid for vi
|
||||
ews?)
|
||||
* -Aggregates on VIEW always returns zero (maybe because there is no oid for views?)
|
||||
* CREATE VIEW requires super-user priviledge
|
||||
* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
|
||||
* Tables that start with xinv confused to be large objects
|
||||
@ -148,8 +147,7 @@ ENHANCEMENTS
|
||||
* add UNIQUE capability to non-btree indexes
|
||||
* make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId
|
||||
* certain indexes will not shrink, i.e. oid indexes with many inserts
|
||||
* make NULL's come out at the beginning or end depending on the ORDER BY direct
|
||||
ion
|
||||
* make NULL's come out at the beginning or end depending on the ORDER BY direction
|
||||
* change the library/backend interface to use network byte order
|
||||
* -allow unix domain sockets for local connections for performance and security
|
||||
* -Add PAGER for psql's \dt, \d, \z tablename
|
||||
@ -182,8 +180,7 @@ ion
|
||||
PERFORMANCE
|
||||
-----------
|
||||
* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
|
||||
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not
|
||||
first
|
||||
* -Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
|
||||
* Optimizing disjunctive queries
|
||||
* Fix bushy-plans (Martin)
|
||||
* Other optimizer bugs
|
||||
@ -212,6 +209,59 @@ DOCUMENTATION
|
||||
CHANGES IN THE 6.3 RELEASE
|
||||
--------------------------
|
||||
|
||||
There are some general 6.3 issues that I want to mention. These are
|
||||
only the big items that can not be described in one sentence.
|
||||
|
||||
First, we now have subselects. Now that we have them, I would like to
|
||||
mention that without subselects, SQL is a very limited language.
|
||||
Subselects are a major feature, and you should review your code for
|
||||
places where subselects provide a better solution for your queries. I
|
||||
think you will find that there are more uses for subselects than you may
|
||||
think. Vadim has put us on the big SQL map with subselects, and fully
|
||||
functional ones too. The only thing you can't do with subselects is to
|
||||
use them in the target list.
|
||||
|
||||
Second, 6.3 uses unix domain sockets rather than TCP/IP by default. To
|
||||
enable connections from other machines, you have to use the new
|
||||
postmaster -i option, and of course edit pg_hba.conf. Also, for this
|
||||
reason, the format of pg_hba.conf has changed.
|
||||
|
||||
Third, char() fields will now allow faster access than varchar() or
|
||||
text. Specifically, the text and varchar() have a penalty for access to
|
||||
any columns after the first column of this type. char() used to also
|
||||
have this access penalty, but it no longer does. This may suggest that
|
||||
you redesign some of your tables, especially if you have short character
|
||||
columns that you have defined as varchar() or text. This and other
|
||||
changes make 6.3 even faster than earlier releases.
|
||||
|
||||
We now have passwords definable independent of any Unix file. There are
|
||||
new SQL USER commands. See the pg_hba.conf manual page for more
|
||||
information. There is a new table, pg_shadow, which is used to store
|
||||
user information and user passwords, and it by default only SELECT-able
|
||||
by the postgres super-user. pg_user is now a view of pg_shadow, and is
|
||||
SELECT-able by PUBLIC. You should keep using pg_user in your
|
||||
application without changes.
|
||||
|
||||
User-created tables now no longer have SELECT permission to PUBLIC by
|
||||
default. This was done because the ANSI standard requires it. You can
|
||||
of course GRANT any permissions you want after the table is created.
|
||||
System tables continue to be SELECT-able by PUBLIC.
|
||||
|
||||
We also have real deadlock detection code. No more sixty-second
|
||||
timeouts. And the new locking code implements a FIFO better, so there
|
||||
should be less resource starvation during heavy use. For performance
|
||||
reasons, time travel is gone, but can be implemented using triggers (see
|
||||
pgsql/contrib/spi/README). Please check out the new \d command for
|
||||
types, operators, etc. Also, views have their own permissions now, not
|
||||
based on the underlying tables, so permissions on them have to be set
|
||||
separately. Check /pgsql/interfaces for some new ways to talk to
|
||||
PostgreSQL.
|
||||
|
||||
This is the first release that really required an explaination for
|
||||
existing users. In many ways, this was necessary because the new
|
||||
release removes many limitations, and the work-arounds people were using
|
||||
are no longer needed.
|
||||
|
||||
Bug Fixes
|
||||
---------
|
||||
Fix binary cursors broken by MOVE implementation(Vadim)
|
||||
@ -245,6 +295,8 @@ Allow multiple-argument functions in constraint clauses(Thomas)
|
||||
Check boolean input literals for 'true','false','yes','no','1','0'
|
||||
and throw elog(ERROR) if unrecognized(Thomas)
|
||||
Major large objects fix
|
||||
Fix for GROUP BY showing duplicates(Vadim)
|
||||
Fix for index scans in MergeJion(Vadim)
|
||||
|
||||
Enhancements
|
||||
------------
|
||||
@ -257,15 +309,13 @@ Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
|
||||
Modify constraint syntax to be SQL92-compliant(Thomas)
|
||||
Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
|
||||
Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas)
|
||||
Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas
|
||||
)
|
||||
Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
|
||||
Allow Postgres-style casting ("::") of non-constants(Thomas)
|
||||
Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
|
||||
Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
|
||||
Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
|
||||
Allow SQL92 delimited identifiers(Thomas)
|
||||
Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas
|
||||
)
|
||||
Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
|
||||
Support SQL92 syntax for type coercion of literal strings
|
||||
(e.g. "DATETIME 'now'")(Thomas)
|
||||
Add conversions for int2, int4, and OID types to and from text(Thomas)
|
||||
@ -287,8 +337,7 @@ Augment support for SQL92 SET TIME ZONE...(Thomas)
|
||||
SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
|
||||
Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
|
||||
Enable SET TIME ZONE using TZ environment variable(Thomas)
|
||||
Add PGDATESTYLE environment variable to frontend and backend initialization(Tho
|
||||
mas)
|
||||
Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
|
||||
Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
|
||||
frontend library initialization environment variables(Thomas)
|
||||
Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
|
||||
@ -377,4 +426,3 @@ Start a Cygnus port
|
||||
Add string functions to regression suite(Thomas)
|
||||
Expand a few function names formerly truncated to 16 characters(Thomas)
|
||||
Remove un-needed malloc() calls and replace with palloc()(Bruce)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user