Features list
Attached is the up-to-date 6.4 features list.
I will keep this up-to-date, until the final release.
---------------------------------------------------------------------------
CHANGES IN THE 6.4 RELEASE
--------------------------
Bug Fixes
---------
Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
Remove char2-16 data types, use char/varchar(Darren)
Pqfn not handles a NOTICE message(Anders)
Short-term locks now retry locking at random times(David)
Fix up "ISO-style" timespan decoding and encoding(Thomas)
Fix problem with table drop after rollback of transaction(Vadim)
Change error message and remove non-functional update message(Vadim)
Fix for COPY array checking
Fix for SELECT 1 UNION SELECT NULL
Fix for buffer leaks in large object calls(Pascal)
Change owner from oid to int4 type(Bruce)
Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
Fix for usernames longer than eight characters(Tom)
Fix for shared invalidation cache overflow(Massimo)
Prevent file descriptor leaks in failed COPY's(Bruce)
Fix problem with username/passwords over 8 characters(Tom)
Enhancements
------------
Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
Show the index used in an explain(Zeugswetter)
Multi-byte awareness of many data types and functions, via configure(Tatsuo)
New configure --with-mb option(Tatsuo)
New initdb --pgencoding option(Tatsuo)
New createdb -E multibyte option(Tatsuo)
Select version(); now returns PostgreSQL version(Jeroen)
Libpq now allows asynchronous clients(Tom)
Allow cancel from client of backend query(Tom)
Psql now cancels query with Control-C(Tom)
Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
Add routines to convert between varchar and bpchar(Thomas)
Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
Add bit flags to support timezonehour and minute in data retrieval(Thomas)
Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
Fixes for unary minus parsing with leading spaces(Thomas)
Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
Check for and properly ignore FOREIGN KEY column constraints(Thomas)
Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
Enable HAVING clause but no fixes elsewhere yet.
Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
Save string type if specified for DEFAULT clause handling(Thomas)
Coerce operations involving different data types(Thomas)
Allow some index use for columns of different types(Thomas)
Add capabilities for automatic type conversion(Thomas)
Cleanups for large objects, so file is truncated on open(Peter)
Readline cleanups(Tom)
Allow psql \f \ to make spaces as delimiter(Bruce)
Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
Msql compatibility library in /contrib(Aldrin)
Remove the requirement that ORDER/GROUP BY clause identifiers be
included in the target list(David)
Convert columns to match columns in UNION clauses(Thomas)
Remove fork()/exec() and only do fork()(Bruce)
Jdbc cleanups(Peter)
Show backend status on ps command line(only works on some platforms)(Bruce)
Pg_hba.conf now has a sameuser option in the database field
Make lo_unlink take oid param, not int4
New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
Libpgtcl now gets async notifies from libpq(Tom)
libpgtcl cleanups(Tom)
New locale patch, see docs/README/locale(Oleg)
Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
New contrib/lo code for large object orphan removal(Peter)
New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
feature, see /doc/README.mb(Tatsuo)
/contrib/noupdate code to revoke update permission on a column
Libpq can now be compiled on win32(Magnus)
Add PQsetdbLogin() in libpq
Two styles we agreed upon for database descriptors(Thomas)
New 8-byte integer type, checked by configure for OS support(Thomas)
Better support for quited table/column names(Thomas)
Surround table and column names with double-quotes(Thomas) in generated
sql code to preserve case (SQL92 syntax)(Thomas)
New libpqrequestCancel(Tom)
PQreset() now works with passwords(Tom)
Handle case of GROUP BY target list column number out of range(David)
Allow UNION in subselects
Add auto-size to screen to \d? commands(Bruce)
Use UNION to show all \d? results in one query(Bruce)
Add \d? field search feature(Bruce)
Pg_dump issues fewer \connect requests(Tom)
Document pg_dump -z flag in manual page(Tom)
Add HAVING clause with full support for subselects and unions(Stephan)
Full text indexing routines in contrib/fulltextindex(Marteen)
Transaction ids now stored in shared memory(Vadim)
New PGCLIENTENCODING when issuing COPY command(Tatsuo)
Support for SQL92 syntax "SET NAMES"(Tatsuo)
Support for LATIN2-5(Tatsuo)
Add UNICODE regression test case(Tatsuo)
Lock manager cleanup, new locking modes for LLL(Vadim)
Allow index use with OR clauses(Bruce)
Allows "SELECT NULL ORDER BY 1;"
Explain VERBOSE prints the plan, and now pretty-prints the plan to
the postmaster log file(Bruce)
Add Indices display to \d command(Bruce)
Allow GROUP BY on functions(David)
New pg_class.relkind for large objects(Bruce)
New way to send libpq NOTICE messages to a different location(Tom)
New \w write command to psql(Bruce)
New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
Allow binary-compatible indices to be considered when checking for valid
indices for restriction clauses containing a constant(Thomas)
New ISBN/ISSN code in /contrib/isbn_issn
Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
New rewrite system fixes many problems with rules and views(Jan)
* Rules on relations work
* Event qualifications on insert/update/delete work
* New OLD variable to reference CURRENT, CURRENT will be remove in future
* Update rules can reference NEW and OLD in rule qualifications/actions
* Insert/update/delete rules on views work
* Multiple rule actions are now supported, surrounded by parentheses
* Regular users can create views/rules on tables they have RULE permits
* Rules and views inherit the permissions on the creator
* No rules at the column level
* No UPDATE NEW/OLD rules
* New pg_tables, pg_indexes, pg_rules and pg_views system views
* Only a single action on SELECT rules
* Total rewrite overhaul, perhaps for 6.5
* handle subselects
* handle aggregates on views
* handle insert into select from view works
*
System indexes are now multi-key(Bruce)
Oidint2, oidint4, and oidname types are removed(Bruce)
Use system cache for more system table lookups(Bruce)
New backend programming language PL/pgSQL in backend/pl(Jan)
New SERIAL data type, auto-creates sequence/index(Thomas)
Enable assert checking without a recompile(Massimo)
User lock enhancements(Massimo)
New setval() command to set sequence value(Massimo)
Auto-remove unix socket file on startup if no postmaster running(Massimo)
Conditional trace package(Massimo)
New UNLISTEN command(Massimo)
Psql and libpq now compile under win32 using win32.mak(Magnus)
Lo_read no longer stores trailing NULL(Bruce)
Identifiers are now truncated to 31 characters internally(Bruce)
Createuser options now availble on the command line
PL/pgSQL backend programming language(Jan)
Code for 64-bit integer supported added, configure tested, int8 type(Thomas)
Prevent file descriptor leaf from failed COPY(Bruce)
New pg_upgrade command(Bruce)
Updated /contrib directories(Massimo)
New CREATE TABLE DEFAULT VALUES statement available(Thomas)
New INSERT INTO TABLE DEFAULT VALUES statement available(Thomas)
New DECLARE and FETCH feature(Thomas)
libpq's internal structures now not exported(Tom)
Allow up to 8 key indexes(Bruce)
Remove ARCHIVE keyword, that is no longer used(Thomas)
pg_dump -n flag to supress quotes around indentifiers
disable system columns for views(Jan)
net INET and CIDR types for network addresses(TomH, Paul)
no more double quotes in psql output
pg_dump now dumps views(Terry)
new SET QUERY_LIMIT(Tatsuo,Jan)
Source Tree Changes
-------------------
/contrib cleanup(Jun)
Inline some small functions called for every row(Bruce)
Alpha/linux fixes
Hp/UX cleanups(Tom)
Multi-byte regression tests(Soonmyung.)
Remove --disabled options from configure
Define PGDOC to use POSTGRESDIR by default
Make regression optional
Remove extra braces code to pgindent(Bruce)
Add bsdi shared library support(Bruce)
New --without-CXX support configure option(Brook)
New FAQ_CVS
Update backend flowchart in tools/backend(Bruce)
Change atttypmod from int16 to int32(Bruce, Tom)
Getrusage() fix for platforms that do not have it(Tom)
Add PGUSER to libpq man page
NS32K platform fixes(Phil Nelson, John Buller)
Sco 7/UnixWare 2.x fixes(Billy,others)
Sparc/Solaris 2.5 fixes(Ryan)
Pgbuiltin.3 is obsolete, move to doc files(Thomas)
Even more documention(Thomas)
Nextstep support(Jacek)
Aix support(David)
pginterface manual page(Bruce)
shared libraries all have version numbers
merged all OS-specific shared library defines into one file
smarter TCL/TK configuration checking(Billy)
smarter perl configuration(Brook)
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Attached is the up-to-date 6.4 features list.
This is *impressive*... I think everyone deserves a round of applause...
Feature improvement lists like this I've seen cause increases in *major*
version number :)
Thanks a lot :)
Taral
[Charset iso-8859-1 unsupported, filtering to ASCII...]
Attached is the up-to-date 6.4 features list.
This is *impressive*... I think everyone deserves a round of applause...
Feature improvement lists like this I've seen cause increases in *major*
version number :)Thanks a lot :)
This is the usual size for our changes list, ~185 lines. If you look in
the HISTORY file, you will see previous releases had a similar list of
features.
However, it does impress me with every release.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Attached is the up-to-date 6.4 features list.
I will keep this up-to-date, until the final release.
Hi Bruce. I had converted all of the previous entries (v6.3 and before)
to sgml to allow inclusion in the Admin Guide. The conversion was really
easy in that I just laid the entire summary as you have it into a
<programlisting> markup block.
The nice thing is that we have a prose summary of the most visible or
important changes just above that, with full markup. If we could do the
same for your v6.4 list, then we can include it in the full docs and
also have the shorter plain-text version.
Take a look in the new html Admin Guide to see the results.
I'm starting on repackaging the ports and installation info from the
Admin Guide into a replacement for INSTALL. Included is an early sample
of the results for your comments and suggestions (there are a few things
which need to be fixed up). So for v6.4, plain-text INSTALL and HISTORY
should be able to be easily generated from sgml sources (I generate RTF
and then save as formatted text from ApplixWare, roughly the same way I
do the Postscript docs).
Do you know if install.sgml and INSTALL are in sync?
btw, a rough page count shows over 500 pages of docs for this upcoming
release, with some significant new stuff. That's not even counting the
~100 flat files elsewhere in the source tree :*O
- Tom
Attachments:
Thus spake Bruce Momjian
I didn't notice anything about primary keys. Not sure if you want
to mention it since it is incomplete but it is an enhancement over
6.3. I just sent docs to Tom explaining how to utilize it as is.I don't know anything about it. Give me a one-liner.
Hmmm. How about this?
Facility (incomplete) for tracking primary keys. To be fully implemented
in the next release but see [wherever explanation goes] for information
on how to use it now.
Not a one liner though. Hmmm...
Catalogue support for primary keys.
Maybe?
Perhaps others can help. I'll copy the list on this message.
--
D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.
Import Notes
Reply to msg id not found: 199810241515.LAA24558@candle.pha.pa.us | Resolved by subject fallback
Thus spake Bruce Momjian
I didn't notice anything about primary keys. Not sure if you want
to mention it since it is incomplete but it is an enhancement over
6.3. I just sent docs to Tom explaining how to utilize it as is.I don't know anything about it. Give me a one-liner.
Hmmm. How about this?
Facility (incomplete) for tracking primary keys. To be fully implemented
in the next release but see [wherever explanation goes] for information
on how to use it now.Not a one liner though. Hmmm...
Catalogue support for primary keys.
Maybe?
Perhaps others can help. I'll copy the list on this message.
When someone uses PRIMARY in table creation, why don't we just plop
something in the field?
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Thus spake Bruce Momjian
When someone uses PRIMARY in table creation, why don't we just plop
something in the field?
Well, that would be the "completion" of the facility. Also, we should
fill in the proper values in the system catalogues. The latter is probably
easy but the former rewuires mucking with the table creation code. I don't
think it is a lot of work but perhaps not something to start now.
In any case, we're past the freeze, right?
--
D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.
On Sat, 24 Oct 1998, Bruce Momjian wrote, in part:
CHANGES IN THE 6.4 RELEASE
--------------------------Bug Fixes
---------Enhancements
------------
Enable HAVING clause but no fixes elsewhere yet.
Add HAVING clause with full support for subselects and unions(Stephan)
These two comments raise a question as to whether the having clause
is fully functional. Is it thought to be fully implemented and bug
free?
Marc Zuckman
Thus spake Bruce Momjian
When someone uses PRIMARY in table creation, why don't we just plop
something in the field?Well, that would be the "completion" of the facility. Also, we should
fill in the proper values in the system catalogues. The latter is probably
easy but the former rewuires mucking with the table creation code. I don't
think it is a lot of work but perhaps not something to start now.In any case, we're past the freeze, right?
I hesitate to add a mention that we have a field for primary key, while
we do nothing with it.
This was brought up, but post-freeze, and since it was totally new,
could not be added.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
On Sat, 24 Oct 1998, Bruce Momjian wrote, in part:
CHANGES IN THE 6.4 RELEASE
--------------------------Bug Fixes
---------Enhancements
------------
Enable HAVING clause but no fixes elsewhere yet.
Add HAVING clause with full support for subselects and unions(Stephan)These two comments raise a question as to whether the having clause
is fully functional. Is it thought to be fully implemented and bug
free?
Yes. Bug free. It was even available in 6.3.2, but considered buggy.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
On Sat, 24 Oct 1998, Bruce Momjian wrote, in part:
CHANGES IN THE 6.4 RELEASE
--------------------------Bug Fixes
---------Enhancements
------------
Enable HAVING clause but no fixes elsewhere yet.
Add HAVING clause with full support for subselects and unions(Stephan)These two comments raise a question as to whether the having clause
is fully functional. Is it thought to be fully implemented and bug
free?
Full functional.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
Bruce Momjian wrote:
Attached is the up-to-date 6.4 features list.
I will keep this up-to-date, until the final release.
Enhancements
------------
Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
Show the index used in an explain(Zeugswetter)
EXPLAIN invokes rule system and shows plan(s) for rewritten
queries.
New backend programming language PL/pgSQL in backend/pl(Jan)
[...]
PL/pgSQL backend programming language(Jan)
No need to mention it twice.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck@debis.com (Jan Wieck) #
Thus spake Bruce Momjian
When someone uses PRIMARY in table creation, why don't we just plop
something in the field?Well, that would be the "completion" of the facility. Also, we should
fill in the proper values in the system catalogues. The latter is probably
easy but the former rewuires mucking with the table creation code. I don't
think it is a lot of work but perhaps not something to start now.In any case, we're past the freeze, right?
I hesitate to add a mention that we have a field for primary key, while
we do nothing with it.This was brought up, but post-freeze, and since it was totally new,
could not be added.
I've seen the relfkeys too and have something in mind for
FOREIGN KEY for 6.5. 6.5 will be the comeback of attribute
rules and I think that foreign key checks and the like
(including ON DELETE CASCADE) could get implemented using
rules.
Let's pick it up after 6.4 is out.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#======================================== jwieck@debis.com (Jan Wieck) #
Done.
Bruce Momjian wrote:
Attached is the up-to-date 6.4 features list.
I will keep this up-to-date, until the final release.
Enhancements
------------
Upgrade ecpg and ecpglib,see src/interfaces/ecpc/ChangeLog(Michael)
Show the index used in an explain(Zeugswetter)EXPLAIN invokes rule system and shows plan(s) for rewritten
queries.New backend programming language PL/pgSQL in backend/pl(Jan)
[...]
PL/pgSQL backend programming language(Jan)No need to mention it twice.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
I've seen the relfkeys too and have something in mind for
FOREIGN KEY for 6.5. 6.5 will be the comeback of attribute
rules and I think that foreign key checks and the like
(including ON DELETE CASCADE) could get implemented using
rules.Let's pick it up after 6.4 is out.
That is a temping way to do foreign keys. Nice.
--
Bruce Momjian | http://www.op.net/~candle
maillist@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026