OSDN Git Service
Tom Lane [Thu, 27 Apr 2006 17:52:40 +0000 (17:52 +0000)]
Generalize mcv_selectivity() to support both VAR OP CONST and CONST OP VAR
cases. This was not needed in the existing uses within selfuncs.c, but if
we're gonna export it for general use, the extra generality seems helpful.
Motivated by looking at ltree example.
Bruce Momjian [Thu, 27 Apr 2006 15:57:10 +0000 (15:57 +0000)]
Change log message about vacuuming database name from LOG to DEBUG1.
Prevents duplicate meaningless log messsages.
Bruce Momjian [Thu, 27 Apr 2006 15:56:17 +0000 (15:56 +0000)]
Add to item log_min_error_messages item:
> Another idea is to allow separate configuration files for each module,
> or allow arbitrary SET commands to be passed to them.
Bruce Momjian [Thu, 27 Apr 2006 15:35:15 +0000 (15:35 +0000)]
On second thought, keep SSL CRL as a log, and wait for feedback from 8.2.
Bruce Momjian [Thu, 27 Apr 2006 15:25:04 +0000 (15:25 +0000)]
Downgrade SSL CRL file missing message from LOG to DEBUG1.
Bruce Momjian [Thu, 27 Apr 2006 14:27:04 +0000 (14:27 +0000)]
Turn off strict aliasing when using AIX xlc compiler.
autoconf run.
Bruce Momjian [Thu, 27 Apr 2006 14:18:07 +0000 (14:18 +0000)]
Revert patch, causing plpython regression failues:
> >> >> > 1) named parameters additionally to args[]
> >> >> > 2) return composite-types from plpython as dictionary
> >> >> > 3) return result-set from plpython as list, iterator or generator
Bruce Momjian [Thu, 27 Apr 2006 14:02:36 +0000 (14:02 +0000)]
Tab alignment cleanup.
Bruce Momjian [Thu, 27 Apr 2006 14:01:46 +0000 (14:01 +0000)]
Add underscores to SSL CERT macro names, for clarity and consistency
with be-secure.c.
Bruce Momjian [Thu, 27 Apr 2006 02:58:08 +0000 (02:58 +0000)]
Add SSL include needed for psql, after libpq adjustments.
Bruce Momjian [Thu, 27 Apr 2006 02:41:36 +0000 (02:41 +0000)]
Add:
> * Invalidate prepared queries, like INSERT, when the table definition
> is altered
Bruce Momjian [Thu, 27 Apr 2006 02:29:14 +0000 (02:29 +0000)]
Add support for SSL Certificate Revocation List (CRL) files, root.crl.
Libor Hoho?
Bruce Momjian [Thu, 27 Apr 2006 01:05:05 +0000 (01:05 +0000)]
plpython improvements:
1) named parameters additionally to args[]
2) return composite-types from plpython as dictionary
3) return result-set from plpython as list, iterator or generator
Hannu Krosing
Sven Suursoho
Tom Lane [Thu, 27 Apr 2006 00:58:20 +0000 (00:58 +0000)]
Un-break ltree.
Bruce Momjian [Thu, 27 Apr 2006 00:53:58 +0000 (00:53 +0000)]
Change libpq's PQgetssl() to return a void*, rather than SSL *, so that
applications don't need the SSL headers.
Martijn van Oosterhout
Tom Lane [Thu, 27 Apr 2006 00:46:59 +0000 (00:46 +0000)]
If we're going to expose VariableStatData for contrib modules to use,
then we should export a reasonable set of the supporting routines too.
Bruce Momjian [Thu, 27 Apr 2006 00:36:34 +0000 (00:36 +0000)]
Remove unused function SSL_CTX_set_tmp_dh_callback() from libpq:
In the SSL code in libpq it does some processing with DH parameters:
SSL_CTX_set_tmp_dh_callback()
This function is marked as server use only[1], the client always uses
the DH parameters in the server, so all the code in the client dealing
with the DH parameters is useless. This patch removes it.
It's not clear why the code was added in the first place, it's been
there almost since the beginning[2]. At the time there was a suggestion
of merging the front-end and backend SSL code, but looking at the
changes since, that seems unlikely.
As a further example, the s_server program allows you to specify DH
params, but s_client doesn't. In the GnuTLS documentation under
gnutls_dh_params_generate2() it says[3]:
Also note that the DH parameters are only useful to servers. Since
clients use the parameters sent by the server, it's of no use to call
this in client side.
Bruce Momjian [Thu, 27 Apr 2006 00:33:46 +0000 (00:33 +0000)]
Use schema search path to find the first matching contraint name for SET
CONSTRAINT, rather than affecting all constraints in all schemas (which
is what we used to do). Also allow schema specifications.
Kris Jurka
Bruce Momjian [Thu, 27 Apr 2006 00:06:59 +0000 (00:06 +0000)]
Delay write of pg_stats file to once every five minutes, during
shutdown, or when requested by a backend:
It changes so the file is only written once every 5 minutes (changeable
of course, I just picked something) instead of once every half second.
It's still written when the stats collector shuts down, just as before.
And it is now also written on backend request. A backend requests a
rewrite by simply sending a special stats message. It operates on the
assumption that the backends aren't actually going to read the
statistics file very often, compared to how frequent it's written today.
Magnus Hagander
Bruce Momjian [Wed, 26 Apr 2006 23:15:45 +0000 (23:15 +0000)]
Add tablespace display to psql \l+.
Philip Yarra
Bruce Momjian [Wed, 26 Apr 2006 22:50:17 +0000 (22:50 +0000)]
Improve /contrib/pg_buffercache installation to use BEGIN/COMMIT,
improve examples.
Mark Kirkwood
Bruce Momjian [Wed, 26 Apr 2006 22:46:09 +0000 (22:46 +0000)]
Split out pg_freespace views to one for relations and another for pages,
pg_freespacemap_relations and pg_freespacemap_pages.
Mark Kirkwood
Bruce Momjian [Wed, 26 Apr 2006 22:41:18 +0000 (22:41 +0000)]
Adjust /contrib/pg_freespace to show index free space as NULL (FSM only
tracks index pages, not free space on pages):
1/ Index free bytes set to NULL
2/ Comment added to the README briefly mentioning the index business
3/ Columns reordered more logically
4/ 'Blockid' column removed
5/ Free bytes column renamed to just 'bytes' instead of 'blockfreebytes'
Mark Kirkwood
Bruce Momjian [Wed, 26 Apr 2006 22:33:36 +0000 (22:33 +0000)]
Move ltree parentsel() selectivity function into /contrib/ltree.
Bruce Momjian [Wed, 26 Apr 2006 21:52:31 +0000 (21:52 +0000)]
In pg_resetxlog.c, uint -> uint32, for Win32 port.
Bruce Momjian [Wed, 26 Apr 2006 18:56:56 +0000 (18:56 +0000)]
Add missing ControlFile.checkPointCopy.ThisTimeLineID line for 'guess'
pg_resetxlog.
Simon
Bruce Momjian [Wed, 26 Apr 2006 18:30:10 +0000 (18:30 +0000)]
Update catalog version for ltree changes.
Bruce Momjian [Wed, 26 Apr 2006 18:28:34 +0000 (18:28 +0000)]
Enhanced containment selectivity function for /contrib/ltree
Matteo Beccati
Bruce Momjian [Wed, 26 Apr 2006 02:17:15 +0000 (02:17 +0000)]
Allow pg_resetxlog -f to reset pg_control counters using xlog
information, and add a -r option to reset pg_control without affecting
xlog.
yuanjia lee
Bruce Momjian [Wed, 26 Apr 2006 02:15:20 +0000 (02:15 +0000)]
Done:
* -Allow WAL information to recover corrupted pg_controldata
Tom Lane [Wed, 26 Apr 2006 00:34:57 +0000 (00:34 +0000)]
Revise large-object access routines to avoid running with CurrentMemoryContext
set to the large object context ("fscxt"), as this is inevitably a source of
transaction-duration memory leaks. Not sure why we'd not noticed it before;
maybe people weren't touching a whole lot of LOs in the same transaction
before the 8.1 pg_dump changes. Per report from Wayne Conrad.
Backpatched as far as 8.1, but the problem doubtless goes all the way back.
I'm disinclined to spend the time to try to verify that the older branches
would still work if patched, seeing that this code was significantly modified
for 8.0 and again for 8.1, and that we don't have any trouble reports before
8.1. (Maybe the leaks were smaller before?)
Tom Lane [Tue, 25 Apr 2006 22:46:05 +0000 (22:46 +0000)]
Arrange to cache btree metapage data in the relcache entry for the index,
thereby saving a visit to the metapage in most index searches/updates.
This wouldn't actually save any I/O (since in the old regime the metapage
generally stayed in cache anyway), but it does provide a useful decrease
in bufmgr traffic in high-contention scenarios. Per my recent proposal.
Bruce Momjian [Tue, 25 Apr 2006 21:02:33 +0000 (21:02 +0000)]
Adjust SGML spacing.
Tom Lane [Tue, 25 Apr 2006 18:58:37 +0000 (18:58 +0000)]
Back out the rest of the RESET CONNECTION patch.
Tom Lane [Tue, 25 Apr 2006 16:54:09 +0000 (16:54 +0000)]
The 8.1 planner removes WHERE quals from the plan when the quals are
implied by the predicate of a partial index being used to scan a table.
However, this optimization is unsafe in an UPDATE, DELETE, or SELECT FOR
UPDATE query, because the quals need to be rechecked by EvalPlanQual if
there's an update conflict. Per example from Jean-Samuel Reynaud.
Bruce Momjian [Tue, 25 Apr 2006 15:19:16 +0000 (15:19 +0000)]
Remove equals sign from environment variable with not defaults for
configure.
Bruce Momjian [Tue, 25 Apr 2006 15:17:04 +0000 (15:17 +0000)]
Make configure environment variable options without defaults not have an
equals sign.
Bruce Momjian [Tue, 25 Apr 2006 15:14:16 +0000 (15:14 +0000)]
Add documentation about configure environment variabbles used.
David Wheeler
Bruce Momjian [Tue, 25 Apr 2006 14:56:04 +0000 (14:56 +0000)]
Call SET varaiables "configuration_parameter"s in the documentation.
Bruce Momjian [Tue, 25 Apr 2006 14:47:29 +0000 (14:47 +0000)]
Change "parameter" to "varname" in the alter role and alter user
documentation sections. Also update SET/RESET to be consistent.
Nicolas Barbier
Bruce Momjian [Tue, 25 Apr 2006 14:33:41 +0000 (14:33 +0000)]
I now see we support RESET SESSION AUTHORIZATION, so it seems we have to
use RESET CONNECTION:
< * Add RESET SESSION command to reset all session state
> * Add RESET CONNECTION command to reset all session state
447c447
< notify the protocol when a RESET SESSION command is used.
> notify the protocol when a RESET CONNECTION command is used.
Bruce Momjian [Tue, 25 Apr 2006 14:31:03 +0000 (14:31 +0000)]
RESET SESSION is more precise:
< * Add RESET CONNECTION command to reset all session state
> * Add RESET SESSION command to reset all session state
447c447
< notify the protocol when a RESET CONNECTION command is used.
> notify the protocol when a RESET SESSION command is used.
Bruce Momjian [Tue, 25 Apr 2006 14:11:59 +0000 (14:11 +0000)]
Back out RESET CONNECTION until there is more discussion.
Bruce Momjian [Tue, 25 Apr 2006 14:09:21 +0000 (14:09 +0000)]
Add RESET CONNECTION, to reset all aspects of a session.
Hans-J?rgen Sch?nig
Bruce Momjian [Tue, 25 Apr 2006 02:58:34 +0000 (02:58 +0000)]
Update inheritance constraint items:
< o %Prevent child tables from altering or dropping constraints
< like CHECK that were inherited from the parent table
< like CHECK that are inherited by child tables
<
< Dropping constraints should only be possible with CASCADE.
<
> like CHECK that are inherited by child tables unless CASCADE
> is used
> o %Prevent child tables from altering or dropping constraints
> like CHECK that were inherited from the parent table
Tatsuo Ishii [Tue, 25 Apr 2006 00:40:54 +0000 (00:40 +0000)]
Fix bug reported by Michael Fuhr on Sun, 23 Apr 2006 09:52:31 -0600
(pgsql-committers@postgresql.org).
Bruce Momjian [Tue, 25 Apr 2006 00:26:53 +0000 (00:26 +0000)]
Done:
> * -Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
Bruce Momjian [Tue, 25 Apr 2006 00:25:22 +0000 (00:25 +0000)]
Add statement_timestamp(), clock_timestamp(), and
transaction_timestamp() (just like now()).
Also update statement_timeout() to mention it is statement arrival time
that is measured.
Catalog version updated.
Bruce Momjian [Tue, 25 Apr 2006 00:06:23 +0000 (00:06 +0000)]
Word wrap entry
Bruce Momjian [Tue, 25 Apr 2006 00:01:44 +0000 (00:01 +0000)]
Update SQL-standard INTERVAL item:
o Support ISO INTERVAL syntax if units cannot be determined from
the string, and are supplied after the string
The SQL standard states that the units after the string specify
the units of the string, e.g. INTERVAL '2' MINUTE should
return '00:02:00'. The current behavior has the units
restrict the interval value to the specified unit or unit range,
INTERVAL '70' SECOND returns '00:00:10'.
For syntax that isn't uniquely ISO or PG syntax, like '1' or
'1:30', treat as ISO if there is a range specification clause,
and as PG if there no clause is present, e.g. interpret
'1:30' MINUTE TO SECOND as '1 minute 30 seconds', and
interpret '1:30' as '1 hour, 30 minutes'.
This makes common cases like SELECT INTERVAL '1' MONTH
SQL-standard results. The SQL standard supports a limited
number of unit combinations and doesn't support unit names
in the string. The PostgreSQL syntax is more flexible in
the range of units supported, e.g. PostgreSQL supports
'1 year 1 hour', while the SQL standard does not.
Bruce Momjian [Mon, 24 Apr 2006 22:59:46 +0000 (22:59 +0000)]
Done;
o -Add support for day-time syntax, INTERVAL '1 2:03:04'DAY TO
SECOND
Bruce Momjian [Mon, 24 Apr 2006 22:59:19 +0000 (22:59 +0000)]
Back out patch, unintended.
Bruce Momjian [Mon, 24 Apr 2006 22:56:11 +0000 (22:56 +0000)]
Done:
o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO
SECOND
Bruce Momjian [Mon, 24 Apr 2006 22:24:58 +0000 (22:24 +0000)]
Suppress more compiler warnings caused by macro tests.
Bruce Momjian [Mon, 24 Apr 2006 22:17:04 +0000 (22:17 +0000)]
Add one more paren to macro.
Bruce Momjian [Mon, 24 Apr 2006 22:06:32 +0000 (22:06 +0000)]
Suprress compiler warning in gcc 4.2.
Report by Kris Jurka
Tom Lane [Mon, 24 Apr 2006 20:36:32 +0000 (20:36 +0000)]
Improve our private implementation of cbrt() to give results of the
accuracy expected by the regression tests. Per suggestion from
Martijn van Oosterhout.
Bruce Momjian [Mon, 24 Apr 2006 19:51:13 +0000 (19:51 +0000)]
Remove compiler warning by casting SNPRINTF() call to void.
Report from Gevik Babakhani.
Michael Meskes [Mon, 24 Apr 2006 09:45:22 +0000 (09:45 +0000)]
Fixed memory leak bugs found by Martijn Oosterhout.
Bruce Momjian [Mon, 24 Apr 2006 04:03:25 +0000 (04:03 +0000)]
Fixes for BCC 5.5 compile of libpq. Backpatch to 8.1.X.
Mark Morgan Lloyd
Alvaro Herrera [Mon, 24 Apr 2006 01:40:48 +0000 (01:40 +0000)]
Don't add a shared dependency on the owner of a composite type in pg_class.
We track the owner in pg_type instead, as that is the place where the owner is
changed on ALTER TYPE ... OWNER TO.
Bruce Momjian [Sun, 23 Apr 2006 04:00:06 +0000 (04:00 +0000)]
Add:
< * -Eventually enable escape_string_warning and standard_conforming_strings
> * -Enable escape_string_warning and standard_conforming_strings
> * Make standard_conforming_strings the default in 8.3?
>
> When this is done, backslash-quote should be prohibited in non-E''
> strings because of possible confusion over how such strings treat
> backslashes. Basically, '' is always safe for a literal single
> quote, while \' might or might not be based on the backslash
> handling rules.
>
Bruce Momjian [Sun, 23 Apr 2006 03:39:52 +0000 (03:39 +0000)]
Removes or minimizes some documentation mentions of backward
compatibility for release 7.2 and earlier. I have not altered any
mentions of release 7.3 or later. The release notes were not modified,
so the changes are still documented, just not in the main docs.
Tatsuo Ishii [Sun, 23 Apr 2006 02:17:59 +0000 (02:17 +0000)]
Add pgrowlocks
Tatsuo Ishii [Sun, 23 Apr 2006 01:12:58 +0000 (01:12 +0000)]
Add new contrib function pgrowlocks. See README.pgrowlocks for more details.
Bruce Momjian [Sat, 22 Apr 2006 18:18:24 +0000 (18:18 +0000)]
Update:
< o Fix psql's backslash commands more consistent
> o Fix psql's \d commands more consistent
Bruce Momjian [Sat, 22 Apr 2006 18:17:57 +0000 (18:17 +0000)]
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
Bruce Momjian [Sat, 22 Apr 2006 16:06:44 +0000 (16:06 +0000)]
Update:
o Fix psql's \dn for various schema combinations (Neil)
http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
Bruce Momjian [Sat, 22 Apr 2006 03:03:11 +0000 (03:03 +0000)]
Suggest Win32 users user E'' strings and double backslashes used for
patch separators in COPY.
Backpatch doubleing backslashes suggestion to 8.1.
Tom Lane [Sat, 22 Apr 2006 01:26:01 +0000 (01:26 +0000)]
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.
Bruce Momjian [Sat, 22 Apr 2006 00:29:41 +0000 (00:29 +0000)]
Revert Intel compiler bug comment.
Bruce Momjian [Sat, 22 Apr 2006 00:27:30 +0000 (00:27 +0000)]
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.
Bruce Momjian [Fri, 21 Apr 2006 23:11:58 +0000 (23:11 +0000)]
Use special gcc -W flags only if we are using gcc, not if we are using
the Intel compiler.
Jeremy Drake
Bruce Momjian [Fri, 21 Apr 2006 20:46:22 +0000 (20:46 +0000)]
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.
Tom Lane [Fri, 21 Apr 2006 16:45:12 +0000 (16:45 +0000)]
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.
Tom Lane [Thu, 20 Apr 2006 17:50:18 +0000 (17:50 +0000)]
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.
Bruce Momjian [Thu, 20 Apr 2006 10:51:32 +0000 (10:51 +0000)]
Add "retry another address" log message on statistics collector socket
failure, to reduce confusion in the log file.
Tom Lane [Thu, 20 Apr 2006 04:07:38 +0000 (04:07 +0000)]
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.
Tom Lane [Wed, 19 Apr 2006 23:11:15 +0000 (23:11 +0000)]
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.
Bruce Momjian [Wed, 19 Apr 2006 22:35:42 +0000 (22:35 +0000)]
Add detail:
< encoding.
> encoding. This requires using mblen() to determine if the
> backslash is inside or outside a multi-byte sequence.
Bruce Momjian [Wed, 19 Apr 2006 21:50:19 +0000 (21:50 +0000)]
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
Bruce Momjian [Wed, 19 Apr 2006 18:49:09 +0000 (18:49 +0000)]
Fix problem that sscanf(buf, "%d", &val) eats leading white space, but
our to_* functions were not handling that.
Tom Lane [Wed, 19 Apr 2006 16:32:08 +0000 (16:32 +0000)]
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.
Tom Lane [Wed, 19 Apr 2006 16:15:29 +0000 (16:15 +0000)]
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.
Tom Lane [Wed, 19 Apr 2006 16:02:17 +0000 (16:02 +0000)]
Fix a couple of rather-pointless-but-easily-fixed Coverity warnings.
Per Martijn van Oosterhout.
Bruce Momjian [Wed, 19 Apr 2006 14:48:06 +0000 (14:48 +0000)]
C code whitespace inprovement for formatting.c.
Bruce Momjian [Wed, 19 Apr 2006 02:46:32 +0000 (02:46 +0000)]
Add:
> o Add reporting of the current WAL file, perhaps as part of
> partial log file archiving
Bruce Momjian [Tue, 18 Apr 2006 22:52:07 +0000 (22:52 +0000)]
Remove kill mention in install docs, was for pre-7.0 releases.
Bruce Momjian [Tue, 18 Apr 2006 12:41:15 +0000 (12:41 +0000)]
Mention "syntax" error as not logged by log_statement.
Backpatch.
Bruce Momjian [Tue, 18 Apr 2006 00:52:23 +0000 (00:52 +0000)]
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.
Tom Lane [Mon, 17 Apr 2006 18:55:05 +0000 (18:55 +0000)]
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.
Bruce Momjian [Mon, 17 Apr 2006 03:18:07 +0000 (03:18 +0000)]
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)
Bruce Momjian [Sat, 15 Apr 2006 18:13:11 +0000 (18:13 +0000)]
Remove:
< o %Have pg_dump use multi-statement transactions for INSERT dumps
Bruce Momjian [Sat, 15 Apr 2006 18:11:16 +0000 (18:11 +0000)]
Document that pg_dump -d/-D prevents invalid data from canceling the
entire table load.
Tom Lane [Sat, 15 Apr 2006 17:45:46 +0000 (17:45 +0000)]
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.
Bruce Momjian [Fri, 14 Apr 2006 22:26:22 +0000 (22:26 +0000)]
Done:
> * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
Tom Lane [Fri, 14 Apr 2006 20:27:24 +0000 (20:27 +0000)]
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.
Tom Lane [Fri, 14 Apr 2006 03:38:56 +0000 (03:38 +0000)]
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.
Tom Lane [Thu, 13 Apr 2006 18:01:31 +0000 (18:01 +0000)]
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.
Bruce Momjian [Thu, 13 Apr 2006 12:20:36 +0000 (12:20 +0000)]
Fix HTML markup.