6.5 Feature list and summary

Started by Bruce Momjianalmost 27 years ago4 messages
#1Bruce Momjian
maillist@candle.pha.pa.us

Here it is with the summary at the top:

---------------------------------------------------------------------------

POSTGRESQL 6.5

This release marks the development team's final mastery of the source
code we inherited from Berkeley. You will see we are now easily adding
major features, thanks to the increasing size and experience of our
world-wide development team:

Multi-version concurrency control(MVCC): This removes our old
table-level locking, and replaces it with a locking system that is
superior to most commercial database systems. In a traditional system,
each row that is modified is locked until committed, preventing reads by
other users. MVCC uses the natural multi-version nature of PostgreSQL
to allow readers to continue reading consistent data during writer
activity. Writers continue to use the compact pg_log transaction
system. This is all preformed without having to allocate a lock for
every row like traditional database systems. So, basically, we no
longer have table-level locking, we have something better than row-level
locking.

Numeric data type: We now have a true numeric data type, with
user-specified precision.

Temporary tables: Temporary tables are guaranteed to have unique names
within a database session, and are destroyed on session exit.

New SQL features: We now have CASE, INTERSECT, and EXCEPT statement
support. We have new LIMIT/OFFSET, SET TRANSACTION ISOLATION LEVEL,
SELECT ... FOR UPDATE, and an improved LOCK command.

Speedups: We continue to speed up PostgreSQL, thanks to the variety of
talents within our team. We have sped up memory allocation,
optimization, and row transfers routines.

Other: We continue to expand our port list, this time including
Win32/NT. Most interfaces have new versions, and existing functionality
has been improved.

Please look through the list to see the full extent of our changes in
this PostgreSQL 6.5 release.

---------------------------------------------------------------------------

Add "vacuumdb" utility
Fix text<->float8 and text<->float4 conversion functions(Tom)
Fix for creating tables with mixed-case constraints(Billy)
Speed up libpq by allocating memory better(Tom)
EXPLAIN all indices used(Tom)
Improve port matching(Tom)
Portability fixes for SunOS
Change exp()/pow() behavior to generate error on underflow/overflow(Jan)
Implement CASE expression(Thomas)
Fix bug in pg_dump -z
New pg_dump table output format(Constantin)
Add string min()/max() functions(Thomas)
Extend new type coersion techniques to aggregates(Thomas)
New moddatetime contrib(Terry)
Update to pgaccess(Constantin)
Fix problems in the muti-byte code(Tatsuo)
Fix case where executor evaluates functions twice(Tatsuo)
Memory overrun cleanups(Tatsuo)
Fix for lo_import crash(Tatsuo)
Adjust handling of data type names to suppress double quotes(Thomas)
Add routines for single-byte "char" type(Thomas)
Improved substr() function(Thomas)
Use type coersion for matching columns and DEFAULT(Thomas)
Add CASE statement support(Thomas)
Improved multi-byte handling(Tatsuo)
Add NT/Win32 backend port and enable dynamic loading(Magnus and Horak Daniel)
Multi-version concurrency control/MVCC(Vadim)
New Serialized mode(Vadim)
Upgrade to Pygress(D'Arcy)
New SET TRANSACTION ISOLATION LEVEL(Vadim)
New LOCK TABLE IN ... MODE(Vadim)
New port to Cobalt Qube(Mips) running Linux(Tatsuo)
Fix deadlock so it only checks once after one second of sleep(Bruce)
Port to NetBSD/m68k(Mr. Mutsuki Nakajima)
Port to NetBSD/sun3(Mr. Mutsuki Nakajima)
Update odbc version
New NUMERIC data type(Jan)
New SELECT FOR UPDATE(Vadim)
Handle "NaN" and "Infinity" for input values(Jan)
Better date/year handling(Thomas)
Improved handling of backend connections(Magnus)
New options ELOG_TIMESTAMPS and USE_SYSLOG options for log files(Massimo)
New TCL_ARRAYS option(Massimo)
New INTERSECT and EXCEPT(Stefan)
New pg_index.indisprimary for primary key tracking(D'Arcy)
New pg_dump option to allow dropping of tables before creation(Brook)
Fixes for aggregates and PL/pgsql(Hiroshi)
Speedup of row output routines(Tom)
JDBC improvements(Peter)
Fix for subquery crash(Vadim)
New READ COMMITTED isolation level(Vadim)
New TEMP tables/indexes(Bruce)
Prevent sorting of result is already sorted(Jan)
Fix for libpq function PQfnumber and case-insensitive names(Bahman Rafatjoo)
Fix for large object write-into-middle, remove extra block(Tatsuo)
New memory allocation optimization(Jan)
Allow psql to do \p\g(Bruce)
Allow multiple rule actions(Jan)
Fix for pg_dump -d or -D and quote special characters in INSERT
Added LIMIT/OFFSET functionality(Jan)
Removed CURRENT keyword for rule queries(Jan)
Improve optimizer when joining a large number of tables(Bruce)
Addition of Stefan Simkovics' Master's Thesis to docs(Stefan)
New routines to convert between int8 and text/varchar types(Thomas)
New bushy plans, where meta-tables are joined(Bruce)
Enable right-hand queries by default(Bruce)
Allow reliable maximum number of backends to be set at configure time
(--with-maxbackends and postmaster switch (-N backends))(Tom)
Repair serious problems with dynahash(Tom)
Fix INET/CIDR portability problems
Fix problem with selectivity error in ALTER TABLE ADD COLUMN(Bruce)
Fix executor so mergejoin of different column types works(Tom)
GEQO default now 11 tables because of optimizer speedups(Tom)
Fix for Alpha OR selectivity bug
Fix OR index selectivity problem(Bruce)
Allow btree/hash index on the int8 type(Ryan)
Allow Var = NULL for MS-SQL portability(Michael)
Fix so \d shows proper length for char()/varchar()(Ryan)
Fix tutorial code(Clark)
Improve destroyuser checking(Oliver)
Fix for Kerberos(Rodney McDuff)
Modify contrib check_primary_key() so either "automatic" or "dependent"(Anand)
Allow psql \d on a view show query(Ryan)
Speedup for LIKE(Bruce)
Fix for dropping database while dirty buffers(Bruce)
Fix so sequence nextval() can be case-sensitive(Bruce)
Fix for tcl/tk configuration(Vince)
STOP: 1999/03/15

-- 
  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
#2Oleg Broytmann
phd@sun.med.ru
In reply to: Bruce Momjian (#1)
Re: [HACKERS] 6.5 Feature list and summary

Hi!

There are duplicates (and probably minor misspelling).

On Thu, 18 Mar 1999, Bruce Momjian wrote:

Implement CASE expression(Thomas)
Add CASE statement support(Thomas)

Prevent sorting of result is already sorted(Jan)

"iF already sorted"?

Fix for Alpha OR selectivity bug
Fix OR index selectivity problem(Bruce)

Oleg.
----
Oleg Broytmann http://members.xoom.com/phd2/ phd2@earthling.net
Programmers don't die, they just GOSUB without RETURN.

#3Bruce Momjian
maillist@candle.pha.pa.us
In reply to: Oleg Broytmann (#2)
Re: [HACKERS] 6.5 Feature list and summary

I'm a bit surprised. I thought there would be a 6.4.3. When will 6.5 be
released?

system. This is all preformed without having to allocate a lock for

....performed...

Numeric data type: We now have a true numeric data type, with
user-specified precision.

I thought this was not in 6.5. I was communicating with Jan Wieck who
said he didn't have the time to do it for release 6.5.

We are not releasing a 6.4.3. We decided that if we didn't do a lot of
testing, it may be less stable than 6.4.2, and we didn't want to expend
time on testing when we should be working on 6.5.

-- 
  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
#4Noname
jwieck@debis.com
In reply to: Bruce Momjian (#3)
Re: [HACKERS] 6.5 Feature list and summary

I'm a bit surprised. I thought there would be a 6.4.3. When will 6.5 be
released?

system. This is all preformed without having to allocate a lock for

....performed...

Numeric data type: We now have a true numeric data type, with
user-specified precision.

I thought this was not in 6.5. I was communicating with Jan Wieck who
said he didn't have the time to do it for release 6.5.

We are not releasing a 6.4.3. We decided that if we didn't do a lot of
testing, it may be less stable than 6.4.2, and we didn't want to expend
time on testing when we should be working on 6.5.

NUMERIC is in v6.5. But it is not the final implementation I
wanted. Sometimes I'll implement it again from scratch. The
new implementation will be a true replacement where only the
internal storage format changes. It will store the value as
short integers with base 10000 what's looking strange for
human beeings but is much better for fast computations.

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) #