aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* 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.
* Use thread-local storage for querybuffer in fmtId() on Windows, when needed ↵Andrew Dunstan2009-03-11
| | | | | | | | (i.e. when running pg_restore, which might run in parallel). Only reopen archive file when we really need to read from it, in parallel code. Otherwise, close it immediately in a worker, if possible.
* Improve match_special_index_operator() to recognize that LIKE with anTom Lane2009-03-11
| | | | | | | | | exact-match pattern (no wildcard) can be index-optimized in some cases where a prefix-match pattern cannot; specifically, since the required index clause is simple equality, it works for regular text/varchar indexes even when the locale is not C. I'm not sure how often this case really comes up, but since it requires hardly any additional work to handle it, we might as well get it right. Motivated by a discussion on the JDBC list.
* Make SubPlan nodes carry the result's typmod as well as datatype OID. This isTom Lane2009-03-10
| | | | | | | | | | for consistency with the (relatively) recent addition of typmod to SubLink. An example of why it's a good idea is to be seen in the recent "failed to locate grouping columns" bug, which wouldn't have happened if a SubPlan exposed the same typmod info as the SubLink it was derived from. This could be back-patched, since it doesn't affect any on-disk data format, but for the moment it doesn't seem necessary to do so.
* Fix set_subquery_pathlist() to copy the RTE's subquery before it gets mangledTom Lane2009-03-10
| | | | | | | | | | | | | | | | by the planning process. This prevents the "failed to locate grouping columns" error recently reported by Dickson Guedes. That happens because planning replaces SubLinks by SubPlans in the subquery's targetlist, and exprTypmod() is smarter about the former than the latter, causing the apparent type of the subquery's output columns to change. This seems to be a deficiency we should fix in exprTypmod(), but that will be a much more invasive patch with possible side-effects elsewhere, so I'll do that only in HEAD. Back-patch to 8.3. Arguably the lack of a copying step is broken/dangerous all the way back, but in the absence of known problems I'll refrain from making the older branches pay the extra cost. (The reason this particular symptom didn't appear before is that exprTypmod() wasn't smart about SubLinks either, until 8.3.)
* Prevent recursion during parse of email-like string with multiple '@'.Teodor Sigaev2009-03-10
| | | | Patch by Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
* In parse_bool_with_len, avoid crash when no result pointer is passed. ProbablyPeter Eisentraut2009-03-09
| | | | an unlikely call mode, but better be safe.
* Tweak the regression test case so that the ordering of numbers vs. lettersPeter Eisentraut2009-03-09
| | | | doesn't matter. This fixes failures in the Czech locale.
* Accept 'on' and 'off' as input for boolean data type, unifying the syntaxPeter Eisentraut2009-03-09
| | | | | | that the data type and GUC accepts. ITAGAKI Takahiro
* Add summarization comment about visibility functions.Bruce Momjian2009-03-09
| | | | Add URL about the Halloween problem.
* Revert pg_bind_textdomain_codeset to a existant-but-empty function whenAlvaro Herrera2009-03-09
| | | | | | | ENABLE_NLS is not defined, for better compatibility of the backend with modules compiled the other way. Per note from Tom after my previous commit.
* Fix MSVC build for new ways to pull in keywords.c and kwlookup.c.Magnus Hagander2009-03-08
|
* pg_bind_textdomain_codeset must exist only on ENABLE_NLS.Alvaro Herrera2009-03-08
|
* Add comments about kwlookup.c expectationsAlvaro Herrera2009-03-08
|
* On Windows, call bind_textdomain_codeset on domains other than the default one,Alvaro Herrera2009-03-08
| | | | too, so that the codeset is properly mapped on the newly added PL domains.
* Make pg_hba parsing report all errors in the file before aborting the load,Magnus Hagander2009-03-07
| | | | | | instead of just reporting the first one. Selena Deckelmann
* Avoid MSVC breakage caused by my previous commit by not using a variable inAlvaro Herrera2009-03-07
| | | | the src/bin/scripts Makefile.
* Separate the key word list that lived in keywords.c into a new header fileAlvaro Herrera2009-03-07
| | | | | | | kwlist.h, to avoid having to link the backend object file into other programs like pg_dump. We can now simply symlink a single source file from the backend (kwlookup.c, containing the shared routine ScanKeywordLookup) and compile it locally, which is a lot cleaner.