- 08 Aug, 2011 4 commits
-
-
Robert Haas authored
The relevant backslash commands already exist, so we're just adding an additional column. With this commit, all objects that have psql backslash commands and accept comments should now display those comments at least in verbose mode. Josh Kupershmidt, with doc additions by me.
-
Robert Haas authored
\dc and \dD now accept a "+" option, which will cause the comments to be displayed. Along the way, correct a few oversights in the previous commit in this area, 3b17efdf - namely, (1) when \dL+ is used, make description still be the last column, for consistency with what we've done elsewhere; and (2) document the difference between \dC and \dC+. Josh Kupershmidt, with a couple of doc changes by me.
-
Robert Haas authored
Also, handle failure better: don't just blindly keep trying to delete stuff after the transaction has already failed. Tim Lewis, reviewed by Josh Kupershmidt, with further hacking by me.
-
Andrew Dunstan authored
This lie has been harmless until now, but has been exposed by the change to include postgres.h before the python headers, which in some versions include inttypes.h if HAVE_INTTYPES_H is set.
-
- 07 Aug, 2011 4 commits
-
-
Peter Eisentraut authored
Almost all other pages have one; this one must have been forgotten.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
For consistency with other man pages.
-
Peter Eisentraut authored
There is what may actually be a mistake in our markup. The problem is in a situation like <para> <command>FOO</command> is ... there is strictly speaking a line break before "FOO". In the HTML output, this does not appear to be a problem, but in the man page output, this shows up, so you get double blank lines at odd places. So far, we have attempted to work around this with an XSL hack, but that causes other problems, such as creating run-ins in places like <acronym>SQL</acronym> <command>COPY</command> So fix the problem properly by removing the extra whitespace. I only fixed the problems that affect the man page output, not all the places.
-
- 06 Aug, 2011 3 commits
-
-
Tom Lane authored
Somebody thought it'd be cute to invent a set of Node tag numbers that were defined independently of, and indeed conflicting with, the main tag-number list. While this accidentally failed to fail so far, it would certainly lead to trouble as soon as anyone wanted to, say, apply copyObject to these node types. Clang was already complaining about the use of makeNode on these tags, and I think quite rightly so. Fix by pushing these node definitions into the mainstream, including putting replnodes.h where it belongs.
-
Tom Lane authored
Somebody added a cross-reference to shared_preload_libraries, but wrote the wrong variable name when they did it (and didn't bother to make it a link either). Spotted by Christoph Anton Mitterer.
-
Tom Lane authored
The previous limit of 1024 was set on the assumption that all modern syslog implementations have line length limits of 2KB or so. However, this is false, as at least Solaris and sysklogd truncate at only 1KB. 900 seems to leave enough room for the max likely length of the tacked-on prefixes, so let's go with that. As with the previous change, it doesn't seem wise to back-patch this into already-released branches; but it should be OK to sneak it into 9.1. Noah Misch
-
- 05 Aug, 2011 3 commits
-
-
Robert Haas authored
Shigeru Hanada, with fairly minor editing by me.
-
Robert Haas authored
The old check against MAX_RANDOM_VALUE is clearly irrelevant since getrand() no longer calls random(). Instead, check whether min and max are close enough together to avoid an overflow inside getrand(), as suggested by Tom Lane. This is still somewhat silly, because we're using atoi(), which doesn't check for overflow anyway and (at least on my system) will cheerfully return 0 when given "4294967296". But that's a problem for another commit.
-
Robert Haas authored
The previous test for status < 0 test is in fact testing nothing if the compiler considers an enum to be an unsigned data type. clang doesn't like tautologies, so do this instead. Report by Peter Geoghegan, fix as suggested by Tom Lane.
-
- 04 Aug, 2011 5 commits
-
-
Bruce Momjian authored
Backpatch to 9.1 and 9.0.
-
Andrew Dunstan authored
To avoid having the python headers hijack various definitions, we now include them after all the system headers we want, having first undefined some of the things they want to define. After that's done we restore the things they scribbled on that matter, namely our snprintf and vsnprintf macros, if we're using them.
-
Robert Haas authored
Instead of entering them on transaction startup, we materialize them only when someone wants to wait, which will occur only during CREATE INDEX CONCURRENTLY. In Hot Standby mode, the startup process must also be able to probe for conflicting VXID locks, but the lock need never be fully materialized, because the startup process does not use the normal lock wait mechanism. Since most VXID locks never need to touch the lock manager partition locks, this can significantly reduce blocking contention on read-heavy workloads. Patch by me. Review by Jeff Davis.
-
Robert Haas authored
The output of \dL (list languages) is fairly narrow, so we just always display the comment. \dC (list casts) can get fairly wide, so we only display comments if the new \dC+ option is specified. Josh Kupershmidt
-
Bruce Momjian authored
wal_level = minimum. Backpatch to 9.1 and 9.0.
-
- 03 Aug, 2011 1 commit
-
-
Robert Haas authored
glibc renders random() thread-safe by wrapping a futex lock around it; testing reveals that this limits the performance of pgbench on machines with many CPU cores. Rather than switching to random_r(), which is only available on GNU systems and crashes unless you use undocumented alchemy to initialize the random state properly, switch to our built-in implementation of erand48(), which is both thread-safe and concurrent. Since the list of reasons not to use the operating system's erand48() is getting rather long, rename ours to pg_erand48() (and similarly for our implementations of lrand48() and srand48()) and just always use those. We were already doing this on Cygwin anyway, and the glibc implementation is not quite thread-safe, so pgbench wouldn't be able to use that either. Per discussion with Tom Lane.
-
- 02 Aug, 2011 3 commits
-
-
Tom Lane authored
This kluge was inserted in a spot apparently chosen at random: the lock manager's state is not yet fully set up for the wait, and in particular LockWaitCancel hasn't been armed by setting lockAwaited, so the ProcLock will not get cleaned up if the ereport is thrown. This seems to not cause any observable problem in trivial test cases, because LockReleaseAll will silently clean up the debris; but I was able to cause failures with tests involving subtransactions. Fixes breakage induced by commit c85c9414. Back-patch to all affected branches.
-
Tom Lane authored
It was initialized in the wrong place and to the wrong value. With bad luck this could result in incorrect query-cancellation failures in hot standby sessions, should a HS backend be holding pin on buffer number 1 while trying to acquire a lock.
-
Heikki Linnakangas authored
This fixes bug #6139 reported by Hitoshi Harada.
-
- 01 Aug, 2011 1 commit
-
-
Robert Haas authored
-
- 31 Jul, 2011 1 commit
-
-
Peter Eisentraut authored
This is to be able to analyze issues with host names in pg_hba.conf.
-
- 30 Jul, 2011 1 commit
-
-
Bruce Momjian authored
Win32. Backpatch to 9.1.
-
- 29 Jul, 2011 2 commits
-
-
Robert Haas authored
Testing shows that the overhead of acquiring and releasing SInvalReadLock and msgNumLock on high-core count boxes can waste a lot of CPU time and hurt performance. This patch adds a per-backend flag that allows us to skip all that locking in most cases. Further testing shows that this improves performance even when sinval traffic is very high. Patch by me. Review and testing by Noah Misch.
-
Robert Haas authored
-
- 28 Jul, 2011 1 commit
-
-
Tom Lane authored
pg_backup_db.c contained a mini SQL lexer with which it tried to identify boundaries between SQL commands, but that code was not designed to cope with standard_conforming_strings, and would get the wrong answer if a backslash immediately precedes a closing single quote in such a string, as per report from Julian Mehnle. The bug only affects direct-to-database restores from archive files made with standard_conforming_strings = on. Rather than complicating the code some more to try to fix that, let's just rip it all out. The only reason it was needed was to cope with COPY data embedded into ordinary archive entries, which was a layout that was used only for about the first three weeks of the archive format's existence, and never in any production release of pg_dump. Instead, just rely on the archive file layout to tell us whether we're printing COPY data or not. This bug represents a data corruption hazard in all releases in which standard_conforming_strings can be turned on, ie 8.2 and later, so back-patch to all supported branches.
-
- 27 Jul, 2011 2 commits
-
-
Peter Eisentraut authored
-
Robert Haas authored
Noted by Josh Kupershmidt.
-
- 26 Jul, 2011 6 commits
-
-
Tom Lane authored
It turns out to be possible to link against a libxml2.so that does this differently than the version we configured and built against, so we need a runtime check to avoid bizarre behavior. Per report from Bernd Helmle. Patch by Florian Pflug.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
They are identical, but the overwhelming majority of the code uses %d, so standardize on that.
-
Robert Haas authored
Josh Kupershmidt, with minor modifications by me.
-
Robert Haas authored
Per discussion with Josh Kupershmidt.
-
Andrew Dunstan authored
Windows doesn't have Unix sockets, so it's not needed, and moreover causes compile warnings.
-
- 25 Jul, 2011 3 commits
-
-
Andrew Dunstan authored
It is set correctly on the only path that uses it, but the compiler can't know that.
-
Robert Haas authored
This probably needs more work, but it's a start. KaiGai Kohei
-
Robert Haas authored
Laurenz Albe, somewhat modified by me.
-