Tom Lane [Fri, 28 Dec 2001 18:16:43 +0000 (18:16 +0000)]
Ensure that all direct uses of spinlock-protected data structures use
'volatile' pointers to access those structures, so that optimizing
compilers will not decide to move the structure accesses outside of the
spinlock-acquire-to-spinlock-release sequence. There are no known bugs
in these uses at present, but based on bad experience with lwlock.c,
it seems prudent to ensure that we protect these other uses too.
Per pghackers discussion around 12-Dec. (Note: it should not be
necessary to worry about structures protected by LWLocks, since the
LWLock acquire and release operations are not inline macros.)
Bruce Momjian [Fri, 28 Dec 2001 04:57:55 +0000 (04:57 +0000)]
Added for Christof Petig:
< o Allow SELECT of array of strings into a auto-sized variable
---
> o -Allow SELECT of array of strings into a auto-sized variable
> o auto allocation for indicator variable arrays (int *ind_p=NULL)
> o auto allocation for string arrays (char **foo_pp=NULL)
> o ECPGfree_auto_mem fixed
> o all function names with external linkage are now prefixed by ECPG
Bruce Momjian [Fri, 28 Dec 2001 04:30:18 +0000 (04:30 +0000)]
Update to show current capability and future direction, from Peter:
> * -Allow secure single-user access without passwords using Unix socket permissions
> * Make single-user local socket access permissions the default (Peter E)
Tom Lane [Fri, 21 Dec 2001 15:22:09 +0000 (15:22 +0000)]
Use MemSet() rather than a loop to do blank-padding on PS_USE_CLOBBER_ARGV
machines. I have just been observing some scenarios where set_ps_display
accounts for more than 10% of the backend CPU, and this loop has to be
the reason.
Tom Lane [Wed, 19 Dec 2001 20:28:41 +0000 (20:28 +0000)]
Fix pgstattuple to acquire a read lock on the target table. This
prevents embarassments such as having the table dropped or truncated
partway through the scan. Also, fix free space calculation to include
pages that currently contain no tuples.
Tom Lane [Wed, 19 Dec 2001 19:42:51 +0000 (19:42 +0000)]
Temporarily dike out GetUndoRecPtr() in checkpoint generation, since we
do not use the undo pointer anyway. This is a quick-hack solution for
the three-way deadlock condition discussed in pghackers 17-Dec-01.
Need to find a better way of doing it.
Tom Lane [Wed, 19 Dec 2001 17:18:39 +0000 (17:18 +0000)]
Make sure that all variants of HeapTupleSatisfies will do the right thing
if presented with a tuple in process of being moved by VACUUM. Per
bug report from Brian Hirt.
Bruce Momjian [Thu, 13 Dec 2001 10:48:39 +0000 (10:48 +0000)]
>>I confirmed the UNION hack is no longer required. Thanks! Is it too late
>>to change the README in contrib/dblink?
>>
>
> No, I don't think that's a problem. Send a patch.
>
Here's a (documentation only) patch for the contrib/dblink README.
Tom Lane [Wed, 12 Dec 2001 03:28:49 +0000 (03:28 +0000)]
Don't accept names of complex types (ie, relation types) as being
requests for implicit trivial coercions. Prevents sillinesses like
this one:
regression=# select x.int8_tbl.q1 from int8_tbl x;
ERROR: fmgr_info: function 270997776: cache lookup failed
Barry Lind [Tue, 11 Dec 2001 04:48:05 +0000 (04:48 +0000)]
Applied patch from Thomas O'Dowd that fixes timestamp parsing. The jdbc code
wasn't updated to handle more than two decimal digits for fractional seconds
that now are possible in 7.2. This patch fixes the timestamp parsing logic.
I have built and tested on both jdbc1 and jdbc2.
Barry Lind [Tue, 11 Dec 2001 04:44:23 +0000 (04:44 +0000)]
Patch from Ned Wolpert that fixes a bug that caused the cache of types not
to be used, causing extra sql statements to be executed. This was a
significant performance problem with the database meta data classes.
The fix is a simple one liner.
Tom Lane [Tue, 11 Dec 2001 02:58:49 +0000 (02:58 +0000)]
Make sure that inlined S_UNLOCK is marked as an update of a 'volatile'
object. This should prevent the compiler from reordering loads and stores
into or out of a critical section.
Tom Lane [Mon, 10 Dec 2001 22:54:12 +0000 (22:54 +0000)]
Suppress subquery pullup and pushdown when the subquery has any
set-returning functions in its target list. This ensures that we
won't rewrite the query in a way that places set-returning functions
into quals (WHERE clauses). Cf. bug reports from Joe Conway.
Tom Lane [Mon, 10 Dec 2001 21:13:50 +0000 (21:13 +0000)]
Declare LWLock pointers as volatile to prevent AIX compiler from
reordering operations at its whim. Releasing TAS lock before we've
finished updating proc structure is uncool.
Support ODBC-style CURRENT_TIME, CURRENT_USER, etc with trailing empty
parens. This is not SQL spec syntax, so later we will remove
this extension from gram.y.