Commit Graph

31736 Commits

Author SHA1 Message Date
Alvaro Herrera
8c250f3741 Duplicate expansion of "direction" from FETCH's synopsis into MOVE 2011-04-04 12:04:43 -04:00
Robert Haas
6c57239985 Rearrange "add column" logic to merge columns at exec time.
The previous coding set attinhcount too high in some cases, resulting in
an undumpable, undroppable column.  Per bug #5856, reported by Naoya
Anzai.  See also commit 31b6fc06d8, which
fixes a similar bug in ALTER TABLE .. ADD CONSTRAINT.

Patch by Noah Misch.
2011-04-03 21:53:32 -04:00
Robert Haas
cabf5d84b6 Improve documentation on the range of the numeric data type.
Gianni Ciolli, reviewed by Noah Misch
2011-04-03 19:56:22 -04:00
Robert Haas
1981fb7313 Remove mention of using "man" from the tutorial.
This isn't applicable on Windows, and the internal link to the
psql documentation should be more than sufficient.

Susanne Ebrecht
2011-04-03 19:49:05 -04:00
Robert Haas
38b27792ea Avoid possible hang during smart shutdown.
If a smart shutdown occurs just as a child is starting up, and the
child subsequently becomes a walsender, there is a race condition:
the postmaster might count the exstant backends, determine that there
is one normal backend, and wait for it to die off.  Had the walsender
transition already occurred before the postmaster counted, it would
have proceeded with the shutdown.

To fix this, have each child that transforms into a walsender kick
the postmaster just after doing so, so that the state machine is
certain to advance.

Fujii Masao
2011-04-03 19:42:00 -04:00
Tom Lane
d518d6a168 Fix typo in PQconnectStartParams().
This would lead to leaking the PGconn structure after an error detected by
conninfo_array_parse(), as well as failing to return a useful error message
in such cases.  Backpatch to 9.0 where the error was introduced.

Joseph Adams
2011-04-02 18:05:42 -04:00
Heikki Linnakangas
d420ba2a2d Escape greater than and less than characters in docs.
Susanne Ebrecht and me
2011-04-02 17:08:06 +03:00
Magnus Hagander
5735efee15 Avoid palloc before CurrentMemoryContext is set up on win32
Instead, write the unconverted output - it will be in the wrong
encoding, but at least we don't crash.

Rushabh Lathia
2011-04-01 19:59:44 +02:00
Robert Haas
e49ad77ff9 Tab completion for COMMENT ON FOREIGN DATA WRAPPER / SERVER. 2011-04-01 13:15:49 -04:00
Robert Haas
dd095b623e pg_dump support for comments on FOREIGN DATA WRAPPER and SERVER objects.
Shigeru Hanada, with some corrections.
2011-04-01 11:41:07 -04:00
Robert Haas
50533a6dc5 Support comments on FOREIGN DATA WRAPPER and SERVER objects.
This mostly involves making it work with the objectaddress.c framework,
which does most of the heavy lifting.  In that vein, change
GetForeignDataWrapperOidByName to get_foreign_data_wrapper_oid and
GetForeignServerOidByName to get_foreign_server_oid, to match the
pattern we use for other object types.

Robert Haas and Shigeru Hanada
2011-04-01 11:28:28 -04:00
Robert Haas
7fcc75dd26 Fix compiler warning. 2011-04-01 10:36:38 -04:00
Heikki Linnakangas
9d56886112 Fix two missing spaces in error messages.
Josh Kupershmidt
2011-04-01 14:42:38 +03:00
Heikki Linnakangas
60b142b9a6 Fix a tiny race condition in predicate locking. Need to hold the lock while
examining the head of predicate locks list. Also, fix the comment of
RemoveTargetIfNoLongerUsed, it was neglected when we changed the way update
chains are handled.

Kevin Grittner
2011-03-31 18:43:23 +03:00
Heikki Linnakangas
c8ae318cbe Increase SHMEM_INDEX_SIZE from 32 to 64. We're currently at 40 entries in
ShmemIndex, so 64 leaves some headroom.

Kevin Grittner
2011-03-31 13:37:01 +03:00
Heikki Linnakangas
ec7626504f Don't leak the temporary PLyProcedure struct we create for inline plpython
blocks.

Investigation by Jan Urbański, though I didn't use his patch.
2011-03-31 12:37:11 +03:00
Heikki Linnakangas
647f8b3dba Reword the phrase on zero replication_timeout in the docs. 2011-03-31 10:19:29 +03:00
Heikki Linnakangas
1f0bab8494 Improve error message when WAL ends before reaching end of online backup. 2011-03-31 10:09:49 +03:00
Bruce Momjian
da3418cea9 Mention pg_upgrade sets autovacuum_freeze_max_age to maximum. 2011-03-30 17:45:54 -04:00
Bruce Momjian
d609b08ead Expand comment on how pg_upgrade is turning off autovacuum. 2011-03-30 17:37:00 -04:00
Andrew Dunstan
382fb6a08f Attempt to unbreak windows builds broken by commit 754baa2. 2011-03-30 16:43:31 -04:00
Heikki Linnakangas
acf4740132 Check that we've reached end-of-backup also when we're not performing
archive recovery.

It's possible to restore an online backup without recovery.conf, by simply
copying all the necessary WAL files to pg_xlog. "pg_basebackup -x" does that
too. That's the use case where this cross-check is useful.

Backpatch to 9.0. We used to do this in earlier versins, but in 9.0 the code
was inadvertently changed so that the check is only performed after archive
recovery.

Fujii Masao.
2011-03-30 10:53:28 +03:00
Heikki Linnakangas
754baa21f7 Automatically terminate replication connections that are idle for more
than replication_timeout (a new GUC) milliseconds. The TCP timeout is often
too long, you want the master to notice a dead connection much sooner.
People complained about that in 9.0 too, but with synchronous replication
it's even more important to notice dead connections promptly.

Fujii Masao and Heikki Linnakangas
2011-03-30 10:20:37 +03:00
Heikki Linnakangas
bc03c5937d Adjust error message, now that we expect other message types than connection
close at this point. Fix PQsetnonblocking() comment.

Fujii Masao
2011-03-30 08:54:28 +03:00
Peter Eisentraut
f564e65cda Update SQL features list
Feature F692 "Extended collation support" is now also supported.  This
refers to allowing the COLLATE clause anywhere in a column or domain
definition instead of just directly after the type.

Also correct the name of the feature in accordance with the latest SQL
standard.
2011-03-29 23:23:50 +03:00
Bruce Momjian
d67b0bf471 In pg_upgrade, add C comment about how autovacuum is disabled. 2011-03-29 11:11:45 -04:00
Peter Eisentraut
6c0dfc0356 Add maintainer-check target
This can do various source code checks that are not appropriate for
either the build or the regression tests.  Currently: duplicate_oids,
SGML syntax and tabs check, NLS syntax check.
2011-03-28 22:56:52 +03:00
Peter Eisentraut
aa6fdd186c Make duplicate_oids return nonzero exit status if duplicates were found
Automatic detection of errors is easier that way.
2011-03-28 22:56:52 +03:00
Tom Lane
eb51af71f2 Prevent a rowtype from being included in itself.
Eventually we might be able to allow that, but it's not clear how many
places need to be fixed to prevent infinite recursion when there's a direct
or indirect inclusion of a rowtype in itself.  One such place is
CheckAttributeType(), which will recurse to stack overflow in cases such as
those exhibited in bug #5950 from Alex Perepelica.  If we were sure it was
the only such place, we could easily modify the code added by this patch to
stop the recursion without a complaint ... but it probably isn't the only
such place.  Hence, throw error until such time as someone is excited
enough about this type of usage to put work into making it safe.

Back-patch as far as 8.3.  8.2 doesn't have the recursive call in
CheckAttributeType in the first place, so I see no need to add code there
in the absence of clear evidence of a problem elsewhere.
2011-03-28 15:46:04 -04:00
Bruce Momjian
5c22c0eda1 Add 9.1 release note link for synchronous replication.
We already had links to the GUC variables that control it.
2011-03-28 14:50:08 -04:00
Robert Haas
7c7fd882a5 Mark up release notes using <link>.
Unlike <xref>, this actually works.
2011-03-28 09:42:09 -04:00
Alvaro Herrera
e5948e3504 Add missing #include 2011-03-28 10:37:29 -03:00
Tom Lane
a720c28f0a Get rid of links that don't work when building HISTORY. 2011-03-28 09:34:56 -04:00
Robert Haas
20a1159fcc Typo fix in SSI docs.
Kevin Grittner
2011-03-27 21:35:15 -04:00
Robert Haas
de32982242 Correct "characters" to "bytes" in createdb docs.
Susanne Ebrecht
2011-03-27 21:28:15 -04:00
Greg Stark
7b66e2c086 fix up a couple non-prototypes of the form foo() to be foo(void) -- found using -Wstrict-prototypes 2011-03-27 21:31:41 +01:00
Tom Lane
d0dd5c7352 Fix check_exclusion_constraint() to insert correct collations in ScanKeys. 2011-03-27 13:29:52 -04:00
Tom Lane
87f2ad1326 Fix plpgsql to release SPI plans when a function or DO block is freed.
This fixes the gripe I made a few months ago about DO blocks getting
slower with repeated use.  At least, it fixes it for the case where
the DO block isn't aborted by an error.  We could try running
plpgsql_free_function_memory() even during error exit, but that seems
a bit scary since it makes a lot of presumptions about the data
structures being in good shape.  It's probably reasonable to assume
that repeated failures of DO blocks isn't a performance-critical case.
2011-03-27 12:51:04 -04:00
Robert Haas
de592e2669 Remove disclaimer stating that fsync=off slows down sync rep.
The underlying problem that caused this phenomenon was fixed by commit
92f4786fa9.
2011-03-26 21:19:06 -04:00
Robert Haas
ab1ef8e444 Update release notes for latest commits.
In addition, correct the entry for pg_object_description, and some other
minor cleanup.
2011-03-26 21:13:55 -04:00
Tom Lane
7208fae18f Clean up cruft around collation initialization for tupdescs and scankeys.
I found actual bugs in GiST and plpgsql; the rest of this is cosmetic
but meant to decrease the odds of future bugs of omission.
2011-03-26 18:28:40 -04:00
Tom Lane
0c9d9e8dd6 More collations cleanup, from trawling for missed collation assignments.
Mostly cosmetic, though I did find that generateClonedIndexStmt failed
to clone the index's collations.
2011-03-26 16:35:25 -04:00
Tom Lane
b23c9fa929 Clean up a few failures to set collation fields in expression nodes.
I'm not sure these have any non-cosmetic implications, but I'm not sure
they don't, either.  In particular, ensure the CaseTestExpr generated
by transformAssignmentIndirection to represent the base target column
carries the correct collation, because parse_collate.c won't fix that.
Tweak lsyscache.c API so that we can get the appropriate collation
without an extra syscache lookup.
2011-03-26 14:25:48 -04:00
Simon Riggs
92f4786fa9 Additional test for each commit in sync rep path to plug minute
possibility of race condition that would effect performance only.
Requested by Robert Haas. Re-arrange related comments.
2011-03-26 10:09:37 +00:00
Tom Lane
bfa4440ca5 Pass collation to makeConst() instead of looking it up internally.
In nearly all cases, the caller already knows the correct collation, and
in a number of places, the value the caller has handy is more correct than
the default for the type would be.  (In particular, this patch makes it
significantly less likely that eval_const_expressions will result in
changing the exposed collation of an expression.)  So an internal lookup
is both expensive and wrong.
2011-03-25 20:10:42 -04:00
Tom Lane
c8e993503d Fix failure to propagate collation in negate_clause().
Turns out it was this, and not so much plpgsql, that was at fault in Stefan
Huehner's collation-error-in-a-trigger bug report of a couple weeks ago.
2011-03-25 18:44:47 -04:00
Tom Lane
9b19c12e1d Document collation handling in SQL and plpgsql functions.
This is pretty minimal but covers the bare facts.
2011-03-25 18:21:25 -04:00
Tom Lane
a4425e3200 Fix collation handling in plpgsql functions.
Make plpgsql treat the input collation as a polymorphism variable, so
that we cache separate plans for each input collation that's used in a
particular session, as per recent discussion.  Propagate the input
collation to all collatable input parameters.

I chose to also propagate the input collation to all declared variables of
collatable types, which is a bit more debatable but seems to be necessary
for non-astonishing behavior.  (Copying a parameter into a separate local
variable shouldn't result in a change of behavior, for example.)  There is
enough infrastructure here to support declaring a collation for each local
variable to override that default, but I thought we should wait to see what
the field demand is before adding such a feature.

In passing, remove exec_get_rec_fieldtype(), which wasn't used anywhere.

Documentation patch to follow.
2011-03-25 15:06:36 -04:00
Robert Haas
f6f0916dbd Remove alpha release notes.
Temporarily move some of the alpha release note disclaimers into the regular
release notes, for the sake of alpha5.
2011-03-25 11:52:11 -04:00
Robert Haas
30f6136f28 Make walreceiver send a reply after receiving data but before flushing it.
It originally worked this way, but was changed by commit
a8a8a3e096, since which time it's been impossible
for walreceiver to ever send a reply with write_location and flush_location
set to different values.
2011-03-25 11:28:16 -04:00