Changes:
* Unique index capability works using the syntax 'create unique
index'.
* Duplicate OID's in the system tables are removed. I put
little scripts called 'duplicate_oids' and 'find_oid' in
include/catalog that help to find and remove duplicate OID's.
I also moved 'unused_oids' from backend/catalog to
include/catalog, since it has to be in the same directory
as the include files in order to work.
* The backend tries converting the name of a function or aggregate
to all lowercase if the original name given doesn't work (mostly
for compatibility with ODBC).
* You can 'SELECT NULL' to your heart's content.
* I put my _bt_updateitem fix in instead, which uses
_bt_insertonpg so that even if the new key is so big that
the page has to be split, everything still works.
* All literal references to system catalog OID's have been
replaced with references to define'd constants from the catalog
header files.
* I added a couple of node copy functions. I think this was a
preliminary attempt to get rules to work.
2. Reap unused tuples too
3. Reap empty pages
4. Check if a page is initialized, initialize it if not
and reap it
5. Binary search in list of reapped pages/tids to check
is the heap' tid pointed by a index' tuple on this list
(it's mu-u-uch faster)
It adds a WITH OIDS option to the copy command, which allows
dumping and loading of oids.
If a copy command tried to load in an oid that is greater than
its current system max oid, the system max oid is incremented. No
checking is done to see if other backends are running and have cached
oids.
pg_dump as its first step when using the -o (oid) option, will
copy in a dummy row to set the system max oid value so as rows are
loaded in, they are certain to be lower than the system oid.
pg_dump now creates indexes at the end to speed loading
Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>
CLUSTER command couldn't rename correctly the new created heap relation.
The table base name resulted in some "temp_XXXX" instead of the correct
base name.
Submitted by: Dirk Koeser <koeser@informatik.uni-rostock.de>
pg_dump and load to 2.0. I haven't gotten any feedback on whether
people want it, so I am submitting it for others to decide. I would
recommend an install in 1.02.1.
I had said that the 2.0 pg_dump could dump a 1.02.1 database, but I was
wrong. The copy is actually performed by the backend, and the 2.0
database will not be able to read 1.02.1 databases because of the new
system columns.
This patch does several things. It copies nulls out as \N, so they can
be distinguished from '' strings. It fixes a problem where backslashes
in the input stream were not output as double-backslashes. Without this
patch, backslashes copied out were deleted upon input, or interpreted as
special characters. Third, input is now terminated by backslash-period.
This can not be part of a normal input stream.
I tested this by creating a database with all sorts of nulls, backslash,
and period fields and dumped the database and reloaded into a new
database and compared them.
Submitted by: Bruce