aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Remove last references to the crypt auth method, per Andreas Scherbaum.Tom Lane2009-04-01
|
* Modify the relcache to record the temp status of both local and nonlocalTom Lane2009-03-31
| | | | | | | | | | temp relations; this is no more expensive than before, now that we have pg_class.relistemp. Insert tests into bufmgr.c to prevent attempting to fetch pages from nonlocal temp relations. This provides a low-level defense against bugs-of-omission allowing temp pages to be loaded into shared buffers, as in the contrib/pgstattuple problem reported by Stuart Bishop. While at it, tweak a bunch of places to use new relcache tests (instead of expensive probes into pg_namespace) to detect local or nonlocal temp tables.
* Don't crash initdb when we fail to get the current username.Magnus Hagander2009-03-31
| | | | | | Give an error message and exit instead, like we do elsewhere... Per report from Wez Furlong and Robert Treat.
* Add a "relistemp" boolean column to pg_class, which is true for temporaryTom Lane2009-03-31
| | | | | | | relations (including a temp table's indexes and toast table/index), and false for normal relations. For ease of checking, this commit just adds the column and fills it correctly --- revising the relation access machinery to use it will come separately.
* Fix a rare race condition when commit_siblings > 0 and a transaction commitsHeikki Linnakangas2009-03-31
| | | | | | | | | | | at the same instant as a new backend is spawned. Since CountActiveBackends() doesn't hold ProcArrayLock, it needs to be prepared for the case that a pointer at the end of the proc array is still NULL even though numProcs says it should be valid, since it doesn't hold ProcArrayLock. Backpatch to 8.1. 8.0 and earlier had this right, but it was broken in the split of PGPROC and sinval shared memory arrays. Per report and proposal by Marko Kreen.
* Add PQinitOpenSSL() function to support applications that use libcryptoTom Lane2009-03-31
| | | | | | but not OpenSSL (or perhaps vice versa, if that's possible). Andrew Chernow, with minor editorialization by me.
* Fix window function plan generation to cope with volatile sort expressions.Tom Lane2009-03-30
| | | | | (Not clear how useful these really are, but failing is no good...) Per report from David Fetter and Robert Treat.
* Fix an oversight in the support for storing/retrieving "minimal tuples" inTom Lane2009-03-30
| | | | | | | | | | | | | | | | | | | | | TupleTableSlots. We have functions for retrieving a minimal tuple from a slot after storing a regular tuple in it, or vice versa; but these were implemented by converting the internal storage from one format to the other. The problem with that is it invalidates any pass-by-reference Datums that were already fetched from the slot, since they'll be pointing into the just-freed version of the tuple. The known problem cases involve fetching both a whole-row variable and a pass-by-reference value from a slot that is fed from a tuplestore or tuplesort object. The added regression tests illustrate some simple cases, but there may be other failure scenarios traceable to the same bug. Note that the added tests probably only fail on unpatched code if it's built with --enable-cassert; otherwise the bug leads to fetching from freed memory, which will not have been overwritten without additional conditions. Fix by allowing a slot to contain both formats simultaneously; which turns out not to complicate the logic much at all, if anything it seems less contorted than before. Back-patch to 8.2, where minimal tuples were introduced.
* Clarify variable naming: pq_initssllib -> pq_init_ssl_libBruce Momjian2009-03-28
|
* Better document PQinitSSL(0) behavior in regards to libcrypto.Bruce Momjian2009-03-28
|
* Add an errdetail explaining why we reject infinite dates and timestampsTom Lane2009-03-27
| | | | while converting to XML. Bernd Helmle
* Fix possible failures when a tuplestore switches from in-memory to on-diskTom Lane2009-03-27
| | | | | | | | | mode while callers hold pointers to in-memory tuples. I reported this for the case of nodeWindowAgg's primary scan tuple, but inspection of the code shows that all of the calls in nodeWindowAgg and nodeCtescan are at risk. For the moment, fix it with a rather brute-force approach of copying whenever one of the at-risk callers requests a tuple. Later we might think of some sort of reference-count approach to reduce tuple copying.
* Teach reindex_index() to clear pg_index.indcheckxmin when possible.Tom Lane2009-03-27
| | | | Greg Stark, slightly modified by me.
* Fix tab completion of ANALYZE VERBOSE <tab>. It was previously confusedHeikki Linnakangas2009-03-27
| | | | | | | with EXPLAIN ANALYZE VERBOSE. Greg Sabino Mullane, reformatted by myself. Backpatch to 8.1, where the bug was introduced.
* Gettext plural supportPeter Eisentraut2009-03-26
| | | | | | In the backend, I changed only a handful of exemplary or important-looking instances to make use of the plural support; there is probably more work there. For the rest of the source, this should cover all relevant cases.
* Adjust phrasing of complaints about multi-byte COPY delimiter strings.Tom Lane2009-03-26
| | | | Per pgsql-hackers discussion of 2009-02-17.
* If we expect a hash join to be performed in multiple batches, suppressTom Lane2009-03-26
| | | | | | | | "physical tlist" optimization on the outer relation (ie, force a projection step to occur in its scan). This avoids storing useless column values when the outer relation's tuples are written to temporary batch files. Modified version of a patch by Michael Henderson and Ramon Lawrence.
* Adjust the APIs for GIN opclass support functions to allow the extractQuery()Tom Lane2009-03-25
| | | | | | | | | | | | | | method to pass extra data to the consistent() and comparePartial() methods. This is the core infrastructure needed to support the soon-to-appear contrib/btree_gin module. The APIs are still upward compatible with the definitions used in 8.3 and before, although *not* with the previous 8.4devel function definitions. catversion bump for changes in pg_proc entries (although these are just cosmetic, since GIN doesn't actually look at the function signature before calling it...) Teodor Sigaev and Oleg Bartunov
* Use double quotes instead of single quotes.Peter Eisentraut2009-03-25
|
* Complete list of valid fork names, and use double quotes.Peter Eisentraut2009-03-25
|
* Update line count for \? output (obtained from wc -l)Peter Eisentraut2009-03-25
|
* In the \? output, align the columns consistently.Peter Eisentraut2009-03-25
|
* Polish SQL/MED terminologyPeter Eisentraut2009-03-25
|
* No period if it's not a sentencePeter Eisentraut2009-03-25
|
* Install a search tree depth limit in GIN bulk-insert operations, to preventTom Lane2009-03-24
| | | | | | | | | | | | them from degrading badly when the input is sorted or nearly so. In this scenario the tree is unbalanced to the point of becoming a mere linked list, so insertions become O(N^2). The easiest and most safely back-patchable solution is to stop growing the tree sooner, ie limit the growth of N. We might later consider a rebalancing tree algorithm, but it's not clear that the benefit would be worth the cost and complexity. Per report from Sergey Burladyan and an earlier complaint from Heikki. Back-patch to 8.2; older versions didn't have GIN indexes.
* Fix stupid parenthesization mistake. Per bug #4728 from Bruce Toll.Tom Lane2009-03-24
|
* Implement "fastupdate" support for GIN indexes, in which we try to accumulateTom Lane2009-03-24
| | | | | | | | | | | | | | | | | | multiple index entries in a holding area before adding them to the main index structure. This helps because bulk insert is (usually) significantly faster than retail insert for GIN. This patch also removes GIN support for amgettuple-style index scans. The API defined for amgettuple is difficult to support with fastupdate, and the previously committed partial-match feature didn't really work with it either. We might eventually figure a way to put back amgettuple support, but it won't happen for 8.4. catversion bumped because of change in GIN's pg_am entry, and because the format of GIN indexes changed on-disk (there's a metapage now, and possibly a pending list). Teodor Sigaev
* Fix my typoPeter Eisentraut2009-03-24
|
* Remove munging of xml and xpath params to xpath(). The XML must now be a ↵Andrew Dunstan2009-03-23
| | | | well formed XML document.
* Const-ify the parse table passed to fillRelOptions. The previous codingTom Lane2009-03-23
| | | | meant it had to be built on-the-fly at each entry to default_reloptions.
* Add expected file for locale-enabled installations.Peter Eisentraut2009-03-23
|
* More fixes for 8.4 DTrace probes. Remove useless BUFFER_HIT/BUFFER_MISSTom Lane2009-03-23
| | | | | | | probes --- the BUFFER_READ_DONE probe provides the same information and more besides. Expand the LOCK_WAIT_START/DONE probe arguments so that there's actually some chance of telling what is being waited for. Update and clean up the documentation.
* Add isExtend to the parameters of the buffer_read_start and buffer_read_doneTom Lane2009-03-22
| | | | | | | | | | | | | | | DTrace probes, so that ordinary reads can be distinguished from relation extension operations. Move buffer_read_start probe to before the smgrnblocks() call that's needed in the isExtend case, since really that step should be charged as part of the time needed for the extension operation. (This makes it slightly harder to match the read_start with the associated read_done, since now you can't match them on blockNumber, but it should still be possible since isExtend operations on the same relation can never be interleaved.) Per recent discussion. In passing, add the page identity (forkNum/blockNum) to the parameters of the buffer_flush_start/buffer_flush_done probes, which were unaccountably lacking the info.
* Clean up pg_SSPI_error() coding a little bit: make the messages moreTom Lane2009-03-22
| | | | | consistent, translate where intended, const-ify declarations. Resolves a gripe from Alvaro as well as some stuff I didn't like.
* Remove the -d and -D options of pg_dump and pg_dumpall. The functionalityTom Lane2009-03-22
| | | | | | | is still available, but you must now write the long equivalent --inserts or --column-inserts. This change is made to eliminate confusion with the use of -d to specify a database name in most other Postgres client programs. Original patch by Greg Mullane, modified per subsequent discussion.
* Remove the datetime keywords ABSTIME and RELTIME, which we'd been treating asTom Lane2009-03-22
| | | | | | | | noise words for the last twelve years, for compatibility with Berkeley-era output formatting of the special INVALID values for those datatypes. Considering that the datatypes themselves have been deprecated for awhile, this is taking backwards compatibility a little far. Per gripe from Josh Berkus.
* Optimize multi-batch hash joins when the outer relation has a nonuniformTom Lane2009-03-21
| | | | | | | | | distribution, by creating a special fast path for the (first few) most common values of the outer relation. Tuples having hashvalues matching the MCVs are effectively forced to be in the first batch, so that we never write them out to the batch temp files. Bryce Cutt and Ramon Lawrence, with some editorialization by me.
* Rename pg_restore -m to -j, and add documentation about what good numbersPeter Eisentraut2009-03-20
| | | | are. per discussion on hackers
* Fix case of the just resurrected UCS_to_BIG5.pl script, and updateHeikki Linnakangas2009-03-18
| | | | Makefile to use it.
* Add seven kanji characters defined in the Windows 950 codepage to ourHeikki Linnakangas2009-03-18
| | | | | | big5/win950 <-> UTF8 conversion tables. Per report by Roger Chang.
* Fix Windows-specific race condition in syslogger. This could've beenHeikki Linnakangas2009-03-18
| | | | | | | | | | | the cause of the "could not write to log file: Bad file descriptor" errors reported at http://archives.postgresql.org//pgsql-general/2008-06/msg00193.php Backpatch to 8.3, the race condition was introduced by the CSV logging patch. Analysis and patch by Gurjeet Singh.
* Improve zero-year comments.Bruce Momjian2009-03-17
|
* Document that datetime year '0' is considered in a recent century, notBruce Momjian2009-03-17
| | | | just '00'.
* Add -w option to --help output. It was apparently forgotten when -w wasPeter Eisentraut2009-03-17
| | | | implemented.
* Clean up the code for to_timestamp's conversion of year plus ISO day numberTom Lane2009-03-15
| | | | | | | | | | | | to date, as per bug #4702 and subsequent discussion. In particular, make it work for years specified using AD/BC or CC fields, and fix the test for "no year specified" so that it doesn't trigger inappropriately for 1 BC (which it was doing even in code paths that had nothing to do with to_timestamp). I also did some minor code beautification in the non-ISO-day-number code path. This area has been busted all along, but because the code has been rewritten repeatedly, it would be considerable trouble to back-patch. It's such a corner case that it doesn't seem worth the effort.
* Fix identify_locking_dependencies to reflect the fact that fix_dependenciesTom Lane2009-03-13
| | | | previously repointed TABLE dependencies to TABLE DATA. Mea culpa.
* Restore previous ordering of BUFFER_FLUSH_START probe. I had wanted toTom Lane2009-03-13
| | | | | | | | | | | make it include the time for the possible smgropen() call, but that results in a null pointer dereference :-(. An alternative solution would be to fetch the buffer tag instead of looking at *reln, but I'll just put it back as it was for the moment. BTW, this indicates that DTrace probes evaluate their arguments even when nominally inactive. What was that about "zero cost", again?
* Fix core dump due to null-pointer dereference in to_char() when datetimeTom Lane2009-03-12
| | | | | | | | | | format codes are misapplied to a numeric argument. (The code still produces a pretty bogus error message in such cases, but I'll settle for stopping the crash for now.) Per bug #4700 from Sergey Burladyan. Problem exists in all supported branches, so patch all the way back. In HEAD, also clean up some ugly coding in the nearby cache management code.
* Code review for dtrace probes added (so far) to 8.4. Adjust placement ofTom Lane2009-03-11
| | | | | | | some bufmgr probes, take out redundant and memory-leak-inducing path arguments to smgr__md__read__done and smgr__md__write__done, fix bogus attempt to recalculate space used in sort__done, clean up formatting in places where I'm not sure pgindent will do a nice job by itself.
* Some languages have symbols with zero display's width or/and vowels/signs whichTeodor Sigaev2009-03-11
| | | | | | | | | are not an alphabetic character although they are not word-breakers too. So, treat them as part of word. Per off-list discussion with Dibyendra Hyoju <dibyendra@gmail.com> and and Bal Krishna Bal <balkrishna7bal@gmail.com> about Nepali language and Devanagari alphabet.