aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Restructure operator classes to allow improved handling of cross-data-typeTom Lane2006-12-23
| | | | | | | | | | | | | | | | cases. Operator classes now exist within "operator families". While most families are equivalent to a single class, related classes can be grouped into one family to represent the fact that they are semantically compatible. Cross-type operators are now naturally adjunct parts of a family, without having to wedge them into a particular opclass as we had done originally. This commit restructures the catalogs and cleans up enough of the fallout so that everything still works at least as well as before, but most of the work needed to actually improve the planner's behavior will come later. Also, there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way to create a new family right now is to allow CREATE OPERATOR CLASS to make one by default. I owe some more documentation work, too. But that can all be done in smaller pieces once this infrastructure is in place.
* Fix expected file.Peter Eisentraut2006-12-21
|
* Catalog version bump for SQL/XML changes.Peter Eisentraut2006-12-21
|
* Initial SQL/XML support: xml data type and initial set of functions.Peter Eisentraut2006-12-21
|
* Interpret a dbName param to PQsetdbLogin as a conninfo string if it contains ↵Andrew Dunstan2006-12-19
| | | | an = sign. Tom Lane and Andrew Dunstan.
* Set pg_am.amstrategies to zero for index AMs that don't have fixedTom Lane2006-12-18
| | | | | | | operator strategy numbers, ie, GiST and GIN. This is almost cosmetic enough to not need a catversion bump, but since the opr_sanity regression test has to change in sync with the catalog entry, I figured I'd better do one.
* fix thinko in placement of TimeValStruct typedef in Windows case, as ↵Andrew Dunstan2006-12-18
| | | | reported by Magnus.
* enable \timing oputput for \copy commandsAndrew Dunstan2006-12-16
|
* Fix some planner bugs exposed by reports from Arjen van der Meijden. TheseTom Lane2006-12-15
| | | | | | | | | | | | | | | | | | | | | | | | are all in new-in-8.2 logic associated with indexability of ScalarArrayOpExpr (IN-clauses) or amortization of indexscan costs across repeated indexscans on the inside of a nestloop. In particular: Fix some logic errors in the estimation for multiple scans induced by a ScalarArrayOpExpr indexqual. Include a small cost component in bitmap index scans to reflect the costs of manipulating the bitmap itself; this is mainly to prevent a bitmap scan from appearing to have the same cost as a plain indexscan for fetching a single tuple. Also add a per-index-scan-startup CPU cost component; while prior releases were clearly too pessimistic about the cost of repeated indexscans, the original 8.2 coding allowed the cost of an indexscan to effectively go to zero if repeated often enough, which is overly optimistic. Pay some attention to index correlation when estimating costs for a nestloop inner indexscan: this is significant when the plan fetches multiple heap tuples per iteration, since high correlation means those tuples are probably on the same or adjacent heap pages.
* Put JST back into the default set of timezone abbreviations;Tom Lane2006-12-15
| | | | was removed in an unexplainable moment of brain fade.
* Make --with-ldap build on Unixware, per Olivier Prenant.Tom Lane2006-12-14
|
* Remove Windows port^W^Wobsolete template file.Peter Eisentraut2006-12-14
|
* Activate WIN32_STACK_RLIMIT override only on platforms where this isPeter Eisentraut2006-12-14
| | | | necessary.
* Put back yet another improperly-removed #include, per Mark Kirkwood.Tom Lane2006-12-13
|
* Fix planner to do the right thing when a degenerate outer join (one whoseTom Lane2006-12-12
| | | | | | | joinclause doesn't use any outer-side vars) requires a "bushy" plan to be created. The normal heuristic to avoid joins with no joinclause has to be overridden in that case. Problem is new in 8.2; before that we forced the outer join order anyway. Per example from Teodor.
* Allow augmenting CPPFLAGS from the configure command line. This generallyPeter Eisentraut2006-12-12
| | | | works, but some platform templates overwrote it without asking.
* Add a paramtypmod field to Param nodes. This is dead weight for ParamsTom Lane2006-12-10
| | | | | | | | | | representing externally-supplied values, since the APIs that carry such values only specify type not typmod. However, for PARAM_SUBLINK Params it is handy to carry the typmod of the sublink's output column. This is a much cleaner solution for the recently reported 'could not find pathkey item to sort' and 'failed to find unique expression in subplan tlist' bugs than my original 8.2-compatible patch. Besides, someday we might want to support typmods for external parameters ...
* Remove the logId/logSeg fields from pg_control, because they are not neededTom Lane2006-12-08
| | | | | | | | | | | | | | | | | | | in normal operation, and we can avoid rewriting pg_control at every log segment switch if we don't insist that these values be valid. Reducing the number of pg_control updates is a good idea for both performance and reliability. It does make pg_resetxlog's life a bit harder, but that seems a good tradeoff; and anyway the change to pg_resetxlog amounts to automating something people formerly needed to do by hand, namely look at the existing pg_xlog files to make sure the new WAL start point was past them. In passing, change the wording of xlog.c's "database system was interrupted" messages: describe the pg_control timestamp as "last known up at" rather than implying it is the exact time of service interruption. With this change the timestamp will generally be the time of the last checkpoint, which could be many minutes before the failure; and we've already seen indications that people tend to misinterpret the old wording. initdb forced due to change in pg_control layout. Simon Riggs and Tom Lane
* Fix the build for when SHOW_MEMORY_STATS is defined. The reference toNeil Conway2006-12-08
| | | | the nonexistent ShowStats variable is simply removed, per Gavin Sherry.
* Avoid double free of _SPI_current->tuptable. AtEOSubXact_SPI() now tries toTom Lane2006-12-08
| | | | | | | release it in a subtransaction abort, but this neglects possibility that someone outside SPI already did. Fix is for spi.c to forget about a tuptable as soon as it's handed it back to the caller. Per bug #2817 from Michael Andreen.
* Repair incorrect placement of WHERE clauses when there are multiple,Tom Lane2006-12-07
| | | | | | | rearrangeable outer joins and the WHERE clause is non-strict and mentions only nullable-side relations. New bug in 8.2, caused by new logic to allow rearranging outer joins. Per bug #2807 from Ross Cohen; thanks to Jeff Davis for producing a usable test case.
* Fix planning of SubLinks to ensure that Vars generated from transformation ofTom Lane2006-12-06
| | | | | | | | | | a sublink's test expression have the correct vartypmod, rather than defaulting to -1. There's at least one place where this is important because we're expecting these Vars to be exactly equal() to those appearing in the subplan itself. This is a pretty klugy solution --- it would likely be cleaner to change Param nodes to include a typmod field --- but we can't do that in the already-released 8.2 branch. Per bug report from Hubert Fongarnand.
* Add a txn_start column to pg_stat_activity. This makes it easier toNeil Conway2006-12-06
| | | | | | | | identify long-running transactions. Since we already need to record the transaction-start time (e.g. for now()), we don't need any additional system calls to report this information. Catversion bumped, initdb required.
* Various improvements to the GUC description strings. Punctuate andNeil Conway2006-12-06
| | | | | | capitalize the strings like sentences. Remove unnecessarily specific descriptions of the units used by GUC variables, since we now allow any reasonable unit to be specified.
* Fix pg_dump linking on Win32 with MSVS win32.mak:Bruce Momjian2006-12-04
| | | | | | | | | | | | | | The module link is insufficient.:-( ---- Sorry, japanese message change to xxx --- link.exe @C:\DOCUME~1\hi-saito\LOCALS~1\Temp\nmk03360. common.obj : error LNK2001: xxxxxx "_pg_qsort" xxxxxx pg_dump_sort.obj : error LNK2001: xxxxx "_pg_qsort" xxxxx .\Release\pg_dump.exe : fatal error LNK1120: xxxxxxx NMAKE : fatal error U1077: 'link.exe' : xxxxx '0x460' Stop. Hiroshi Saito
* Patch of Win32 Encoding problem for server messages usingBruce Momjian2006-12-04
| | | | | | | | | | | | | | | | | | | | | | | | FormatMessage() (This should have been in 8.2.0, patched to 8.2.X and HEAD): I think this problem to be complex.... http://archives.postgresql.org/pgsql-hackers/2006-11/msg00042.php FormatMessage of windows cannot consider the encoding of the database. However, I should try the solution now. It is necessary to clear the problem. Multi character-code exists together in message and log. It doesn't consider the data base encoding that the user intended.... The user in multi-byte country can try this. http://inet.winpg.jp/~saito/pg_bug/MessageCheck.c That is, it is likely to become it in this manner.(Japanese) http://inet.winpg.jp/~saito/pg_bug/FormatMessage998.png Hiroshi Saito
* Refactor ExecGetJunkAttribute to avoid searching for junk attributesTom Lane2006-12-04
| | | | | | by name on each and every row processed. Profiling suggests this may buy a percent or two for simple UPDATE scenarios, which isn't huge, but when it's so easy to get ...
* Fix LIMIT/OFFSET for null limit values. This worked before 8.2 but was brokenTom Lane2006-12-03
| | | | | | by the change to make limit values int8 instead of int4. (Specifically, you can do DatumGetInt32 safely on a null value, but not DatumGetInt64.) Per bug #2803 from Greg Johnson.
* Stamp 8.2, except configure.in.Bruce Momjian2006-12-02
|
* Translation updatesPeter Eisentraut2006-12-02
|
* Make the bgwriter's error recovery path do smgrcloseall(). On Windows thisTom Lane2006-12-01
| | | | | | should allow delete-pending files to actually go away, and thereby work around the various complaints we've seen about 'permission denied' errors in such cases. Should be reasonably harmless in any case...
* Minor adjustments to make failures in startup/shutdown behave more cleanly.Tom Lane2006-11-30
| | | | | | | | | | | | | | | | StartupXLOG and ShutdownXLOG no longer need to be critical sections, because in all contexts where they are invoked, elog(ERROR) would be translated to elog(FATAL) anyway. (One change in bgwriter.c is needed to make this true: set ExitOnAnyError before trying to exit. This is a good fix anyway since the existing code would have gone into an infinite loop on elog(ERROR) during shutdown.) That avoids a misleading report of PANIC during semi-orderly failures. Modify the postmaster to include the startup process in the set of processes that get SIGTERM when a fast shutdown is requested, and also fix it to not try to restart the bgwriter if the bgwriter fails while trying to write the shutdown checkpoint. Net result is that "pg_ctl stop -m fast" does something reasonable for a system in warm standby mode, and so should Unix system shutdown (ie, universal SIGTERM). Per gripe from Stephen Harris and some corner-case testing of my own.
* Fix bug with page deletion. If inner page is removed and it tries toTeodor Sigaev2006-11-30
| | | | | | | | | | remove page on next level linked from next inner page, ginScanToDelete() wrongly sets parent page. Bug reveals when many item pointers from index was deleted ( several hundred thousands). Bug is discovered by hubert depesz lubaczewski <depesz@gmail.com> Suppose, we need rc2 before release...
* Fix Makefile problem which prevented installation on VPATH builds.Alvaro Herrera2006-11-29
|
* More MSVC build support from Magnus.Tom Lane2006-11-29
|
* Spelling fixPeter Eisentraut2006-11-29
|
* Update timezone data to tzdata2006p zic distribution. It seems WesternTom Lane2006-11-28
| | | | | Australia decided to institute DST with one month's notice ... way to go, politicians.
* Mark to_char(timestamp without timezone) as stable, not immutable, since itsTom Lane2006-11-28
| | | | | | | | | | | | result now depends on the lc_messages setting, as noted by Bruce. Also, mark to_number() and the numeric-type variants of to_char() as stable, because their results depend on lc_numeric; this is a longstanding oversight. Also, mark to_date() and to_char(interval) as stable; although these appear not to depend on any GUC variables as of CVS HEAD, that seems a property unlikely to survive future improvements. It seems best to mark all the formatting functions stable and be done with it. catversion not bumped, because this does not seem critical enough to force a post-RC1 initdb, and anyway we cannot do so in the back branches.
* Fix some translator comments so that xgettext finds them and pgindent doesPeter Eisentraut2006-11-28
| | | | not destroy them. Maybe we can adjust pgindent sometime.
* Add workaround for localizing May and abbreviated May differently. IdeaPeter Eisentraut2006-11-28
| | | | of Dennis Björklund.
* Also install ecpg_config.hMichael Meskes2006-11-28
|
* Add $(CFLAGS) to the simplified build rule for .so libraries on Darwin.Tom Lane2006-11-28
| | | | Arguably we should do this on *all* platforms, but for the moment Ill
* protect vfprintf from hijacking by Windows gettext just like other members ↵Andrew Dunstan2006-11-28
| | | | of the *printf family.
* Fix gratuitous message spelling differencesPeter Eisentraut2006-11-27
|
* update for rc1REL8_2_RC1PostgreSQL Daemon2006-11-25
|
* Copy fsync() defines into test_fsync.c, someday place them in anBruce Momjian2006-11-25
| | | | | | | | include. Propery align for O_DIRECT. Check for write()/fsync() failures.
* Fix psql's \copy command to ensure that it cycles libpq back to the idle stateTom Lane2006-11-24
| | | | | | | | | (in particular, causing the ReadyForQuery message to be eaten) before returning from do_copy. The only known consequence of failing to do so is that get_prompt might show a wrong result for the %x transaction status escape, as reported by Bernd Helmle; but it's possible there are other issues. Back-patch as far as 7.4, the oldest version supporting %x.
* Revert (too late in beta):Bruce Momjian2006-11-24
| | | | | | Fix to_char() locale handling to honor LC_TIME, not LC_MESSAGES. Euler Taveira de Oliveira
* Change pg_stat_all_tables and sister views to put the recently-addedTom Lane2006-11-24
| | | | | | | | | vacuum/analyze timestamp columns at the end, rather than at a random spot in the middle as in the original patch. This was deemed more usable as well as less likely to break existing application code. initdb forced accordingly. In passing, remove former kluge for initializing pg_stat_file()'s pg_proc entry --- bootstrap mode was fixed recently so that this can be done without any hacks, but I overlooked this usage.
* Translation updatesPeter Eisentraut2006-11-24
|