Commit Graph

22292 Commits

Author SHA1 Message Date
Bruce Momjian
11c4152919 Update:
< 	o Fix psql's \dn for various schema combinations (Neil)
> 	o Fix psql's backslash commands more consistent
625a626
> 	  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
2006-04-22 18:17:57 +00:00
Bruce Momjian
0a66e482a7 Update:
o Fix psql's \dn for various schema combinations (Neil)

          http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
2006-04-22 16:06:44 +00:00
Bruce Momjian
9d483b7bcf Suggest Win32 users user E'' strings and double backslashes used for
patch separators in COPY.

Backpatch doubleing backslashes suggestion to 8.1.
2006-04-22 03:03:11 +00:00
Tom Lane
2206b498d8 Simplify ParamListInfo data structure to support only numbered parameters,
not named ones, and replace linear searches of the list with array indexing.
The named-parameter support has been dead code for many years anyway,
and recent profiling suggests that the searching was costing a noticeable
amount of performance for complex queries.
2006-04-22 01:26:01 +00:00
Bruce Momjian
0606860a20 Revert Intel compiler bug comment. 2006-04-22 00:29:41 +00:00
Bruce Momjian
4e0783049d Add mentioun of Intel compiler bug:
Intel compiler has a bug in checking for division by NAN
# (NaN == 0), -mp1 fixes it, so someday we might way to add it.
2006-04-22 00:27:30 +00:00
Bruce Momjian
899f49cfce Use special gcc -W flags only if we are using gcc, not if we are using
the Intel compiler.

Jeremy Drake
2006-04-21 23:11:58 +00:00
Bruce Momjian
1b4504ced2 Remove from TODO ability to edit pg_hba.conf, but add GRANT connection
permission item:

< 	o %Allow pg_hba.conf settings to be controlled via SQL
> 	o %Allow per-database permissions to be set via GRANT
< 	  This would add a function to load the SQL table from
<           pg_hba.conf, and one to writes its contents to the flat file.
< 	  The table should have a line number that is a float so rows
< 	  can be inserted between existing rows, e.g. row 2.5 goes
< 	  between row 2 and row 3.
> 	  Allow database connection checks based on GRANT rules in
> 	  addition to the existing access checks in pg_hba.conf.
2006-04-21 20:46:22 +00:00
Tom Lane
b5498a26de Add some optional code (conditionally compiled under #ifdef LWLOCK_STATS)
to track the number of LWLock acquisitions and the number of times we
block waiting for an LWLock, on a per-process basis.  After having needed
this twice in the past few months, seems like it should go into CVS.
2006-04-21 16:45:12 +00:00
Tom Lane
efe222268f Eliminate some no-longer-needed workarounds for palloc's old behavior
of rejecting palloc(0).  Also, tweak like_selectivity() to avoid assuming
the presented pattern is nonempty; although that assumption is valid,
it doesn't really help much, and the new coding is more correct anyway
since it properly handles redundant wildcards.  In combination these
changes should eliminate a Coverity warning noted by Martijn.
2006-04-20 17:50:18 +00:00
Bruce Momjian
ea6d54ee06 Add "retry another address" log message on statistics collector socket
failure, to reduce confusion in the log file.
2006-04-20 10:51:32 +00:00
Tom Lane
eac825aa68 Ensure that we validate the page header of the first page of a WAL file
whenever we start to read within that file.  The first page carries
extra identification information that really ought to be checked, but
as the code stood, this was only checked when we switched sequentially
into a new WAL file, or if by chance the starting checkpoint record was
within the first page.  This patch ensures that we will detect bogus
'long header' information before we start replaying the WAL sequence.
2006-04-20 04:07:38 +00:00
Tom Lane
cc7eab38dd Recognize __ppc64__, which seems to be Apple's spelling of the predefined
symbol for PPC64 hardware.  I hadn't known that Apple supported PPC64 at
all, but darn if there aren't 64-bit variant libraries in OS X as well
as support in their gcc.
2006-04-19 23:11:15 +00:00
Bruce Momjian
19fe9a904a Add detail:
< 	  encoding.
> 	  encoding.  This requires using mblen() to determine if the
> 	  backslash is inside or outside a multi-byte sequence.
2006-04-19 22:35:42 +00:00
Bruce Momjian
ce8c6aa76c Add:
>
> 	o Add new version of PQescapeString() that doesn't double backslashes
> 	  that are part of a client-only multibyte sequence
>
> 	  Single-quote is not a valid byte in any supported client-only
> 	  encoding.
>
> 	o Add new version of PQescapeString() that doesn't double
> 	  backslashes when standard_conforming_strings is true and
> 	  non-E strings are used
2006-04-19 21:50:19 +00:00
Bruce Momjian
5d096d0127 Fix problem that sscanf(buf, "%d", &val) eats leading white space, but
our to_* functions were not handling that.
2006-04-19 18:49:09 +00:00
Tom Lane
04ca4caa81 Remove use of lorder and tsort while building static libraries. There's
no evidence that any currently-supported platform needs this, and good
reason to think that any platform that did need it couldn't use the static
libraries anyway --- libpq, at least, has circular references.  Removing
the code shuts up tsort warnings about the circular references on some
platforms.
2006-04-19 16:32:08 +00:00
Tom Lane
8f52496a05 Fix ancient memory leak in PQprintTuples(); our code no longer uses this
routine, but perhaps some applications do.  Found by Martijn van Oosterhout
using Coverity.
2006-04-19 16:15:29 +00:00
Tom Lane
3224f2ee25 Fix a couple of rather-pointless-but-easily-fixed Coverity warnings.
Per Martijn van Oosterhout.
2006-04-19 16:02:17 +00:00
Bruce Momjian
e37a649e94 C code whitespace inprovement for formatting.c. 2006-04-19 14:48:06 +00:00
Bruce Momjian
b3e4a84ba5 Add:
> 	  o Add reporting of the current WAL file, perhaps as part of
> 	    partial log file archiving
2006-04-19 02:46:32 +00:00
Bruce Momjian
af86aa8443 Remove kill mention in install docs, was for pre-7.0 releases. 2006-04-18 22:52:07 +00:00
Bruce Momjian
f57b2f09a8 Mention "syntax" error as not logged by log_statement.
Backpatch.
2006-04-18 12:41:15 +00:00
Bruce Momjian
5bd59b9c0a Document that errors are not output by log_statement (was they were in
8.0), and add as suggestion to use log_min_error_statement for this
purpose.  I also fixed the code so the first EXECUTE has it's prepare,
rather than the last which is what was in the current code.  Also remove
"protocol" prefix for SQL EXECUTE output because it is not accurate.

Backpatch to 8.1.X.
2006-04-18 00:52:23 +00:00
Tom Lane
0a87394956 Fix the torn-page hazard for PITR base backups by forcing full page writes
to occur between pg_start_backup() and pg_stop_backup(), even if the GUC
setting full_page_writes is OFF.  Per discussion, doing this in combination
with the already-existing checkpoint during pg_start_backup() should ensure
safety against partial page updates being included in the backup.  We do
not have to force full page writes to occur during normal PITR operation,
as I had first feared.
2006-04-17 18:55:05 +00:00
Bruce Momjian
8e7aaeb62e Done:
< 	o Update pg_dump and psql to use the new COPY libpq API (Christopher)
> 	o -Update pg_dump and psql to use the new COPY libpq API (Christopher)
2006-04-17 03:18:07 +00:00
Bruce Momjian
922f7536c9 Remove:
< 	o %Have pg_dump use multi-statement transactions for INSERT dumps
2006-04-15 18:13:11 +00:00
Bruce Momjian
598dfee552 Document that pg_dump -d/-D prevents invalid data from canceling the
entire table load.
2006-04-15 18:11:16 +00:00
Tom Lane
3651a3e6fb Support the syntax
CREATE AGGREGATE aggname (input_type) (parameter_list)
along with the old syntax where the input type was named in the parameter
list.  This fits more naturally with the way that the aggregate is identified
in DROP AGGREGATE and other utility commands; furthermore it has a natural
extension to handle multiple-input aggregates, where the basetype-parameter
method would get ugly.  In fact, this commit fixes the grammar and all the
utility commands to support multiple-input aggregates; but DefineAggregate
rejects it because the executor isn't fixed yet.
I didn't do anything about treating agg(*) as a zero-input aggregate instead
of artificially making it a one-input aggregate, but that should be considered
in combination with supporting multi-input aggregates.
2006-04-15 17:45:46 +00:00
Bruce Momjian
ebd5257d49 Done:
> * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
2006-04-14 22:26:22 +00:00
Tom Lane
defe93463c Make the world safe for full_page_writes. Allow XLOG records that try to
update no-longer-existing pages to fall through as no-ops, but make a note
of each page number referenced by such records.  If we don't see a later
XLOG entry dropping the table or truncating away the page, complain at
the end of XLOG replay.  Since this fixes the known failure mode for
full_page_writes = off, revert my previous band-aid patch that disabled
that GUC variable.
2006-04-14 20:27:24 +00:00
Tom Lane
0fcc3c2f1d Repair a low-probability race condition identified by Qingqing Zhou.
If a process abandons a wait in LockBufferForCleanup (in practice,
only happens if someone cancels a VACUUM) just before someone else
sends it a signal indicating the buffer is available, it was possible
for the wakeup to remain in the process' semaphore, causing misbehavior
next time the process waited for an lmgr lock.  Rather than try to
prevent the race condition directly, it seems best to make the lock
manager robust against leftover wakeups, by having it repeat waiting
on the semaphore if the lock has not actually been granted or denied
yet.
2006-04-14 03:38:56 +00:00
Tom Lane
cc39aca7d4 Fix similar_escape() so that SIMILAR TO works properly for patterns involving
alternatives ("|" symbol).  The original coding allowed the added ^ and $
constraints to be absorbed into the first and last alternatives, producing
a pattern that would match more than it should.  Per report from Eric Noriega.

I also changed the pattern to add an ARE director ("***:"), ensuring that
SIMILAR TO patterns do not change behavior if regex_flavor is changed.  This
is necessary to make the non-capturing parentheses work, and seems like a
good idea on general principles.

Back-patched as far as 7.4.  7.3 also has the bug, but a fix seems impractical
because that version's regex engine doesn't have non-capturing parens.
2006-04-13 18:01:31 +00:00
Bruce Momjian
dcdf738abb Fix HTML markup. 2006-04-13 12:20:36 +00:00
Bruce Momjian
2aca4e84af Update tutorial URL's. 2006-04-13 12:14:41 +00:00
Bruce Momjian
452b2fc6e4 Update URL for SQL tutorial. 2006-04-13 12:09:08 +00:00
Bruce Momjian
98c6c966bc Update AIX FAQ:
At any rate, here's a revision to CVS HEAD to reflect some changes by
myself and by Seneca Cunningham for the AIX FAQ.  It touches on the
following issues:

1.  memcpy pointer patch for dynahash.c

2.  AIX memory management, which can, for 32 bit cases, bite people
    quite unexpectedly...

Chris Browne
2006-04-13 11:41:02 +00:00
Bruce Momjian
9204980aa1 Update:
<   multiple I/O channels simultaneously.
>   multiple I/O channels simultaneously.  One idea is to create a
>   background reader that can pre-fetch sequential and index scan
>   pages needed by other backends.  This could be expanded to allow
>   concurrent reads from multiple devices in a partitioned table.
2006-04-13 10:50:13 +00:00
Tom Lane
49a7610c36 Fix an ancient oversight in btree xlog replay. When trying to determine if an
upper-level insertion completes a previously-seen split, we cannot simply grab
the downlink block number out of the buffer, because the buffer could contain
a later state of the page --- or perhaps the page doesn't even exist at all
any more, due to relation truncation.  These possibilities have been masked up
to now because the use of full_page_writes effectively ensured that no xlog
replay routine ever actually saw a page state newer than its own change.
Since we're deprecating full_page_writes in 8.1.*, there's no need to fix this
in existing release branches, but we need a fix in HEAD if we want to have any
hope of re-allowing full_page_writes.  Accordingly, adjust the contents of
btree WAL records so that we can always get the downlink block number from the
WAL record rather than having to depend on buffer contents.  Per report from
Kevin Grittner and Peter Brant.

Improve a few comments in related code while at it.
2006-04-13 03:53:05 +00:00
Tom Lane
3ef151e0b7 Fix pg_restore -n option to do what the man page says it does. The
original coding only worked if one of the selTypes restriction options
was also given.  Per report from Nick Johnson.
2006-04-12 22:18:48 +00:00
Bruce Momjian
1cae920e32 Change int->int32, for clarity.
jw.pgsql@sduept.com
2006-04-12 21:46:31 +00:00
Bruce Momjian
6ae559daf8 Add, "How do I submit a patch" FAQ item. 2006-04-12 20:03:54 +00:00
Bruce Momjian
4f6039de6e Add second sentence:
<P>The maximum table size, row size, and maximum number of columns
    can be quadrupled by increasing the default block size to 32k.  The
    maximum table size can also be increased using table partitioning.</P>
2006-04-12 18:56:16 +00:00
Bruce Momjian
031e3c8b84 Updated Japanese FAQ, version 2.
J.Kuwamura
2006-04-11 21:21:52 +00:00
Bruce Momjian
f54a070268 Update Japanese FAQ, backpatch.
J.Kuwamura
2006-04-11 21:18:03 +00:00
Bruce Momjian
ef5fde0881 Oops, sysctl, not sysconf, for FreeBSD. 2006-04-11 21:04:52 +00:00
Neil Conway
6d06003fbf Fix typo. 2006-04-11 20:26:40 +00:00
Bruce Momjian
7626181bf7 More FreeBSD jail wording improvements. 2006-04-11 19:45:33 +00:00
Bruce Momjian
cc7b6c75e3 Update jail wording to mention non-root users. 2006-04-11 19:42:27 +00:00
Bruce Momjian
ba60acf17e Add documentation about running postmasters in FreeBSD jails (use
separate users).
2006-04-11 19:26:42 +00:00