Tom Lane [Tue, 28 Jan 2003 18:04:13 +0000 (18:04 +0000)]
Convert variable name to canonical spelling before checking for matches
in GUCArrayAdd/GUCArrayDelete. This prevents the multiple-entry bug
exhibited by Frank Lupo 28-Jan-2003.
Tom Lane [Thu, 23 Jan 2003 05:10:57 +0000 (05:10 +0000)]
Change CREATE TABLE AS / SELECT INTO to create the new table with OIDs,
for backwards compatibility with pre-7.3 behavior. Per discussion on
pgsql-general and pgsql-hackers.
Tom Lane [Thu, 23 Jan 2003 01:23:14 +0000 (01:23 +0000)]
Update 'Mathematical Functions' table to reflect 7.3 addition of float8
forms of ceil(), floor(), sign(). Back-patch this and other recent
doc fixes in this file to the 7.3 branch.
Tom Lane [Tue, 21 Jan 2003 22:06:36 +0000 (22:06 +0000)]
Fix coredump problem in plpgsql's RETURN NEXT. When a SELECT INTO
that's selecting into a RECORD variable returns zero rows, make it
assign an all-nulls row to the RECORD; this is consistent with what
happens when the SELECT INTO target is not a RECORD. In support of
this, tweak the SPI code so that a valid tuple descriptor is returned
even when a SPI select returns no rows.
Tom Lane [Thu, 16 Jan 2003 00:27:17 +0000 (00:27 +0000)]
Repair an embarrassingly large number of alphabetization mistakes in the
datetime token tables. Even more embarrassing, the regression tests
revealed some of the problems --- but evidently the bogus output wasn't
questioned. Add code to postmaster startup to directly check the tables
for correct ordering, in hopes of not being embarrassed like this again.
Barry Lind [Tue, 14 Jan 2003 05:07:56 +0000 (05:07 +0000)]
Patch from Kris Jurka to improve the performance of getImportedKeys(). The
fix uses explicit joins to avoid using the genetic query optimizer for
consistent results.
Bruce Momjian [Sat, 11 Jan 2003 05:04:27 +0000 (05:04 +0000)]
> > This patch improves the documentation for the shared_buffers GUC param.
>
> I'd suggest that the runtime.sgml description explicitly say "values of
> at least a few thousand are recommended for production installations".
Tom Lane [Thu, 9 Jan 2003 01:07:18 +0000 (01:07 +0000)]
Repair inconsistent rounding behavior for timestamp, time, interval,
per gripe from Csaba Nagy. There is still potential for platform-specific
behavior for values that are exactly halfway between integers, but at
least we now get the expected answer for all other cases.
Bruce Momjian [Wed, 8 Jan 2003 23:18:35 +0000 (23:18 +0000)]
The second was that renegotiation was just plain broken. I can't
believe I didn't notice this before -- once 64k was sent to/from the
server the client would crash. Basicly, in 7.3 the server SSL code set
the initial state to "about to renegotiate" without actually starting
the renegotiation. In addition, the server and client didn't properly
handle the SSL_ERROR_WANT_(READ|WRITE) error. This is fixed in the
second patch.
Bruce Momjian [Wed, 8 Jan 2003 22:57:05 +0000 (22:57 +0000)]
I was playing around with 7.3.1 and found some more SSL problems. The
first, that I missed when checking over 7.3.1, was that the client
method was switched to SSLv23 along with the server. The SSLv23 client
method does SSLv2 by default, but can also understand SSLv3. In our
situation the SSLv2 backwords compatibility is really only needed on the
server. This is the first patch.
The last thing is that I found a way for the server to understand SSLv2
HELLO messages (sent by pre-7.3 clients) but then get them to talk
SSLv3. This is the last one.
Bruce Momjian [Wed, 8 Jan 2003 22:54:36 +0000 (22:54 +0000)]
Fix dumping of DEFERRABLE/INITIALLY DEFERRED:
> The big problem is that while pg_dump's dump_trigger() looks at
> tginitdeferred and dumps accordingly, pg_get_constraintdef doesn't look
> at tginitdeferred, and therefore doesn't record the requirement as part
> of ALTER TABLE ADD CONSTRAINT.
pg_get_constraintdef should probably be looking at condeferrable and
condeferred in the pg_constraint row it's looking at. Maybe something
like the attached.
Tom Lane [Wed, 8 Jan 2003 19:41:57 +0000 (19:41 +0000)]
Fix for bug #866. 7.3 contains new logic for avoiding redundant calls to
the index AM when we know we are fetching a unique row. However, this
logic did not consider the possibility that it would be asked to fetch
backwards. Also fix mark/restore to work correctly in this scenario.
Tom Lane [Sun, 5 Jan 2003 00:56:56 +0000 (00:56 +0000)]
Fix inherited UPDATE for cases where child column numbering doesn't
match parent table. This used to work, but was broken in 7.3 by
rearrangement of code that handles targetlist sorting. Add a regression
test to catch future breakage.
Tom Lane [Wed, 1 Jan 2003 21:57:18 +0000 (21:57 +0000)]
fastpath code neglected to check whether user has privileges to call the
target function. Also, move SetQuerySnapshot() call to avoid assert
failure when a fastpath call is attempted in an aborted transaction.
Tom Lane [Wed, 1 Jan 2003 20:35:54 +0000 (20:35 +0000)]
Awhile back I wrote that freebsd.h was probably broken in the places where
it diverged from netbsd.h and openbsd.h. This has now been confirmed.
Accordingly, make all three exactly alike.
Tom Lane [Sun, 29 Dec 2002 22:29:03 +0000 (22:29 +0000)]
Adjust hash table sizing algorithm to avoid integer overflow in
ExecHashJoinGetBatch(). Fixes core dump on large hash joins, as in
example from Rae Stiening.
Tom Lane [Sat, 21 Dec 2002 01:07:21 +0000 (01:07 +0000)]
Fix possible buffer overrun in \d command: substr(..., 128) produces
a result of at most 128 chars, but that could be more than 128 bytes.
Also ensure we don't try to pfree uninitialized pointers during error
cleanup.
A TLS/SSL connection established with these methods will understand the SSLv2,
SSLv3, and TLSv1 protocol. A client will send out SSLv2 client hello messages
and will indicate that it also understands SSLv3 and TLSv1. A server will
understand SSLv2, SSLv3, and TLSv1 client hello messages. This is the best
choice when compatibility is a concern."
This will maintain backwards compatibility for those us that don't use
TLS connections ...
Tom Lane [Mon, 16 Dec 2002 18:39:57 +0000 (18:39 +0000)]
Fix ALTER TABLE ADD COLUMN to disallow the same column types that are
disallowed by CREATE TABLE (eg, pseudo-types); also disallow these types
from being introduced by the range-function syntax. While at it, allow
CREATE TABLE to create zero-column tables, per recent pghackers discussion.
I am back-patching this into 7.3 since failure to disallow pseudo-types
is arguably a security hole.
Bruce Momjian [Sat, 14 Dec 2002 18:49:43 +0000 (18:49 +0000)]
The actual segfault was caused by a double pfree(), but ISTM that
failing to find pg_hba.conf should be a fatal error anyway, so I
increased the priority of the elog() from LOG to FATAL and refactored
the code a little bit.
Bruce Momjian [Sat, 14 Dec 2002 18:39:39 +0000 (18:39 +0000)]
Ok, I think I've gotten this figured out now. I saw this comment in
pqcomm.c, switched the ERROR logs to COMMERROR logs and it all works.
I've attached a patch to be-secure.c that fixes all my problems.
Tom Lane [Thu, 12 Dec 2002 16:16:58 +0000 (16:16 +0000)]
Back-patch fix to prevent core dump in EXPLAIN if optimizer has
simplified function call to a constant. (7.3 won't actually execute
such a plan anyway, but core dump is bad regardless.)
Bruce Momjian [Mon, 9 Dec 2002 17:45:17 +0000 (17:45 +0000)]
As far as I figured from the source code this function only deals with
cleaning up locale names and nothing else. Since all the locale names
are in plain ASCII I think it will be safe to use ASCII-only lower-case
conversion.
Bruce Momjian [Fri, 6 Dec 2002 05:15:32 +0000 (05:15 +0000)]
Thank you very much, you catch it :). This bug had a long life, because it
exists if and only if locale of postmaster
was a different from C (or ru_RU.KOI8-R).
Please, apply patch for current CVS & 7.3.1
Magnus Naeslund(f) wrote:
> Ok, I nailed the bug, but i'm not sure what the correct fix is.
> Attached tsearch_morph.diff that remedies this problem by avoiding it.
> Also there's a debug aid patch if someone would like to know how i
> finally found it out :)
>
> There problem in the lemmatize() function is that GETDICT(...) returned
> a value not handled (BYLOCALE).
> The value (-1) and later used as an index into the dicts[] array.
> After that everything went berserk stack went crazy somehow so trapping
> the fault sent me to the wrong place, and every time i read the value it
> was positive ;)
>
> So now i just return the initial word passed to the lemmatize function,
> because i don't know what to do with it.
Tom Lane [Thu, 5 Dec 2002 21:46:55 +0000 (21:46 +0000)]
Avoid pulling up sublinks from a subselect's targetlist. Works around
problems that occur if sublink is referenced via a join alias variable.
Perhaps this can be improved later, but a simple and safe fix is needed
for 7.3.1.
Tom Lane [Wed, 4 Dec 2002 20:00:19 +0000 (20:00 +0000)]
Repair oversight in recent change of dependency extraction code: when
recursing to handle a join alias var, the context had better be set to
be appropriate to the join var's query level. Per report from Hristo Neshev.
Tom Lane [Sun, 1 Dec 2002 17:33:33 +0000 (17:33 +0000)]
Repair coredump in COPY OUT when client encoding is different from
server encoding, per report from Nicolai Tufar. This is a minimum-risk
patch for 7.3.1 --- I intend to apply a more general repair in HEAD.