- 08 Oct, 2013 2 commits
-
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- 07 Oct, 2013 7 commits
-
-
Heikki Linnakangas authored
The TYPEALIGN macro, and the related ones like MAXALIGN, don't work with values larger than intptr_t, because TYPEALIGN casts the argument to intptr_t to do the arithmetic. That's not a problem when dealing with pointers or lengths or offsets related to pointers, but the XLogInsert scaling patch added a call to MAXALIGN with an XLogRecPtr argument. To fix, add wider variants of the macros, called TYPEALIGN64 and MAXALIGN64, which are just like the existing variants but work with uint64 instead of intptr_t. Report and patch by David Rowley, analysis by Andres Freund.
-
Heikki Linnakangas authored
1. In heap_hot_search_buffer(), the PredicateLockTuple() call is passed wrong offset number. heapTuple->t_self is set to the tid of the first tuple in the chain that's visited, not the one actually being read. 2. CheckForSerializableConflictIn() uses the tuple's t_ctid field instead of t_self to check for exiting predicate locks on the tuple. If the tuple was updated, but the updater rolled back, t_ctid points to the aborted dead tuple. Reported by Hannu Krosing. Backpatch to 9.1.
-
Peter Eisentraut authored
-
Robert Haas authored
Otherwise, we access already-freed memory. Oops. Report by Michael Paquier. Fix by me.
-
Robert Haas authored
This option provides more detailed error messages when STRICT is used and the number of rows returned is not one. Marko Tiikkaja, reviewed by Ian Lawrence Barwick
-
Kevin Grittner authored
If a tuple was frozen while its predicate locks mattered, read-write dependencies could be missed, resulting in failure to detect conflicts which could lead to anomalies in committed serializable transactions. This field was added to the tag when we still thought that it was necessary to carry locks forward to a new version of an updated row. That was later proven to be unnecessary, which allowed simplification of the code, but elimination of xmin from the tag was missed at the time. Per report and analysis by Heikki Linnakangas. Backpatch to 9.1.
-
Andrew Dunstan authored
Cédric Villemain and me.
-
- 06 Oct, 2013 2 commits
-
-
Noah Misch authored
Reviewed by Fabien COELHO.
-
Alvaro Herrera authored
Clamp the minimum sleep time during immediate shutdown or crash to a minimum of zero, not a maximum of one second. The previous code could result in a negative sleep time, leading to failure in select() calls. Also, on crash recovery, reset AbortStartTime as soon as SIGKILL is sent or abort processing has commenced instead of waiting until the startup process completes. Reset AbortStartTime as soon as SIGKILL is sent, too, to avoid doing that repeatedly. Per trouble report from Jeff Janes on CAMkU=1xd3=wFqZwwuXPWe4BQs3h1seYo8LV9JtSjW5RodoPxMg@mail.gmail.com Author: MauMau
-
- 05 Oct, 2013 3 commits
-
-
Noah Misch authored
Isolate transaction latency (elapsed time between submitting first command and receiving response to last command) from client-side delays pertaining to the --rate schedule. Under --rate, report schedule lag as defined in the documentation. Report latency standard deviation whenever we collect the measurements to do so. All of these changes affect --progress messages and the final report. Fabien COELHO, reviewed by Pavel Stehule.
-
Noah Misch authored
Oversight in commit 4a87f308. Fabien COELHO
-
Bruce Momjian authored
Mention that link mode uses less disk space, and uses junction points on Windows. Backpatch to 9.3.
-
- 04 Oct, 2013 6 commits
-
-
Alvaro Herrera authored
-
Alvaro Herrera authored
Also, make sure they pass on all transaction isolation levels.
-
Alvaro Herrera authored
Previously, isolationtester would forbid returning tuples in session-specific teardown (but not global teardown), as well as in global setup. Allow these places to return tuples, too.
-
Bruce Momjian authored
Issue error for SET LOCAL/CONSTRAINTS/TRANSACTION outside a transaction block, as they have no effect. Per suggestion from Morten Hustveit
-
Robert Haas authored
Maciek Sakrejda
-
Robert Haas authored
Report from Kevin Hale Boyes.
-
- 03 Oct, 2013 5 commits
-
-
Robert Haas authored
DISCARD ALL will now discard cached sequence information, as well. Fabrízio de Royes Mello, reviewed by Zoltán Böszörményi, with some further tweaks by me.
-
Robert Haas authored
Gilles Darold, reviewed by Pavel Stehule
-
Heikki Linnakangas authored
It makes for cleaner code to have separate Get/Add functions for PostingItems and ItemPointers. A few callsites that have to deal with both types need to be duplicated because of this, but all the callers have to know which one they're dealing with anyway. Overall, this reduces the amount of casting required. Extracted from Alexander Korotkov's larger patch to change the data page format.
-
Peter Eisentraut authored
-
Peter Eisentraut authored
The cancel handler was uselessly set up even before the first connection was opened. By setting it up afterwards, the user can use Ctrl+C to abort psql if the initial connection attempt hangs. Reviewed-by: Dean Rasheed <dean.a.rasheed@gmail.com> Reviewed-by: Ryan Kelly <rpkelly22@gmail.com>
-
- 02 Oct, 2013 2 commits
-
-
Bruce Momjian authored
-
Magnus Hagander authored
-
- 01 Oct, 2013 3 commits
-
-
Bruce Momjian authored
-
Alvaro Herrera authored
This is in support of a future REINDEX CONCURRENTLY feature. Michael Paquier
-
Alvaro Herrera authored
With the PGXS boilerplate in place, pg_xlogdump currently fails with an ominous error message that certain targets cannot be built because certain files do not exist. Remove that and instead throw a quick error message alerting the user of the actual problem, which should be easier to diagnose that the statu quo. Andres Freund
-
- 30 Sep, 2013 6 commits
-
-
Andrew Dunstan authored
Error noted by Andres Freund.
-
Andrew Dunstan authored
Push dependency on installdirs down to individual targets. Christoph Berg
-
Heikki Linnakangas authored
Previously bms_add_member() would palloc a whole-new copy of the existing set, copy the words, and pfree the old one. repalloc() is potentially much faster, and more importantly, this is less surprising if CurrentMemoryContext is not the same as the context the old set is in. bms_add_member() still allocates a new bitmapset in CurrentMemoryContext if NULL is passed as argument, but that is a lot less likely to induce bugs. Nicholas White.
-
Heikki Linnakangas authored
lo_open registers the currently active snapshot, and checks if the large object exists after that. Normally, snapshots registered by lo_open are unregistered at end of transaction when the lo descriptor is closed, but if we error out before the lo descriptor is added to the list of open descriptors, it is leaked. Fix by moving the snapshot registration to after checking if the large object exists. Reported by Pavel Stehule. Backpatch to 8.4. The snapshot registration system was introduced in 8.4, so prior versions are not affected (and not supported, anyway).
-
Fujii Masao authored
Pavan Deolasee
-
Andrew Dunstan authored
-
- 29 Sep, 2013 2 commits
-
-
Andrew Dunstan authored
This should have been done when the json functionality was added to hstore in 9.3.0. To handle this correctly, the upgrade script therefore uses conditional logic by using plpgsql in a DO statement to add the two new functions and the new cast. If hstore_to_json_loose is detected as already present and dependent on the hstore extension nothing is done. This will require that the database be loaded with plpgsql. People who have installed the earlier and spurious 1.1 version of hstore will need to do: ALTER EXTENSION hstore UPDATE; to pick up the new functions properly.
-
Andrew Dunstan authored
Cédric Villemain
-
- 26 Sep, 2013 2 commits
-
-
Robert Haas authored
David Rowley, after a suggestion from Heikki Linnakangas. Reviewed by Albe Laurenz, and further edited by me.
-
Andrew Dunstan authored
The behaviour in json_populate_record() and json_populate_recordset() was changed during development but the docs were not.
-