OSDN Git Service
Peter Eisentraut [Wed, 13 Oct 2010 18:29:10 +0000 (21:29 +0300)]
Add index entries for pg_stat* views
Peter Eisentraut [Wed, 13 Oct 2010 17:24:51 +0000 (20:24 +0300)]
Mention the default pg_ctl wait time in the -t option documentation
Peter Eisentraut [Wed, 13 Oct 2010 17:05:16 +0000 (20:05 +0300)]
Make title capitalization consistent with surroundings
Peter Eisentraut [Wed, 13 Oct 2010 16:46:05 +0000 (19:46 +0300)]
Put per-letter quicklinks at the top of the HTML bookindex page
Itagaki Takahiro [Wed, 13 Oct 2010 05:37:23 +0000 (14:37 +0900)]
Accept 'public' as a pseudo-role name in has_table_privilege() and friends
to see if a particular privilege has been granted to PUBLIC.
The issue was reported by Jim Nasby.
Patch by Alvaro Herrera, and reviewed by KaiGai Kohei.
Tom Lane [Tue, 12 Oct 2010 18:44:25 +0000 (14:44 -0400)]
Remove some unnecessary tests of pgstat_track_counts.
We may as well make pgstat_count_heap_scan() and related macros just count
whenever rel->pgstat_info isn't null. Testing pgstat_track_counts buys
nothing at all in the normal case where that flag is ON; and when it's OFF,
the pgstat_info link will be null, so it's still a useless test.
This change is unlikely to buy any noticeable performance improvement,
but a cycle shaved is a cycle earned; and my investigations earlier today
convinced me that we're down to the point where individual instructions in
the inner execution loops are starting to matter.
Alvaro Herrera [Tue, 12 Oct 2010 16:24:10 +0000 (13:24 -0300)]
Fix typo
Tom Lane [Tue, 12 Oct 2010 02:16:40 +0000 (22:16 -0400)]
Fix plpython so that it again honors typmod while assigning to tuple fields.
This was broken in 9.0 while improving plpython's conversion behavior for
bytea and boolean. Per bug report from maizi.
Tom Lane [Mon, 11 Oct 2010 23:04:37 +0000 (19:04 -0400)]
Fix assorted bugs in GIN's WAL replay logic.
The original coding was quite sloppy about handling the case where
XLogReadBuffer fails (because the page has since been deleted). This
would result in either "bad buffer id: 0" or an Assert failure during
replay, if indeed the page were no longer there. In a couple of places
it also neglected to check whether the change had already been applied,
which would probably result in corrupted index contents. I believe that
bug #5703 is an instance of the first problem. These issues could show up
without replication, but only if you were unfortunate enough to crash
between modification of a GIN index and the next checkpoint.
Back-patch to 8.2, which is as far back as GIN has WAL support.
Tom Lane [Mon, 11 Oct 2010 03:19:50 +0000 (23:19 -0400)]
Improve the planner's simplification of NOT constructs.
This patch merges the responsibility for NOT-flattening into
eval_const_expressions' processing. It wasn't done that way originally
because prepqual.c is far older than eval_const_expressions. But putting
this work into eval_const_expressions saves one pass over the qual trees,
and in fact saves even more than that because we can exploit the knowledge
that the subexpressions have already been recursively simplified. Doing it
this way also lets us do it uniformly over all expressions, whereas
prepqual.c formerly just did it at top level to save cycles. That should
improve the planner's ability to recognize logically-equivalent constructs.
While at it, also add the ability to fold a NOT into BooleanTest and
NullTest constructs (the latter only for the scalar-datatype case).
Per discussion of bug #5702.
Tom Lane [Sun, 10 Oct 2010 22:42:35 +0000 (18:42 -0400)]
Teach psql to do tab completion for names of psql variables.
Completion is supported in the context of \set and when interpolating
a variable value using :foo etc.
In passing, fix some places in tab-complete.c that weren't following
project style for comment formatting.
Pavel Stehule, reviewed by Itagaki Takahiro
Tom Lane [Sun, 10 Oct 2010 17:43:33 +0000 (13:43 -0400)]
Support triggers on views.
This patch adds the SQL-standard concept of an INSTEAD OF trigger, which
is fired instead of performing a physical insert/update/delete. The
trigger function is passed the entire old and/or new rows of the view,
and must figure out what to do to the underlying tables to implement
the update. So this feature can be used to implement updatable views
using trigger programming style rather than rule hacking.
In passing, this patch corrects the names of some columns in the
information_schema.triggers view. It seems the SQL committee renamed
them somewhere between SQL:99 and SQL:2003.
Dean Rasheed, reviewed by Bernd Helmle; some additional hacking by me.
Peter Eisentraut [Sun, 10 Oct 2010 10:46:02 +0000 (13:46 +0300)]
Extensive ECPG documentation improvements
Satoshi Nagayasu, reviewed and revised by Peter Eisentraut
Since this introduces new refentries that we probably don't want to publish as
man pages, tweak man page stylesheet to omit man pages without manvolnum
element.
Peter Eisentraut
Robert Haas [Sat, 9 Oct 2010 02:59:48 +0000 (22:59 -0400)]
Adjust EXPLAIN documentation, so that it's not unreasonably wide.
The new formatting matches what we do for COPY.
Per a complaint from Bruce Momjian.
Bruce Momjian [Fri, 8 Oct 2010 19:10:06 +0000 (19:10 +0000)]
Single-word clarification in postgresql.conf log_truncate_on_rotation
comment.
Tom Lane [Fri, 8 Oct 2010 17:27:31 +0000 (13:27 -0400)]
Fix sloppy usage of TRIGGER_FIRED_BEFORE/TRIGGER_FIRED_AFTER.
Various places were testing TRIGGER_FIRED_BEFORE() where what they really
meant was !TRIGGER_FIRED_AFTER(), or vice versa. This needs to be cleaned
up because there are about to be more than two possible states.
We might want to note this in the 9.1 release notes as something for
trigger authors to double-check.
For consistency's sake I also changed some places that assumed that
TRIGGER_FIRED_FOR_ROW and TRIGGER_FIRED_FOR_STATEMENT are necessarily
mutually exclusive; that's not in immediate danger of breaking, but
it's still sloppier than it should be.
Extracted from Dean Rasheed's patch for triggers on views. I'm committing
this separately since it's an identifiable separate issue, and is the
only reason for the patch to touch most of these particular files.
Robert Haas [Fri, 8 Oct 2010 13:15:17 +0000 (09:15 -0400)]
Warn that views can be safely used to hide columns, but not rows.
Tom Lane [Fri, 8 Oct 2010 01:46:46 +0000 (21:46 -0400)]
Improve logging in VACUUM FULL VERBOSE and CLUSTER VERBOSE.
This patch resurrects some of the information that could be logged by the
old, now-dead implementation of VACUUM FULL, in particular counts of live
and dead tuples and the time taken for the table rebuild proper. There's
still no logging about the ensuing index rebuilds, though.
Itagaki Takahiro
Tom Lane [Fri, 8 Oct 2010 00:32:21 +0000 (20:32 -0400)]
Eliminate some repetitive coding in tuplesort.c.
Use a macro LogicalTapeReadExact() to encapsulate the error check when
we want to read an exact number of bytes from a "tape". Per a suggestion
of Takahiro Itagaki.
Tom Lane [Fri, 8 Oct 2010 00:00:28 +0000 (20:00 -0400)]
Teach CLUSTER to use seqscan-and-sort when it's faster than indexscan.
... or at least, when the planner's cost estimates say it will be faster.
Leonardo Francalanci, reviewed by Itagaki Takahiro and Tom Lane
Robert Haas [Thu, 7 Oct 2010 16:19:03 +0000 (12:19 -0400)]
Improve WAL reliability documentation, and add more cross-references to it.
In particular, we are now more explicit about the fact that you may need
wal_sync_method=fsync_writethrough for crash-safety on some platforms,
including MaxOS X. There's also now an explicit caution against assuming
that the default setting of wal_sync_method is either crash-safe or best
for performance.
Tom Lane [Wed, 6 Oct 2010 23:31:05 +0000 (19:31 -0400)]
Reduce the memory requirement for large ispell dictionaries.
This patch eliminates per-chunk palloc overhead for most small allocations
needed in the representation of an ispell dictionary. This saves close to
a factor of 2 on the current Czech ispell data. While it doesn't cover
every last small allocation in the ispell code, we are at the point of
diminishing returns, because about 95% of the allocations are covered
already.
Pavel Stehule, rather heavily revised by Tom
Tom Lane [Wed, 6 Oct 2010 19:15:15 +0000 (15:15 -0400)]
Clean up temporary-memory management during ispell dictionary loading.
Add explicit initialization and cleanup functions to spell.c, and keep
all working state in the already-existing ISpellDict struct. This lets us
get rid of a static variable along with some extremely shaky assumptions
about usage of child memory contexts.
This commit is just code beautification and has no impact on functionality
or performance, but it opens the way to a less-grotty implementation of
Pavel's memory-saving hack, which will follow shortly.
Simon Riggs [Tue, 5 Oct 2010 23:19:05 +0000 (00:19 +0100)]
Correct docs for behaviour of ALTER DATABASE .. RENAME during Hot Standby.
Actual behaviour did not match documented behaviour and we have agreed
that it should be the docs that change.
Spotted by Bernd Helmle
Tom Lane [Tue, 5 Oct 2010 22:48:13 +0000 (18:48 -0400)]
Undo some poorly-thought-out "proofreading improvements".
Per Tatsuhito Kasahara.
Tom Lane [Sun, 3 Oct 2010 00:02:27 +0000 (20:02 -0400)]
Behave correctly if INSERT ... VALUES is decorated with additional clauses.
In versions 8.2 and up, the grammar allows attaching ORDER BY, LIMIT,
FOR UPDATE, or WITH to VALUES, and hence to INSERT ... VALUES. But the
special-case code for VALUES in transformInsertStmt() wasn't expecting any
of those, and just ignored them, leading to unexpected results. Rather
than complicate the special-case path, just ensure that the presence of any
of those clauses makes us treat the query as if it had a general SELECT.
Per report from Hitoshi Harada.
Tom Lane [Sat, 2 Oct 2010 22:40:28 +0000 (18:40 -0400)]
Remove excess argument to open(2).
Many compilers don't complain about this, but some do, and it's certainly
wrong. Back-patch to 8.4 where the error was introduced.
Mark Kirkwood
Tom Lane [Sat, 2 Oct 2010 22:21:41 +0000 (18:21 -0400)]
Throw an appropriate error if ALTER COLUMN TYPE finds a dependent trigger.
Actually making this case work, if the column is used in the trigger's
WHEN condition, will take some new code that probably isn't appropriate
to back-patch. For now, just throw a FEATURE_NOT_SUPPORTED error rather
than allowing control to reach the "unexpected object" case. Per bug #5688
from Daniel Grace. Back-patch to 9.0 where the possibility of such a
dependency was introduced.
Tom Lane [Thu, 30 Sep 2010 21:18:51 +0000 (17:18 -0400)]
Use a separate interpreter for each calling SQL userid in plperl and pltcl.
There are numerous methods by which a Perl or Tcl function can subvert
the behavior of another such function executed later; for example, by
redefining standard functions or operators called by the target function.
If the target function is SECURITY DEFINER, or is called by such a
function, this means that any ordinary SQL user with Perl or Tcl language
usage rights can do essentially anything with the privileges of the target
function's owner.
To close this security hole, create a separate Perl or Tcl interpreter for
each SQL userid under which plperl or pltcl functions are executed within
a session. However, all plperlu or pltclu functions run within a session
still share a single interpreter, since they all execute at the trust
level of a database superuser anyway.
Note: this change results in a functionality loss when libperl has been
built without the "multiplicity" option: it's no longer possible to call
plperl functions under different userids in one session, since such a
libperl can't support multiple interpreters in one process. However, such
a libperl already failed to support concurrent use of plperl and plperlu,
so it's likely that few people use such versions with Postgres.
Security: CVE-2010-3433
Robert Haas [Thu, 30 Sep 2010 21:05:15 +0000 (17:05 -0400)]
Adjust pg_archivecleanup docs to match message changes made 2010-06-17.
Erik Rijkers
Tom Lane [Thu, 30 Sep 2010 18:27:15 +0000 (14:27 -0400)]
Update release notes for releases 9.0.1, 8.4.5, 8.3.12, 8.2.18, 8.1.22,
8.0.26, and 7.4.30.
Peter Eisentraut [Wed, 29 Sep 2010 19:38:04 +0000 (22:38 +0300)]
Add/fix caching on some configure checks
Peter Eisentraut [Wed, 29 Sep 2010 10:58:35 +0000 (13:58 +0300)]
Update ecpglib error code listing
Satoshi Nagayasu
Bruce Momjian [Wed, 29 Sep 2010 02:40:25 +0000 (02:40 +0000)]
Have pg_upgrade use strtoul(), not strtol().
Bruce Momjian [Tue, 28 Sep 2010 22:11:17 +0000 (22:11 +0000)]
Use macro atooid() for conversion of strings to oids, per suggestion
from Tom.
Tom Lane [Tue, 28 Sep 2010 22:08:02 +0000 (18:08 -0400)]
Improve messages for too many private files/dirs. Per Alexey Parshin.
Bruce Momjian [Tue, 28 Sep 2010 21:41:03 +0000 (21:41 +0000)]
In pg_upgrade, properly handle oids > 2^31 by using strtoul() internally
rather than atol().
Per report from Brian Hirt
Bruce Momjian [Tue, 28 Sep 2010 21:27:32 +0000 (21:27 +0000)]
Fix leak patch that was using fclose() instead of close().
Bruce Momjian [Tue, 28 Sep 2010 19:25:12 +0000 (19:25 +0000)]
Properly close files after read file failure to prevent potential
resource leak. Of course, any such failure aborts pg_upgrade, but might
as well be clean about it.
Per patch from Grzegorz Ja?kiewicz.
Tom Lane [Tue, 28 Sep 2010 18:47:25 +0000 (14:47 -0400)]
Fix another small oversight in command_no_begin patch.
Need a "return false" to prevent tests from continuing after we've moved
the "query" pointer. As it stood, it'd accept "DROP DISCARD ALL" as a
match.
Bruce Momjian [Tue, 28 Sep 2010 18:43:01 +0000 (18:43 +0000)]
Mention that pg_upgrade requires write permission in the current
directory.
Per report from Harald Armin Massa.
Bruce Momjian [Tue, 28 Sep 2010 18:32:06 +0000 (18:32 +0000)]
Mention in pg_upgrade docs that the proper Win32 service name should be used.
Per report from Harald Armin Massa
Tom Lane [Tue, 28 Sep 2010 16:08:56 +0000 (12:08 -0400)]
Fix PlaceHolderVar mechanism's interaction with outer joins.
The point of a PlaceHolderVar is to allow a non-strict expression to be
evaluated below an outer join, after which its value bubbles up like a Var
and can be forced to NULL when the outer join's semantics require that.
However, there was a serious design oversight in that, namely that we
didn't ensure that there was actually a correct place in the plan tree
to evaluate the placeholder :-(. It may be necessary to delay evaluation
of an outer join to ensure that a placeholder that should be evaluated
below the join can be evaluated there. Per recent bug report from Kirill
Simonov.
Back-patch to 8.4 where the PlaceHolderVar mechanism was introduced.
Bruce Momjian [Tue, 28 Sep 2010 17:25:20 +0000 (17:25 +0000)]
Add mention of installing pg_upgrade_support in pg_upgrade doc section
title, per suggestion from Ian Barwick.
Alvaro Herrera [Tue, 28 Sep 2010 15:24:00 +0000 (11:24 -0400)]
Add missing agg_type nonterminal description in new reference page.
Andrew Dunstan [Tue, 28 Sep 2010 14:00:28 +0000 (10:00 -0400)]
Fix MSVC builds for dummy_seclabel breakage.
Robert Haas [Tue, 28 Sep 2010 11:03:10 +0000 (07:03 -0400)]
Fix duplicate OIDs introduced by SECURITY LABEL patch.
Report by Shigeru Hanada.
Itagaki Takahiro [Tue, 28 Sep 2010 06:55:25 +0000 (15:55 +0900)]
Only DISCARD ALL should be in the command_no_begin list.
We allowes DISCARD PLANS and TEMP in a transaction.
Itagaki Takahiro [Tue, 28 Sep 2010 05:20:17 +0000 (14:20 +0900)]
Add DISCARD to the command_no_begin list for AUTOCOMMIT=off.
Backpatch to 8.3.
Reported by Sergey Burladyan.
Robert Haas [Tue, 28 Sep 2010 00:55:27 +0000 (20:55 -0400)]
Add a SECURITY LABEL command.
This is intended as infrastructure to support integration with label-based
mandatory access control systems such as SE-Linux. Further changes (mostly
hooks) will be needed, but this is a big chunk of it.
KaiGai Kohei and Robert Haas
Robert Haas [Mon, 27 Sep 2010 13:14:14 +0000 (09:14 -0400)]
Add "(change requires restart)" note to some postgresql.conf parameters.
Devrim GÜNDÜZ
Tom Lane [Mon, 27 Sep 2010 00:22:17 +0000 (20:22 -0400)]
Improve git_changelog as per discussion with Robert Haas.
1. Resurrect the behavior where old commits on master will have Branch:
labels for branches sprouted after the commit was made. I'm still
dubious about this mode, but if you want it, say --post-date or -p.
2. Annotate the Branch: labels with the release or branch in which the
commit was publicly released. For example, on a release branch you could
see
Branch: REL8_3_STABLE Release: REL8_3_2 [
92c3a8004] 2008-03-29 00:15:37 +0000
showing that the fix was released in 8.3.2. Commits on master will
usually instead have notes like
Branch: master Release: REL8_4_BR [
6fc9d4272] 2008-03-29 00:15:28 +0000
showing that this commit is ancestral to release branches 8.4 and later.
If no Release: marker appears, the commit hasn't yet made it into any
release.
3. Add support for release branches older than 7.4.
4. The implementation is improved by running git log on each branch only
back to where the branch sprouts from master. This saves a good deal
of time (about 50% of the runtime when generating the complete history).
We generate the post-date-mode tags via a direct understanding that
they should be applied to master commits made before the branch sprouted,
rather than backing into them via matching (which isn't any too
reliable when people used identical log messages for successive commits).
Peter Eisentraut [Sun, 26 Sep 2010 11:41:03 +0000 (14:41 +0300)]
Add ALTER TYPE ... ADD/DROP/ALTER/RENAME ATTRIBUTE
Like with tables, this also requires allowing the existence of
composite types with zero attributes.
reviewed by KaiGai Kohei
Tom Lane [Sun, 26 Sep 2010 05:51:20 +0000 (01:51 -0400)]
Still more tweaking of git_changelog.
1. Don't assume there's only one candidate match; check them all and use the
one with the closest timestamp. Avoids funny output when someone makes
several successive commits with the same log message, as certain people
have been known to do.
2. When the same commit (with the same SHA1) is reachable from multiple
branch tips, don't report it for all the branches; instead report it only
for the first such branch. Given our development practices, this case
arises only for commits that occurred before a given branch split off from
master. The original coding blamed old commits on *all* the branches,
which isn't terribly useful; the new coding blames such a commit only on
master.
Tom Lane [Sun, 26 Sep 2010 04:21:51 +0000 (00:21 -0400)]
Fix some more bugs in git_changelog.
1. Don't forget the last (oldest) commit on the oldest branch.
2. When considering which commit to print next, if two alternatives have
the same "distortion" score (which is actually the normal case, since
generally the "distortion" is 0), then choose the later timestamp to
print first. I don't know where Robert got the idea to ignore timestamps
and sort by branch age, but it wasn't a good idea: the resulting ordering
of commits was just plain bizarre anywhere that some branches had many
fewer commits than others, which is the typical situation for us.
Tom Lane [Sun, 26 Sep 2010 00:50:57 +0000 (20:50 -0400)]
Minor improvements to git_changelog.
Avoid depending on Date::Calc, which isn't in a basic Perl installation,
when we can equally well use Time::Local which is. Also fix the parsing
of timestamps to take heed of the timezone. (It looks like cvs2git emitted
all commit timestamps with zone GMT, so this refinement might've looked
unnecessary when looking at converted data; but it's needed now.)
Fix parsing of message bodies so that blank lines that may or may not get
emitted by "git log" aren't confused with real data. This avoids strange
formatting of the oldest commit on a branch.
Check child-process exit status, so that we actually notice if "git log"
fails, and so that we don't accumulate zombie children.
Tom Lane [Sat, 25 Sep 2010 23:31:26 +0000 (19:31 -0400)]
Rename git_topo_order -> git_changelog, per discussion.
Tom Lane [Sat, 25 Sep 2010 23:03:50 +0000 (19:03 -0400)]
Fix another join removal bug: the check on PlaceHolderVars was wrong.
The previous coding would decide that join removal was unsafe upon finding
a PlaceHolderVar that needed to be evaluated at the inner rel and then used
above the join. However, this fails to cover the case of PlaceHolderVars
that refer to both the inner rel and some other rels. Per bug report from
Andrus.
Peter Eisentraut [Sat, 25 Sep 2010 06:57:09 +0000 (09:57 +0300)]
Fix man page markup for <cmdsynopsis> with multiple variants
Command synopses using <cmdsynopsis> with multiple variants previously used
<sbr> to break lines between variants. The new man page toolchain introduced
in 9.0 makes a mess out of that, and that markup was probably wrong all along,
because <sbr> is supposed to break lines within a synopsis, not between them.
So fix that by using multiple <cmdsynopsis> elements inside <refsynopsisdiv>.
backpatched to 9.0
Robert Haas [Fri, 24 Sep 2010 18:35:01 +0000 (14:35 -0400)]
In levenshtein_internal(), describe algorithm a bit more clearly.
Tom Lane [Fri, 24 Sep 2010 17:48:15 +0000 (13:48 -0400)]
Still more .gitignore cleanup.
Fix overly-enthusiastic ignores, as identified by
git ls-files -i --exclude-standard
Alvaro Herrera [Fri, 24 Sep 2010 05:32:52 +0000 (01:32 -0400)]
Prevent doc/src/sgml subdirs from being created, instead of deleting
them after the fact. This is a more elegant fix for bug #5595.
Robert Haas [Fri, 24 Sep 2010 02:00:26 +0000 (22:00 -0400)]
Add contrib/xml2/pgxml.sql to .gitignore
Kevin Grittner
Robert Haas [Thu, 23 Sep 2010 21:44:22 +0000 (17:44 -0400)]
Replace doc references to install-win32 with install-windows.
Windows is not necessarily 32-bit, any more.
As suggested by Mike Toews.
Tom Lane [Thu, 23 Sep 2010 21:16:51 +0000 (17:16 -0400)]
ProcessIncomingNotify *must* reset notifyInterruptOccurred when called.
This was broken in 9.0 by careless addition of an early-exit path.
Bug report and diagnosis by Jeff Davis.
Tom Lane [Thu, 23 Sep 2010 20:53:16 +0000 (16:53 -0400)]
Prevent show_session_authorization from crashing when session_authorization
hasn't been set.
The only known case where this can happen is when show_session_authorization
is invoked in an autovacuum process, which is possible if an index function
calls it, as for example in bug #5669 from Andrew Geery. We could perhaps
try to return a sensible value, such as the name of the cluster-owning
superuser; but that seems like much more trouble than the case is worth,
and in any case it could create new possible failure modes. Simply
returning an empty string seems like the most appropriate fix.
Back-patch to all supported versions, even those before autovacuum, just
in case there's another way to provoke this crash.
Tom Lane [Thu, 23 Sep 2010 19:34:56 +0000 (15:34 -0400)]
Avoid sharing subpath list structure when flattening nested AppendRels.
In some situations the original coding led to corrupting the child AppendRel's
subpaths list, effectively adding other members of the parent's list to it.
This was usually masked because we never made any further use of the child's
list, but given the right combination of circumstances, we could do so. The
visible symptom would be a relation getting scanned twice, as in bug #5673
from David Schmitt.
Backpatch to 8.2, which is as far back as the risky coding appears. The
example submitted by David only fails in 8.4 and later, but I'm not convinced
that there aren't any even-more-obscure cases where 8.2 and 8.3 would fail.
Tom Lane [Thu, 23 Sep 2010 19:16:49 +0000 (15:16 -0400)]
Make _outPathInfo print the relid set of the path's parent rel.
We can't actually print the parent RelOptInfo in toto, because that would
lead to infinite recursion. But it's safe enough to reach into the parent
and print its identifying relids, and that makes it a whole lot easier
to figure out what a Path represents. Should have done this years ago.
Heikki Linnakangas [Thu, 23 Sep 2010 11:49:00 +0000 (14:49 +0300)]
Initialize tableoid field correctly when dumping foreign data wrappers and
servers. AFAICT it's harmless at the moment because nothing can depend on
either, but as soon as we introduce an object type with such dependencies,
tableoid needs to be set or pg_dump will fail to interpret the dependencies
correctly. In theory, I guess the uninitialized garbage in tableoid could
cause the object to be mistaken for some other object with same OID as well.
Tom Lane [Thu, 23 Sep 2010 03:48:07 +0000 (23:48 -0400)]
Re-allow input of Julian dates prior to 0001-01-01 AD.
This was unintentionally broken in 8.4 while tightening up checking of
ordinary non-Julian date inputs to forbid references to "year zero".
Per bug #5672 from Benjamin Gigot.
Tom Lane [Thu, 23 Sep 2010 06:32:03 +0000 (02:32 -0400)]
More fixes for libpq's .gitignore file.
The previous patches failed to cover a lot of symlinks that are only
added in platform-specific cases. Make the lists match what's in the
Makefile for each branch.
Robert Haas [Thu, 23 Sep 2010 01:57:37 +0000 (21:57 -0400)]
Fix inconsistent capitalization of "PL/pgSQL".
Josh Kupershmidt
Tom Lane [Thu, 23 Sep 2010 00:22:26 +0000 (20:22 -0400)]
Do some copy-editing on the Git usage docs.
Tom Lane [Wed, 22 Sep 2010 23:51:39 +0000 (19:51 -0400)]
Fix remaining stray references to CVS.
These are just cosmetic and don't seem worth back-patching far.
I put them into 9.0 just because it was trivial to do so.
Tom Lane [Wed, 22 Sep 2010 22:08:45 +0000 (18:08 -0400)]
Add assorted other documentation build targets to documentation gitignore.
Tom Lane [Wed, 22 Sep 2010 21:21:53 +0000 (17:21 -0400)]
Some more gitignore cleanups: cover contrib and PL regression test outputs.
Also do some further work in the back branches, where quite a bit wasn't
covered by Magnus' original back-patch.
Magnus Hagander [Wed, 22 Sep 2010 19:49:06 +0000 (21:49 +0200)]
Add gitignore files for ecpg regression tests.
Backpatch to 8.2 as that's how far the structure looks the same.
Magnus Hagander [Wed, 22 Sep 2010 18:10:28 +0000 (20:10 +0200)]
Remove anonymous cvs instructions, and replace them with instructions
for git. Change other references from cvs to git as well.
Magnus Hagander [Wed, 22 Sep 2010 10:57:04 +0000 (12:57 +0200)]
Convert cvsignore to gitignore, and add .gitignore for build targets.
Robert Haas [Wed, 22 Sep 2010 10:37:46 +0000 (06:37 -0400)]
Typo fix. "CVS" is not the same thing as "CSV".
Tom Lane [Tue, 21 Sep 2010 21:45:55 +0000 (17:45 -0400)]
pgcvslog isn't useful anymore, either.
See git_topo_order instead.
Tom Lane [Tue, 21 Sep 2010 21:40:24 +0000 (17:40 -0400)]
add_cvs_markers isn't useful anymore.
Tom Lane [Tue, 21 Sep 2010 21:18:57 +0000 (17:18 -0400)]
Some more cleanup of CVS keyword noise.
Poking around for remaining occurrences of CVS keyword strings, I came
across one that apparently reflects the use of a $Revision: ...$ string
in the original input data. Dunno why anybody would be using that in
an MTA's Received: lines, but there it is. Put it back to the way that
it was originally, according to inspection of the CVS repo.
Tom Lane [Tue, 21 Sep 2010 20:53:25 +0000 (16:53 -0400)]
The port/pg_latch.c symlink ought to be removed by make distclean.
Not sure why these symlinks are removed here and not in the port/
Makefile, but I won't second-guess that choice right now.
Tom Lane [Tue, 21 Sep 2010 20:40:41 +0000 (16:40 -0400)]
Fix a missed explanation of auto-analyze threshold, per Joe Miller.
Tom Lane [Tue, 21 Sep 2010 18:16:00 +0000 (14:16 -0400)]
Trivial typo fix.
Robert Haas [Tue, 21 Sep 2010 04:25:07 +0000 (00:25 -0400)]
Remove various mentions of CVS from src/tools/RELEASE_CHANGES.
Robert Haas [Tue, 21 Sep 2010 04:18:20 +0000 (00:18 -0400)]
git_topo_order script, to match up commits across branches.
This script is intended to substitute for cvs2cl in generating release
notes and scrutinizing what got back-patched to which branches.
Script by me. Support for --since by Alex Hunsaker.
Magnus Hagander [Tue, 21 Sep 2010 10:40:16 +0000 (12:40 +0200)]
Rename README.CVS to README.git and change references in it.
Magnus Hagander [Mon, 20 Sep 2010 20:08:53 +0000 (22:08 +0200)]
Remove cvs keywords from all files.
Bruce Momjian [Sun, 19 Sep 2010 17:51:44 +0000 (17:51 +0000)]
Update HOT README about when single-page vacuums happen.
Tom Lane [Sun, 19 Sep 2010 16:27:17 +0000 (16:27 +0000)]
Replace last remaining $Id$ with $PostgreSQL$.
Tom Lane [Sun, 19 Sep 2010 16:17:45 +0000 (16:17 +0000)]
Fix several broken $PostgreSQL$ keywords. Noted while experimenting
with Magnus's script to remove these.
Tom Lane [Sat, 18 Sep 2010 20:10:15 +0000 (20:10 +0000)]
Make sure we wait for protocol-level EOF when ending binary COPY IN.
The previous coding just terminated the COPY immediately after seeing
the EOF marker (-1 where a row field count is expected). The expected
CopyDone or CopyFail message just got thrown away later, since we weren't
in COPY mode anymore. This behavior complicated matters for the JDBC
driver, and arguably was the wrong thing in any case since a CopyFail
message after the marker wouldn't be honored.
Note that there is a behavioral change here: extra data after the EOF
marker was silently ignored before, but now it will cause an error.
Hence not back-patching, although this is arguably a bug.
Per report and patch by Kris Jurka.
Tom Lane [Sat, 18 Sep 2010 18:37:01 +0000 (18:37 +0000)]
Give a suitable HINT when an INSERT's data source is a RowExpr containing
the same number of columns expected by the insert. This suggests that there
were extra parentheses that converted the intended column list into a row
expression.
Original patch by Marko Tiikkaja, rather heavily editorialized by me.
Robert Haas [Fri, 17 Sep 2010 18:49:54 +0000 (18:49 +0000)]
Move pg_db_role_setting docs to correct place in alphabetical order.
Robert Haas [Fri, 17 Sep 2010 02:49:10 +0000 (02:49 +0000)]
Remove duplicated code left behind by my recent refactoring of comment.c
These checks are also present in objectaddress.c, so there's no need to
recheck here.
Tom Lane [Fri, 17 Sep 2010 00:42:39 +0000 (00:42 +0000)]
Add some documentation about how we WAL-log filesystem actions.
Per a question from Robert Haas.
Magnus Hagander [Thu, 16 Sep 2010 20:37:13 +0000 (20:37 +0000)]
Treat exit code 128 (ERROR_WAIT_NO_CHILDREN) as non-fatal on Win32,
since it can happen when a process fails to start when the system
is under high load.
Per several bug reports and many peoples investigation.
Back-patch to 8.4, which is as far back as the "deadman-switch"
for shared memory access exists.
Tom Lane [Thu, 16 Sep 2010 18:15:21 +0000 (18:15 +0000)]
Stamp 9.0 release notes with expected release date; also some last-minute
copy-editing.