]> granicus.if.org Git - postgresql/log
postgresql
24 years agoHi,
Bruce Momjian [Thu, 16 Dec 1999 20:10:02 +0000 (20:10 +0000)]
Hi,

I sending promised patch with:

        * getopt_long() - for pg_dump (portable)

        * and "Usage: " changes in scripts in src/bin/
          - this changes are cosmetic only, not change any
          feature ...etc.

 All PostgreSQL routines (scripts) support now long options and
help's output is alike for all scripts and all support -? or --help.

                                                Karel

Karel Zak <zakkr@zf.jcu.cz>              http://home.zf.jcu.cz/~zakkr/

24 years ago>Turning nextval and currval into keywords is not an acceptable way to
Bruce Momjian [Thu, 16 Dec 1999 20:07:41 +0000 (20:07 +0000)]
>Turning nextval and currval into keywords is not an acceptable way to
>go about this.  That will risk breaking existing applications that use
>those names as column names.
>
>It should actually almost work to write sq.nextval as things stand,
>because Postgres has for a long time considered table.function and
>function(table) to be interchangeable notations for certain kinds of
>functions.  nextval doesn't seem to be one of that kind of function,
>at the moment.  I'd suggest leaving the grammar as it was, and taking a
>look at ParseFuncOrColumn in parse_func.c to see if you can't persuade
>it to accept the sequence functions in that style.

OK, good point. I tried to implement it somewhere else and ended up
extending transformAttr. Attached you'll find the patch.

Jeroen van Vianen

24 years agoHere's the Create/Alter/Drop Group stuff that's been really overdue. I
Bruce Momjian [Thu, 16 Dec 1999 17:24:19 +0000 (17:24 +0000)]
Here's the Create/Alter/Drop Group stuff that's been really overdue. I
didn't have time for documentation yet, but I'll write some. There are
still some things to work out what happens when you alter or drop users,
but the group stuff in and by itself is done.

--
Peter Eisentraut                  Sernanders väg 10:115

24 years agoUpdate for QNX.
Bruce Momjian [Thu, 16 Dec 1999 16:52:53 +0000 (16:52 +0000)]
Update for QNX.

24 years agoautoconf
Bruce Momjian [Thu, 16 Dec 1999 16:34:06 +0000 (16:34 +0000)]
autoconf

24 years ago*** empty log message ***
Michael Meskes [Thu, 16 Dec 1999 06:53:12 +0000 (06:53 +0000)]
*** empty log message ***

24 years agoEthernet MAC addresses (macaddr type) are not compared correctly for
Bruce Momjian [Thu, 16 Dec 1999 01:30:49 +0000 (01:30 +0000)]
Ethernet MAC addresses (macaddr type) are not compared correctly for
equality.  The lobits macro is wrong and extracts the wrong set of
bits out of the structure.

To exhibit the problem:

select '000000:000000'::macaddr = '000000:110000'::macaddr ;
?column?
--------
t
(1 row)

Daniel Boyd

24 years agoI have done the QNX4 port with the current source tree. The number of
Bruce Momjian [Thu, 16 Dec 1999 01:25:23 +0000 (01:25 +0000)]
I have done the QNX4 port with the current source tree. The number of
backend/Makefiles to be patched could significantly be reduced since
they
have been adopted to the QNX4 needs.

Andreas Kardos

24 years agoThis patch solves a couple of memory leaks in ecpglib.c. The patch is
Bruce Momjian [Tue, 14 Dec 1999 22:03:48 +0000 (22:03 +0000)]
This patch solves a couple of memory leaks in ecpglib.c.  The patch is
ok for both the
development tree (CVS) and for 6.5.3.

 Stephen Birch

24 years agofix_parsetree_attnums was not nearly smart enough about walking parse
Tom Lane [Tue, 14 Dec 1999 03:35:28 +0000 (03:35 +0000)]
fix_parsetree_attnums was not nearly smart enough about walking parse
trees.  Also rewrite find_all_inheritors() in a more intelligible style.

24 years ago> From what I gather, this should be a little cleaner because the
Bruce Momjian [Tue, 14 Dec 1999 00:17:33 +0000 (00:17 +0000)]
> From what I gather, this should be a little cleaner because the
triggered
> function now returns the right datatype.

Oops, I got crossed up with Jan's improvements. Ignore this.

--
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala

24 years ago>From what I gather, this should be a little cleaner because the
Bruce Momjian [Tue, 14 Dec 1999 00:12:06 +0000 (00:12 +0000)]
>From what I gather, this should be a little cleaner because the
triggered
function now returns the right datatype.

--
Peter Eisentraut                  Sernanders väg 10:115

24 years agoDepending on my interpreting (and programming) skills, this might solve
Bruce Momjian [Tue, 14 Dec 1999 00:08:21 +0000 (00:08 +0000)]
Depending on my interpreting (and programming) skills, this might solve
anywhere from zero to two TODO items.

* Allow flag to control COPY input/output of NULLs

I got this:
COPY table .... [ WITH NULL AS 'string' ]
which does what you'd expect. The default is \N, otherwise you can use
empty strings, etc. On Copy In this acts like a filter: every data item
that looks like 'string' becomes a NULL. Pretty straightforward.

This also seems to be related to

* Make postgres user have a password by default

If I recall this discussion correctly, the problem was actually that the
default password for the postgres (or any) user is in fact "\N", because
of the way copy is used. With this change, the file pg_pwd is copied out
with nulls as empty strings, so if someone doesn't have a password, the
password is just '', which one would expect from a new account. I don't
think anyone really wants a hard-coded default password.

Peter Eisentraut                  Sernanders väg 10:115

24 years agoNew LDOUT makefile variable for QNX os.
Bruce Momjian [Mon, 13 Dec 1999 22:35:27 +0000 (22:35 +0000)]
New LDOUT makefile variable for QNX os.

24 years agoUpdate documentation to reflect availability of aggregate(DISTINCT).
Tom Lane [Mon, 13 Dec 1999 17:39:38 +0000 (17:39 +0000)]
Update documentation to reflect availability of aggregate(DISTINCT).
Try to provide a more lucid discussion in 'Using Aggregate Functions'
tutorial section.

24 years agoPrevent _deadcode from showing in ctags and mkid
Bruce Momjian [Mon, 13 Dec 1999 04:54:01 +0000 (04:54 +0000)]
Prevent _deadcode from showing in ctags and mkid

24 years agoaggregate(DISTINCT ...) works, per SQL spec.
Tom Lane [Mon, 13 Dec 1999 01:27:21 +0000 (01:27 +0000)]
aggregate(DISTINCT ...) works, per SQL spec.
Note this forces initdb because of change of Aggref node in stored rules.

24 years agoany_ordering_op()'s argument should be declared Oid not int.
Tom Lane [Sun, 12 Dec 1999 20:51:29 +0000 (20:51 +0000)]
any_ordering_op()'s argument should be declared Oid not int.

24 years agoI'm in TODO mood today ...
Bruce Momjian [Sun, 12 Dec 1999 05:57:36 +0000 (05:57 +0000)]
I'm in TODO mood today ...

* Document/trigger/rule so changes to pg_shadow recreate pg_pwd

I did it with a trigger and it seems to work like a charm. The function
that already updates the file for create and alter user has been made a
built-in "SQL" function and a trigger is created at initdb time.

Comments around the pg_pwd updating function seem to be worried about
this
routine being called concurrently, but I really don't see a reason to
worry about this. Verify for yourself. I guess we never had a system
trigger before, so treat this with care, and feel free to adjust the
nomenclature as well.

--
Peter Eisentraut                  Sernanders väg 10:115

24 years agoMeanwhile, database names with single quotes in names don't work very well
Bruce Momjian [Sun, 12 Dec 1999 05:15:10 +0000 (05:15 +0000)]
Meanwhile, database names with single quotes in names don't work very well
at all, and because of shell quoting rules this can't be fixed, so I put
in error messages to that end.

Also, calling create or drop database in a transaction block is not so
good either, because the file system mysteriously refuses to roll back rm
calls on transaction aborts. :) So I put in checks to see if a transaction
is in progress and signal an error.

Also I put the whole call in a transaction of its own to be able to roll
back changes to pg_database in case the file system operations fail.

The alternative location issues I posted recently were untouched, awaiting
the outcome of that discussion. Other than that, this should be much more
fool-proof now.

The docs I cleaned up as well.

Peter Eisentraut                  Sernanders väg 10:115

24 years agoFix for psql from Peter.
Bruce Momjian [Sat, 11 Dec 1999 21:35:49 +0000 (21:35 +0000)]
Fix for psql from Peter.

24 years agoAllow ; in () in psql.
Bruce Momjian [Sat, 11 Dec 1999 01:03:36 +0000 (01:03 +0000)]
Allow ; in () in psql.

24 years agoUpdate TODO list.
Bruce Momjian [Sat, 11 Dec 1999 00:31:37 +0000 (00:31 +0000)]
Update TODO list.

24 years agoThis takes care of TODO item
Bruce Momjian [Sat, 11 Dec 1999 00:31:05 +0000 (00:31 +0000)]
This takes care of TODO item
* pg_dump should preserve primary key information

Also a couple of warnings removed.

--
Peter Eisentraut                  Sernanders väg 10:115

24 years agoRemove old file.
Bruce Momjian [Fri, 10 Dec 1999 17:46:41 +0000 (17:46 +0000)]
Remove old file.

24 years agoUpdate drop.sql
Bruce Momjian [Fri, 10 Dec 1999 17:32:57 +0000 (17:32 +0000)]
Update drop.sql

24 years agoRename destroy.sql to drop.sql.
Bruce Momjian [Fri, 10 Dec 1999 17:31:30 +0000 (17:31 +0000)]
Rename destroy.sql to drop.sql.

24 years agoAdded global variable to have RI triggers override
Jan Wieck [Fri, 10 Dec 1999 12:34:15 +0000 (12:34 +0000)]
Added global variable to have RI triggers override
time qualification of HeapTupleSatisfiesSnapshot()

Jan

24 years agoFix memory overrun while setting ps status
Tatsuo Ishii [Fri, 10 Dec 1999 10:29:01 +0000 (10:29 +0000)]
Fix memory overrun while setting ps status

24 years agoTeach grammar and parser about aggregate(DISTINCT ...). No implementation
Tom Lane [Fri, 10 Dec 1999 07:37:35 +0000 (07:37 +0000)]
Teach grammar and parser about aggregate(DISTINCT ...).  No implementation
yet, but at least we can give a better error message:
regression=> select count(distinct f1) from int4_tbl;
ERROR:  aggregate(DISTINCT ...) is not implemented yet
instead of 'parser: parse error at or near distinct'.

24 years agoRemove unneeded action.
Bruce Momjian [Fri, 10 Dec 1999 05:17:13 +0000 (05:17 +0000)]
Remove unneeded action.

24 years agoFix LDREL.
Bruce Momjian [Fri, 10 Dec 1999 05:00:36 +0000 (05:00 +0000)]
Fix LDREL.

24 years agoThis should fix the \e (\p, \g, ...) behaviour on an empty query buffer.
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

24 years agoRename several destroy* functions/tags to drop*.
Bruce Momjian [Fri, 10 Dec 1999 03:56:14 +0000 (03:56 +0000)]
Rename several destroy* functions/tags to drop*.

24 years agoCorrect coredump in ALTER TABLE foo ADD(). Accept explicit NULL in
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.

24 years agoUpdate regression for new dropdb command.
Bruce Momjian [Fri, 10 Dec 1999 00:48:32 +0000 (00:48 +0000)]
Update regression for new dropdb command.

24 years agoAdded a fflush(stdout) to the \p command required for the
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

24 years agoMake LD -r as macros that can be changed for QNX.
Bruce Momjian [Thu, 9 Dec 1999 19:15:45 +0000 (19:15 +0000)]
Make LD -r as macros that can be changed for QNX.

24 years agoUpdate for QNX from Kardos, Dr. Andrea
Bruce Momjian [Thu, 9 Dec 1999 15:56:16 +0000 (15:56 +0000)]
Update for QNX from Kardos, Dr. Andrea

24 years agoReplace generic 'Illegal use of aggregates' error message with one that
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...

24 years agoHi,
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

24 years agoRemove extra vacuum, from Peter.
Bruce Momjian [Thu, 9 Dec 1999 04:36:57 +0000 (04:36 +0000)]
Remove extra vacuum, from Peter.

24 years agoFixed concurrent visibility bug.
Jan Wieck [Wed, 8 Dec 1999 20:41:22 +0000 (20:41 +0000)]
Fixed concurrent visibility bug.
Jan

24 years agoFix indexing of cidr.
Bruce Momjian [Wed, 8 Dec 1999 11:37:38 +0000 (11:37 +0000)]
Fix indexing of cidr.

24 years agoCleanup
Bruce Momjian [Wed, 8 Dec 1999 11:17:20 +0000 (11:17 +0000)]
Cleanup

24 years agoChange $< to $+ in scripts Makefile, and clean up pg_encoding if logic.
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.

24 years ago*** empty log message ***
Michael Meskes [Wed, 8 Dec 1999 09:52:29 +0000 (09:52 +0000)]
*** empty log message ***

24 years agoPeter's file removals.
Bruce Momjian [Tue, 7 Dec 1999 22:43:03 +0000 (22:43 +0000)]
Peter's file removals.

24 years agoOkay, that should put us back in sync. These two patches (src & doc) are
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

24 years ago*** empty log message ***
Michael Meskes [Tue, 7 Dec 1999 10:29:18 +0000 (10:29 +0000)]
*** empty log message ***

24 years agoClean up memory leakage in find_inheritors() by using pg_list lists
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...

24 years agoAgain updated INSIDE TODO
Jan Wieck [Tue, 7 Dec 1999 00:13:41 +0000 (00:13 +0000)]
Again updated INSIDE TODO

Jan

24 years agoAdded SET DEFAULT action for ON DELETE/UPDATE
Jan Wieck [Tue, 7 Dec 1999 00:11:35 +0000 (00:11 +0000)]
Added SET DEFAULT action for ON DELETE/UPDATE

Jan

24 years agoCorrected TODO in source
Jan Wieck [Mon, 6 Dec 1999 19:52:36 +0000 (19:52 +0000)]
Corrected TODO in source

Jan

24 years agoAdded ON DELETE/UPDATE SET NULL
Jan Wieck [Mon, 6 Dec 1999 19:50:49 +0000 (19:50 +0000)]
Added ON DELETE/UPDATE SET NULL

Jan

24 years agoCompleted FOREIGN KEY syntax.
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

24 years agoUpdate entries with recent results for Alpha and ARM processors.
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 :(

24 years agoFix markup (a couple of missing tags) and renormalize.
Thomas G. Lockhart [Mon, 6 Dec 1999 16:38:25 +0000 (16:38 +0000)]
Fix markup (a couple of missing tags) and renormalize.

24 years agoRemove references to PostgreSQL as "public-domain" since that has a
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).

24 years agoFix the case of -o given
Tatsuo Ishii [Mon, 6 Dec 1999 08:49:00 +0000 (08:49 +0000)]
Fix the case of -o given

24 years agoFix minor bugs
Tatsuo Ishii [Mon, 6 Dec 1999 08:35:34 +0000 (08:35 +0000)]
Fix minor bugs

24 years agopg_ctl: a script to start/stop/restart and report status of postmaster.
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 postmaster.

24 years agoFix bugs regarding pid file.
Tatsuo Ishii [Mon, 6 Dec 1999 07:21:12 +0000 (07:21 +0000)]
Fix bugs regarding pid file.

24 years agoUpdate rules test for extra quoting in rule deparser.
Tom Lane [Mon, 6 Dec 1999 02:38:56 +0000 (02:38 +0000)]
Update rules test for extra quoting in rule deparser.

24 years agoRule deparser needs to quote identifiers that are spelled the same as
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.

24 years agoClean up doc/Makefile to install manual pages.
Bruce Momjian [Sun, 5 Dec 1999 21:23:00 +0000 (21:23 +0000)]
Clean up doc/Makefile to install manual pages.

24 years agoFix echo -n and read -r in scripts.
Bruce Momjian [Sun, 5 Dec 1999 20:52:54 +0000 (20:52 +0000)]
Fix echo -n and read -r in scripts.

24 years agoRemove destroylang.sgml.
Bruce Momjian [Sun, 5 Dec 1999 20:29:18 +0000 (20:29 +0000)]
Remove destroylang.sgml.

24 years agoUpdate.
Bruce Momjian [Sun, 5 Dec 1999 20:22:00 +0000 (20:22 +0000)]
Update.

24 years agoUpdate
Bruce Momjian [Sun, 5 Dec 1999 20:04:42 +0000 (20:04 +0000)]
Update

24 years agoI cleaned those out as well (the echo -n "bug" was in there ;) and moved
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

24 years agoThis *should* fix the large object segfault problem. Note linewrap may
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.

24 years agoRe-add destroylang.
Bruce Momjian [Sat, 4 Dec 1999 12:50:54 +0000 (12:50 +0000)]
Re-add destroylang.

24 years agoUnlink the pid file if it's bogus (no associated process exists)
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)

24 years agoUpdate scripts from Peter.
Bruce Momjian [Sat, 4 Dec 1999 05:03:49 +0000 (05:03 +0000)]
Update scripts from Peter.

24 years agoNew scripts for create/drop user/db from Peter Eisentraut
Bruce Momjian [Sat, 4 Dec 1999 04:53:22 +0000 (04:53 +0000)]
New scripts for create/drop user/db from Peter Eisentraut

24 years agoNo distclean for pgaccess/Makefile.
Bruce Momjian [Sat, 4 Dec 1999 04:34:56 +0000 (04:34 +0000)]
No distclean for pgaccess/Makefile.

24 years agoReplace examples .H to .h.
Bruce Momjian [Fri, 3 Dec 1999 18:28:32 +0000 (18:28 +0000)]
Replace examples .H to .h.

24 years agoRename libpq++.H to libpq++.h.
Bruce Momjian [Fri, 3 Dec 1999 17:35:05 +0000 (17:35 +0000)]
Rename libpq++.H to libpq++.h.

24 years agoArranged that plpgsql.so is used from new build, not installed
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

24 years agoCreate postmaster.pid and postmaster.opts under $PGDATA
Tatsuo Ishii [Fri, 3 Dec 1999 06:26:34 +0000 (06:26 +0000)]
Create postmaster.pid and postmaster.opts under $PGDATA

24 years agoType 'socklen_t' might be the right way to declare getsockopt()'s last
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...

24 years agoImprove descriptions of date/time functions.
Bruce Momjian [Wed, 1 Dec 1999 18:03:26 +0000 (18:03 +0000)]
Improve descriptions of date/time functions.

24 years agoMention index name when reporting corruption.
Bruce Momjian [Wed, 1 Dec 1999 00:29:54 +0000 (00:29 +0000)]
Mention index name when reporting corruption.

24 years agoFix compile error on older patch.
Bruce Momjian [Tue, 30 Nov 1999 04:29:57 +0000 (04:29 +0000)]
Fix compile error on older patch.

24 years agocreate/alter user extension
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

24 years agoThis patch (against the current CVS sources) adds to libpq the functions
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.

24 years agoRename readonly to onlyread in odbc. Use varargs properly.
Bruce Momjian [Tue, 30 Nov 1999 02:44:09 +0000 (02:44 +0000)]
Rename readonly to onlyread in odbc.  Use varargs properly.

24 years agoUpdate TODO list.
Bruce Momjian [Tue, 30 Nov 1999 02:14:13 +0000 (02:14 +0000)]
Update TODO list.

24 years agoSmall patch which fixes the ODBC driver so it doesn't segfault if:
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

24 years agoI finish devel. of Oracle compatible DateTime routines TO_CHAR(),
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/

24 years agoAttached are the C-routines that implement a BIT and BIT VARYING type.
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

24 years agoI pulled this one out via CVS, I hope you can make use of it:
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.

24 years agoAdd permissions check: now one must be the Postgres superuser or the
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 :-(

24 years agoTry to detect oversize tuple before corrupting relation, instead of
Tom Lane [Mon, 29 Nov 1999 04:34:55 +0000 (04:34 +0000)]
Try to detect oversize tuple before corrupting relation, instead of
after...

24 years agoFix "Unable to identify an operator =$" problem that occurred when pgsql
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.

24 years agoRemove obsolete note about pg_vlock lock file.
Tom Lane [Sun, 28 Nov 1999 02:17:43 +0000 (02:17 +0000)]
Remove obsolete note about pg_vlock lock file.

24 years agoRemove pg_vlock locking from VACUUM, allowing multiple VACUUMs to run in
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.

24 years agoDelete pg_statistics rows for a relation during heap_destroy_with_catalog.
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.

24 years agolmgr.c didn't check for failure return from LockAcquire(). Boo hiss.
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.