- 23 Aug, 2011 4 commits
- 
- 
Peter Eisentraut authoredUse something like "error code %lu" for reporting GetLastError() values on Windows. Previously, a mix of different wordings and formats were in use. 
- 
Heikki Linnakangas authoredFujii Masao 
- 
Bruce Momjian authored
- 
Bruce Momjian authored
 
- 
- 22 Aug, 2011 4 commits
- 
- 
Robert Haas authored
- 
Tom Lane authoredThe previous coding would result in deleting and not re-creating the extension membership pg_depend rows, since there was no CommandCounterIncrement that would allow recordDependencyOnCurrentExtension to see that the deletion had happened. Make it work like the shell type case, ie, keep the existing entries (and then throw an error if they're for the wrong extension). Per bug #6172 from Hitoshi Harada. Investigation and fix by Dimitri Fontaine. 
- 
Bruce Momjian authored
- 
Bruce Momjian authored
 
- 
- 21 Aug, 2011 1 commit
- 
- 
Tom Lane authoredDue to tuple-slot mismanagement, evaluation of WHEN conditions for AFTER ROW UPDATE triggers could crash if there had been a BEFORE ROW trigger fired for the same update. Fix by not trying to overload the use of estate->es_trig_tuple_slot. Per report from Yoran Heling. Back-patch to 9.0, when trigger WHEN conditions were introduced. 
 
- 
- 20 Aug, 2011 2 commits
- 
- 
Bruce Momjian authoredthan /tmp. Also cleanup C defines and add comments. Per report by Alex Soto 
- 
Tom Lane authoredAs pointed out by Sergey Koposov, repeated invocations of tbm_lossify can make building a large tidbitmap into an O(N^2) operation. To fix, make sure we remove more than the minimum amount of information per call, and add a fallback path to behave sanely if we're unable to fit the bitmap within the requested amount of memory. This has been wrong since the tidbitmap code was written, so back-patch to all supported branches. 
 
- 
- 19 Aug, 2011 9 commits
- 
- 
Bruce Momjian authoredKris Jurka 
- 
Bruce Momjian authoredReport and fix by Kris Jurka 
- 
Bruce Momjian authoredopen/close. 
- 
Bruce Momjian authored
- 
Bruce Momjian authoredDavid Fetter 
- 
Robert Haas authoredEliminate dependencies on "which", as we don't really need that to be installed for proper testing. Don't number the tests, as that increases the footprint of every patch that wants to add or remove tests. Make the test output more informative, so that it's a bit easier to see what went right (or wrong). Spelling and grammar improvements. 
- 
Robert Haas authoredcontrib/xml2 can get by without libxslt; the relevant features just won't work. But if doesn't have libxml2, or if sepgsql doesn't have libselinux, the link succeeds but the module then fails to work at load time. To avoid that, link the require libraries unconditionally, so that it will be clear at link-time that there is a problem. Per discussion with Tom Lane and KaiGai Kohei. 
- 
Robert Haas authoredKaiGai Kohei, with some changes by me. 
- 
Bruce Momjian authoredhave crash-safe visibility maps to clusters that expect crash-safety. Request from Robert Haas. 
 
- 
- 18 Aug, 2011 10 commits
- 
- 
Robert Haas authored
- 
Tom Lane authoredNow that we have a test that requires nondefault settings to pass, it seems like we'd better mention that detail in the directions about how to run the tests. Also do some very minor copy-editing. 
- 
Heikki Linnakangas authoredorder of begin, prepare, and commit of three concurrent transactions that have conflicts between them. The test runs for a quite long time, and the expected output file is huge, but this test caught some serious bugs during development, so seems worthwhile to keep. The test uses prepared transactions, so it fails if the server has max_prepared_transactions=0. Because of that, it's marked as "ignore" in the schedule file. Dan Ports 
- 
Heikki Linnakangas authoredcosmetic, it removes a lot of IMHO ugly whitespace from the expected output. 
- 
Robert Haas authoreddo_analyze_rel already does it this way. Euler Taveira de Oliveira 
- 
Robert Haas authoredPerhaps we ought to add some other kind of documentation here instead, but for now let's get rid of this woefully obsolete description of the sinval machinery. 
- 
Peter Eisentraut authoredBecause of ABI tagging, the library version number might no longer be exactly the Python version number, so do extra lookups. This affects installations without a shared library, such as ActiveState's installer. Also update the way to detect the location of the 'config' directory, which can also be versioned. Ashesh Vashi 
- 
Peter Eisentraut authoredModule initialization functions in Python 3 must have external linkage, because PyMODINIT_FUNC does dllexport on Windows-like platforms. Without this change, the build with Python 3 fails on Windows. 
- 
Peter Eisentraut authored
- 
Tom Lane authoredAlso do another pass of copy-editing. 
 
- 
- 17 Aug, 2011 8 commits
- 
- 
Tom Lane authoredDropped columns within a composite type were not handled correctly. Also, we did not check for whether a composite result type had changed since we cached the information about it. Jan Urbański, per a bug report from Jean-Baptiste Quenot 
- 
Andrew Dunstan authoredBug reported by David Wheeler, fix by Alex Hunsaker. 
- 
Peter Eisentraut authored
- 
Heikki Linnakangas authoredin control file. 
- 
Heikki Linnakangas authoredIt was invalidated again by Fujii's patch to 9.1. 
- 
Magnus Hagander authoredPer comment form Fujii Masao. 
- 
Peter Eisentraut authoredThe translation tools are very unhappy about seeing \r in translatable strings, so move it to a separate fprintf call. 
- 
Peter Eisentraut authoredJosh Kupershmidt 
 
- 
- 16 Aug, 2011 2 commits
- 
- 
Tom Lane authoredThis requires adjusting the API for syscache callback functions: they now get a hash value, not a TID, to identify the target tuple. Most of them weren't paying any attention to that argument anyway, but plancache did require a small amount of fixing. Also, improve performance a trifle by avoiding sending duplicate inval messages when a heap_update isn't changing the catcache lookup columns. 
- 
Tom Lane authoredThe TID isn't stable enough: we might queue an sinval event before a VACUUM FULL, and then process it afterwards, when the target tuple no longer has the same TID. So we must invalidate entries on the basis of hash value only. The old coding can be shown to result in various bizarre, hard-to-reproduce errors in the presence of concurrent VACUUM FULLs on system catalogs, and could easily result in permanent catalog corruption, up to and including complete loss of tables. This commit is just a minimal fix that removes the unsafe comparison. We should remove transmission of the tuple TID from sinval messages altogether, and then arrange to suppress the extra message in the common case of a heap_update that doesn't change the key hashvalue. But that's going to be much more invasive, and will only produce a probably-marginal performance gain, so it doesn't seem like material for a back-patch. Back-patch to 9.0. Before that, VACUUM FULL refused to do any tuple moving if it found any INSERT_IN_PROGRESS or DELETE_IN_PROGRESS tuples (and CLUSTER would give up altogether), so there was no risk of moving a tuple that might be the subject of an unsent sinval message. 
 
-