Bruce Momjian [Fri, 10 Dec 1999 03:59:30 +0000 (03:59 +0000)]
This should fix the \e (\p, \g, ...) behaviour on an empty query buffer.
Also, minor tweakage of tab completion, and I hope the output is flushed
on time now.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Fri, 10 Dec 1999 03:56:14 +0000 (03:56 +0000)]
Rename several destroy* functions/tags to drop*.
Tom Lane [Fri, 10 Dec 1999 03:01:05 +0000 (03:01 +0000)]
Correct coredump in ALTER TABLE foo ADD(). Accept explicit NULL in
typecasts, eg 'NULL::text'. Later parts of the parser don't like this
yet, but I'll work on that next.
Bruce Momjian [Fri, 10 Dec 1999 00:48:32 +0000 (00:48 +0000)]
Update regression for new dropdb command.
Jan Wieck [Fri, 10 Dec 1999 00:26:35 +0000 (00:26 +0000)]
Added a fflush(stdout) to the \p command required for the
multisession test tool.
Jan
Bruce Momjian [Thu, 9 Dec 1999 19:15:45 +0000 (19:15 +0000)]
Make LD -r as macros that can be changed for QNX.
Bruce Momjian [Thu, 9 Dec 1999 15:56:16 +0000 (15:56 +0000)]
Update for QNX from Kardos, Dr. Andrea
Tom Lane [Thu, 9 Dec 1999 05:58:56 +0000 (05:58 +0000)]
Replace generic 'Illegal use of aggregates' error message with one that
shows the specific ungrouped variable being complained of. Perhaps this
will reduce user confusion...
Bruce Momjian [Thu, 9 Dec 1999 05:02:24 +0000 (05:02 +0000)]
Hi,
I was able to crash postgres 6.5.3 when I did an 'alter user' command.
After I started a debugger I found the problem in the timezone handling
of
datetime (my Linux box lost its timezone information, that's how the
problem occurred).
Only 7 bytes are reserved for the timezone, without checking for
boundaries.
Attached is a patch that fixes this problem and emits a NOTICE if a
timezone is encountered that is longer than MAXTZLEN bytes, like this:
Jeroen van Vianen
Bruce Momjian [Thu, 9 Dec 1999 04:36:57 +0000 (04:36 +0000)]
Remove extra vacuum, from Peter.
Jan Wieck [Wed, 8 Dec 1999 20:41:22 +0000 (20:41 +0000)]
Fixed concurrent visibility bug.
Jan
Bruce Momjian [Wed, 8 Dec 1999 11:37:38 +0000 (11:37 +0000)]
Fix indexing of cidr.
Bruce Momjian [Wed, 8 Dec 1999 11:17:20 +0000 (11:17 +0000)]
Cleanup
Bruce Momjian [Wed, 8 Dec 1999 10:29:55 +0000 (10:29 +0000)]
Change $< to $+ in scripts Makefile, and clean up pg_encoding if logic.
Michael Meskes [Wed, 8 Dec 1999 09:52:29 +0000 (09:52 +0000)]
*** empty log message ***
Bruce Momjian [Tue, 7 Dec 1999 22:43:03 +0000 (22:43 +0000)]
Peter's file removals.
Bruce Momjian [Tue, 7 Dec 1999 22:41:44 +0000 (22:41 +0000)]
Okay, that should put us back in sync. These two patches (src & doc) are
against the sources from one hour ago and contain all the portable and
up
to date stuff.
A few other CVS "householding" things you might want to take care of:
* Remove the src/bin/cleardbdir directory
* Remove the file src/bin/psql/sql_help.h from the repository, as it is
a derived file and is build by the release_prep.
Peter Eisentraut
Michael Meskes [Tue, 7 Dec 1999 10:29:18 +0000 (10:29 +0000)]
*** empty log message ***
Tom Lane [Tue, 7 Dec 1999 04:09:39 +0000 (04:09 +0000)]
Clean up memory leakage in find_inheritors() by using pg_list lists
(which are palloc'd) instead of DLLists (which are malloc'd). Not very
significant, since this routine seldom has anything useful to do, but
a leak is a leak...
Jan Wieck [Tue, 7 Dec 1999 00:13:41 +0000 (00:13 +0000)]
Again updated INSIDE TODO
Jan
Jan Wieck [Tue, 7 Dec 1999 00:11:35 +0000 (00:11 +0000)]
Added SET DEFAULT action for ON DELETE/UPDATE
Jan
Jan Wieck [Mon, 6 Dec 1999 19:52:36 +0000 (19:52 +0000)]
Corrected TODO in source
Jan
Jan Wieck [Mon, 6 Dec 1999 19:50:49 +0000 (19:50 +0000)]
Added ON DELETE/UPDATE SET NULL
Jan
Jan Wieck [Mon, 6 Dec 1999 18:02:47 +0000 (18:02 +0000)]
Completed FOREIGN KEY syntax.
Added functionality for automatic trigger creation during CREATE TABLE.
Added ON DELETE RESTRICT and some others.
Jan
Thomas G. Lockhart [Mon, 6 Dec 1999 16:40:45 +0000 (16:40 +0000)]
Update entries with recent results for Alpha and ARM processors.
Remove references to Ultrix; haven't heard from it for a *long* time :(
Thomas G. Lockhart [Mon, 6 Dec 1999 16:38:25 +0000 (16:38 +0000)]
Fix markup (a couple of missing tags) and renormalize.
Thomas G. Lockhart [Mon, 6 Dec 1999 16:37:11 +0000 (16:37 +0000)]
Remove references to PostgreSQL as "public-domain" since that has a
specific meaning wrt copyright (or lack thereof).
Tatsuo Ishii [Mon, 6 Dec 1999 08:49:00 +0000 (08:49 +0000)]
Fix the case of -o given
Tatsuo Ishii [Mon, 6 Dec 1999 08:35:34 +0000 (08:35 +0000)]
Fix minor bugs
Tatsuo Ishii [Mon, 6 Dec 1999 07:23:41 +0000 (07:23 +0000)]
pg_ctl: a script to start/stop/restart and report status of post
Tatsuo Ishii [Mon, 6 Dec 1999 07:21:12 +0000 (07:21 +0000)]
Fix bugs regarding pid file.
Tom Lane [Mon, 6 Dec 1999 02:38:56 +0000 (02:38 +0000)]
Update rules test for extra quoting in rule deparser.
Tom Lane [Mon, 6 Dec 1999 02:37:17 +0000 (02:37 +0000)]
Rule deparser needs to quote identifiers that are spelled the same as
SQL keywords.
Bruce Momjian [Sun, 5 Dec 1999 21:23:00 +0000 (21:23 +0000)]
Clean up doc/Makefile to install manual pages.
Bruce Momjian [Sun, 5 Dec 1999 20:52:54 +0000 (20:52 +0000)]
Fix echo -n and read -r in scripts.
Bruce Momjian [Sun, 5 Dec 1999 20:29:18 +0000 (20:29 +0000)]
Remove destroylang.sgml.
Bruce Momjian [Sun, 5 Dec 1999 20:22:00 +0000 (20:22 +0000)]
Update.
Bruce Momjian [Sun, 5 Dec 1999 20:04:42 +0000 (20:04 +0000)]
Update
Bruce Momjian [Sun, 5 Dec 1999 20:02:49 +0000 (20:02 +0000)]
I cleaned those out as well (the echo -n "bug" was in there ;) and moved
them into the scripts dir. I also added a --list option to show already
installed languages.
This whole moving and renaming totally confused CVS and my checked out
copy got completely fried last night. When you apply the source patch,
please make sure that all the directories src/bin/{create|destroy}* as
well as vacuumdb, cleardbdir are gone and that all the scripts (7) are
in
scripts/.
Meanwhile I am still puzzled about what happened with the docs patch.
Because I don't know what you got now, the second attachment contains
the
files
ref/allfiles.sgml
ref/commands.sgml
ref/createlang.sgml
ref/droplang.sgml
doc/src/sgml/Makefile
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Sun, 5 Dec 1999 19:29:37 +0000 (19:29 +0000)]
This *should* fix the large object segfault problem. Note linewrap may
be interfering with last line of patch.
Vince.
Bruce Momjian [Sat, 4 Dec 1999 12:50:54 +0000 (12:50 +0000)]
Re-add destroylang.
Tatsuo Ishii [Sat, 4 Dec 1999 08:23:43 +0000 (08:23 +0000)]
Unlink the pid file if it's bogus (no associated process exists)
Bruce Momjian [Sat, 4 Dec 1999 05:03:49 +0000 (05:03 +0000)]
Update scripts from Peter.
Bruce Momjian [Sat, 4 Dec 1999 04:53:22 +0000 (04:53 +0000)]
New scripts for create/drop user/db from Peter Eisentraut
Bruce Momjian [Sat, 4 Dec 1999 04:34:56 +0000 (04:34 +0000)]
No distclean for pgaccess/Makefile.
Bruce Momjian [Fri, 3 Dec 1999 18:28:32 +0000 (18:28 +0000)]
Replace examples .H to .h.
Bruce Momjian [Fri, 3 Dec 1999 17:35:05 +0000 (17:35 +0000)]
Rename libpq++.H to libpq++.h.
Jan Wieck [Fri, 3 Dec 1999 12:47:43 +0000 (12:47 +0000)]
Arranged that plpgsql.so is used from new build, not installed
one in production PGLIB.
Jan
Tatsuo Ishii [Fri, 3 Dec 1999 06:26:34 +0000 (06:26 +0000)]
Create postpid and postmaster.opts under $PGDATA
Tom Lane [Thu, 2 Dec 1999 00:26:15 +0000 (00:26 +0000)]
Type 'socklen_t' might be the right way to declare getsockopt()'s last
parameter in some flavor of Unix, but Linux, HPUX, and SunOS all say
it's int. For now I'm just going to make it int so that I can compile.
If the other way is actually necessary on some Unix somewhere, I guess
we will need a configure test...
Bruce Momjian [Wed, 1 Dec 1999 18:03:26 +0000 (18:03 +0000)]
Improve descriptions of date/time functions.
Bruce Momjian [Wed, 1 Dec 1999 00:29:54 +0000 (00:29 +0000)]
Mention index name when reporting corruption.
Bruce Momjian [Tue, 30 Nov 1999 04:29:57 +0000 (04:29 +0000)]
Fix compile error on older patch.
Bruce Momjian [Tue, 30 Nov 1999 03:57:29 +0000 (03:57 +0000)]
create/alter user extension
This one should work much better than the one I sent in previously. The
functionality is the same, but the patch was missing one file resulting
in
the compilation failing. The docs also received a minor fix.
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Tue, 30 Nov 1999 03:08:19 +0000 (03:08 +0000)]
This patch (against the current CVS sources) adds to libpq the functions
PQconnectStart
PQconnectPoll
PQresetStart
PQresetPoll
PQsetenvStart
PQsetenvPoll
PQsetenvAbort
and brings into the published interface
PQsetenv.
The first four are asynchronous analogues of PQconnectdb and PQreset -
they allow an application to connect to the DB without blocking on
remote I/O.
The PQsetenv functions perform an environment negotiation with the
server.
Internal to libpq, pqReadReady and pqWriteReady have been made available
across the library (they were previously static functions inside
fe-misc.c). A lot of internal rearrangement has been necessary to
support these changes.
The API documentation has been updated also.
Caveats:
o The Windows code does not default to using non-blocking sockets,
since I have no documentation: Define WIN32_NON_BLOCKING_CONNECTIONS to
do that.
o The SSL code still blocks.
Ewan Mellor.
Bruce Momjian [Tue, 30 Nov 1999 02:44:09 +0000 (02:44 +0000)]
Rename readonly to onlyread in odbc. Use varargs properly.
Bruce Momjian [Tue, 30 Nov 1999 02:14:13 +0000 (02:14 +0000)]
Update TODO list.
Bruce Momjian [Mon, 29 Nov 1999 23:42:03 +0000 (23:42 +0000)]
Small patch which fixes the ODBC driver so it doesn't segfault if:
You have CommLog and Debug enabled
You encounter in error in any operation (SQLConnect/SQLExec).
Previously, the extra logging didn't check for NULL pointers
when trying to print some of the strings- the socket error
message could frequently be NULL by design (if there was no socket
error)
and Solaris does not handle NULLS passed to things like printf
("%s\n",string);
gracefully.
This basically duplicates the functionality found in Linux where passing
a null pointer
to printf prints "(NULL)". No very elegant, but the logging is for debug
only anyway.
Dirk Niggemann
Bruce Momjian [Mon, 29 Nov 1999 23:26:18 +0000 (23:26 +0000)]
I finish devel. of Oracle compatible DateTime routines TO_CHAR(),
TO_DATE()
and PgSQL extension FROM_CHAR().
TO_CHAR() routine allow formating text output with a datetime values:
SELECT TO_CHAR('now'::datetime, '"Now is: "HH24:MI:SS');
to_char
----------------
Now is: 21:04:10
FROM_CHAR() routine allow convert text to a datetime:
SELECT FROM_CHAR('September 1999 10:20:30', 'FMMonth YYYY
HH:MI:SS');
from_char
-----------------------------
Wed Sep 01 10:20:30 1999 CEST
TO_DATE() is equal with FROM_CHAR(), but output a Date only:
SELECT TO_DATE('September 1999 10:20:30', 'FMMonth YYYY
HH:MI:SS');
to_date
----------
09-01-1999
In attache is compressed dir for the contrib. All is prepared, but I'am
not
sure if Makefile is good (probably yes).
Comments & suggestions ?
Thomas, thank you for your good advices.
Karel
------------------------------------------------------------------------------
Karel Zak <zakkr@zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
Bruce Momjian [Mon, 29 Nov 1999 22:34:36 +0000 (22:34 +0000)]
Attached are the C-routines that implement a BIT and BIT VARYING type.
Adriaan Joubert
Bruce Momjian [Mon, 29 Nov 1999 05:28:11 +0000 (05:28 +0000)]
I pulled this one out via CVS, I hope you can make use of it:
Peter.
Tom Lane [Mon, 29 Nov 1999 04:43:15 +0000 (04:43 +0000)]
Add permissions check: now one must be the Postgres superuser or the
table owner in order to vacuum a table. This is mainly to prevent
denial-of-service attacks via repeated vacuums. Allow VACUUM to gather
statistics about system relations, except for pg_statistic itself ---
not clear that it's worth the trouble to make that case work cleanly.
Cope with possible tuple size overflow in pg_statistic tuples; I'm
surprised we never realized that could happen. Hold a couple of locks
a little longer to try to prevent deadlocks between concurrent VACUUMs.
There still seem to be some problems in that last area though :-(
Tom Lane [Mon, 29 Nov 1999 04:34:55 +0000 (04:34 +0000)]
Try to detect oversize tuple before corrupting relation, instead of
after...
Tom Lane [Sun, 28 Nov 1999 22:02:17 +0000 (22:02 +0000)]
Fix "Unable to identify an operator =$" problem that occurred when pgsql
expressions were written without spaces between operators and operands.
Problem was that something like "if new.f1=new.f2 then" would be translated
to "if $1=$2 then", and the Postgres lexer would tokenize that the wrong
way. Fix is to emit spaces around $paramno constructs to ensure they are
seen as separate tokens.
Tom Lane [Sun, 28 Nov 1999 02:17:43 +0000 (02:17 +0000)]
Remove obsolete note about pg_vlock lock file.
Tom Lane [Sun, 28 Nov 1999 02:10:01 +0000 (02:10 +0000)]
Remove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run in
parallel --- and, not incidentally, removing a common reason for needing
manual cleanup by the DB admin after a crash. Remove initial global
delete of pg_statistics rows in VACUUM ANALYZE; this was not only bad
for performance of other backends that had to run without stats for a
while, but it was fundamentally broken because it was done outside any
transaction. Surprising we didn't see more consequences of that.
Detect attempt to run VACUUM inside a transaction block. Check for
query cancel request before starting vacuum of each table. Clean up
vacuum's private portal storage if vacuum is aborted.
Tom Lane [Sun, 28 Nov 1999 02:03:04 +0000 (02:03 +0000)]
Delete pg_statistics rows for a relation during heap_destroy_with_catalog.
By dropping stats rows here, we eliminate the need for VACUUM to do a
wholesale remove of stats rows. Before, pg_statistics was wiped clean
at the start of VACUUM, ensuring poor planning results for any backends
running in parallel until VACUUM got around to rebuilding the stats for
the relations they are accessing.
Tom Lane [Sun, 28 Nov 1999 01:58:08 +0000 (01:58 +0000)]
lmgr.c didn't check for failure return from LockAcquire(). Boo hiss.
Tom Lane [Sun, 28 Nov 1999 01:56:48 +0000 (01:56 +0000)]
Add missing SpinRelease() to a couple of error exits --- bug found while
testing concurrent VACUUMs.
Tom Lane [Sat, 27 Nov 1999 21:52:53 +0000 (21:52 +0000)]
COPY to a relation should keep write lock till transaction commit.
Thanks to Hiroshi for spotting the problem.
Tom Lane [Sat, 27 Nov 1999 21:05:04 +0000 (21:05 +0000)]
pg_statistic has an index now too...
Tom Lane [Sat, 27 Nov 1999 19:43:20 +0000 (19:43 +0000)]
Fix references to backend/port files so that they actually work.
Tom Lane [Sat, 27 Nov 1999 17:56:18 +0000 (17:56 +0000)]
Oops, forgot to commit this one last week. Part of patch to update
regress test expected outputs for change in 'Cannot insert a duplicate key'
error message wording.
Bruce Momjian [Fri, 26 Nov 1999 17:26:38 +0000 (17:26 +0000)]
Change // to /* */
Bruce Momjian [Fri, 26 Nov 1999 04:38:59 +0000 (04:38 +0000)]
Update TODO list.
Bruce Momjian [Fri, 26 Nov 1999 04:36:48 +0000 (04:36 +0000)]
Fix missing prototype psql warning.
Bruce Momjian [Fri, 26 Nov 1999 04:24:17 +0000 (04:24 +0000)]
* Includes tab completion. It's not magic, but it's very cool. At any
rate
it's better than what used to be there.
* Does proper SQL "host variable" substitution as pointed out by Andreas
Zeugwetter (thanks): select * from :foo; Also some changes in how ':'
and ';' are treated (escape with \ to send to backend). This does
_not_
affect the '::' cast operator, but perhaps others that contain : or ;
(but there are none right now).
* To show description with a <something> listing, append '?' to command
name, e.g., \df?. This seemed to be the convenient and logical
solution.
Or append a '+' to see more useless information, e.g., \df+.
* Fixed fflush()'ing bug pointed out by Jan during the regression test
discussion.
* Added LastOid variable. This ought to take care of TODO item "Add a
function to return the last inserted oid, for use in psql scripts"
(under CLIENTS)
E.g.,
insert into foo values(...);
insert into bar values(..., :LastOid);
\echo $LastOid
* \d command shows constraints, rules, and triggers defined on the table
(in addition to indices)
* Various fixes, optimizations, corrections
* Documentation update as well
Note: This now requires snprintf(), which, if necessary, is taken from
src/backend/port. This is certainly a little weird, but it should
suffice
until a source tree cleanup is done.
Enjoy.
--
Peter Eisentraut Sernanders väg 10:115
Bruce Momjian [Thu, 25 Nov 1999 19:15:20 +0000 (19:15 +0000)]
Fix for bool casting.
Jan Wieck [Thu, 25 Nov 1999 01:28:07 +0000 (01:28 +0000)]
Added another single byte oriented decompressor, useful for
comparision functions.
Added all lztext comparision functions, operators and a default
operator class for nbtree on lztext.
Jan
Bruce Momjian [Thu, 25 Nov 1999 00:21:34 +0000 (00:21 +0000)]
Add opid to selectivity function call.
Bruce Momjian [Thu, 25 Nov 1999 00:15:57 +0000 (00:15 +0000)]
Enable pg_statistic cache use.
Bruce Momjian [Wed, 24 Nov 1999 17:09:28 +0000 (17:09 +0000)]
Cleanup for pg_statistic commit.
Bruce Momjian [Wed, 24 Nov 1999 16:52:50 +0000 (16:52 +0000)]
Add pg_statistic index, add missing Hiroshi file.
Tatsuo Ishii [Wed, 24 Nov 1999 03:45:12 +0000 (03:45 +0000)]
Add multi-byte support to lztextlen()
Bruce Momjian [Wed, 24 Nov 1999 00:58:48 +0000 (00:58 +0000)]
Rename heap_replace to heap_update.
Bruce Momjian [Wed, 24 Nov 1999 00:44:37 +0000 (00:44 +0000)]
Rename heap_replace to heap_update.
Bruce Momjian [Tue, 23 Nov 1999 20:07:06 +0000 (20:07 +0000)]
Tid access method feature from Hiroshi Inoue, Inoue@tpf.co.jp
Bruce Momjian [Tue, 23 Nov 1999 19:47:14 +0000 (19:47 +0000)]
ecpg ECPGFree fix from Rene Hogendoorn.
Bruce Momjian [Tue, 23 Nov 1999 18:49:55 +0000 (18:49 +0000)]
Fix _cplusplus test in both trees.
Bruce Momjian [Tue, 23 Nov 1999 18:24:55 +0000 (18:24 +0000)]
Cleanup paths in install files.
Bruce Momjian [Tue, 23 Nov 1999 18:08:07 +0000 (18:08 +0000)]
Change v6.5.2 to 6.5.2.
Michael Meskes [Tue, 23 Nov 1999 10:32:16 +0000 (10:32 +0000)]
*** empty log message ***
Bruce Momjian [Tue, 23 Nov 1999 04:47:39 +0000 (04:47 +0000)]
Update opclass to be non-unique.
Tom Lane [Tue, 23 Nov 1999 04:19:39 +0000 (04:19 +0000)]
Update for change of 'duplicate key' message.
Tom Lane [Tue, 23 Nov 1999 01:08:36 +0000 (01:08 +0000)]
Reduce ReleaseLruFile failure from FATAL to ERROR grade; offhand I don't
see that this should be a worse way to fail to open a file than any other.
Tom Lane [Tue, 23 Nov 1999 01:04:38 +0000 (01:04 +0000)]
verify_password() leaked a file descriptor if it failed to find the given
userid in the flat password file. Do it enough times and the postmaster
panicked :-(
Bruce Momjian [Mon, 22 Nov 1999 18:05:47 +0000 (18:05 +0000)]
Update TODO list.
Bruce Momjian [Mon, 22 Nov 1999 17:56:41 +0000 (17:56 +0000)]
Add system indexes to match all caches.
Make all system indexes unique.
Make all cache loads use system indexes.
Rename *rel to *relid in inheritance tables.
Rename cache names to be clearer.
Michael Meskes [Mon, 22 Nov 1999 12:48:48 +0000 (12:48 +0000)]
*** empty log message ***
Tom Lane [Mon, 22 Nov 1999 02:06:31 +0000 (02:06 +0000)]
Clean up some problems in error recovery --- elog() was pretty broken
for the case of errors in backend startup, and proc_exit's method for
coping with errors during proc_exit was *completely* busted. Fixed per
discussions on pghackers around 11/6/99.