aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* R-tree is dead ... long live GiST.Tom Lane2005-11-07
|
* Translation updates forward-port to HEAD.Alvaro Herrera2005-11-07
|
* Add simple sanity checks on newly-read pages to GiST, too.Tom Lane2005-11-06
|
* Add defenses to btree and hash index AMs to do simple sanity checksTom Lane2005-11-06
| | | | | | | | | on every index page they read; in particular to catch the case of an all-zero page, which PageHeaderIsValid allows to pass. It turns out hash already had this idea, but it was just Assert()ing things rather than doing a straight error check, and the Asserts were partially redundant with PageHeaderIsValid anyway. Per recent failure example from Jim Nasby. (gist still needs the same treatment.)
* Clean up representation of SLRU page state. This is the cleaner fixTom Lane2005-11-05
| | | | | for the SLRU race condition that I posted a few days ago, but we decided not to use in 8.1 and older branches.
* Brand HEAD branch as 8.2devel.Tom Lane2005-11-05
|
* Repair an error introduced by log_line_prefix patch: it is not acceptableTom Lane2005-11-05
| | | | | | | | | | | to assume that the string pointer passed to set_ps_display is good forever. There's no need to anyway since ps_status.c itself saves the string, and we already had an API (get_ps_display) to return it. I believe this explains Jim Nasby's report of intermittent crashes in elog.c when %i format code is in use in log_line_prefix. While at it, repair a previously unnoticed problem: on some platforms such as Darwin, the string returned by get_ps_display was blank-padded to the maximum length, meaning that lock.c's attempt to append " waiting" to it never worked.
* Add mention to update FAQ item on most recent release to RELEASE_CHANGES.Bruce Momjian2005-11-05
|
* Improve description of constraint_exclusion variable.Tom Lane2005-11-04
|
* Translation updatesPeter Eisentraut2005-11-04
|
* Remove a gratuitous string difference (does not affect translations).Peter Eisentraut2005-11-04
|
* Fix logical error in option description.Peter Eisentraut2005-11-04
|
* Ensure that we only create one ConsoleCtrlHandler per psql process,Tom Lane2005-11-04
| | | | | so as to avoid performance issues and possible ultimate crash on long psql scripts. Per Merlin Moncure.
* Disregard superuserness when checking to see if a role GRANT wouldTom Lane2005-11-04
| | | | | | | | | create circularity of role memberships. This is a minimum-impact fix for the problem reported by Florian Pflug. I thought about removing the superuser_arg test from is_member_of_role() altogether, as it seems redundant for many of the callers --- but not all, and it's way too late in the 8.1 cycle to be making large changes. Perhaps reconsider this later.
* Fix a couple of missed None -> DestNone in comments.Tom Lane2005-11-03
|
* Fix one overlooked ocurrence of "None" in EXEC_BACKEND block.Alvaro Herrera2005-11-03
|
* Thinking further, it seems we had better also copy down resorigtbl/resorigcolTom Lane2005-11-03
| | | | | to ensure that SubqueryScan elimination doesn't change the behavior of reporting of original column sources.
* Fix the recently-added code that eliminates unnecessary SubqueryScan nodesTom Lane2005-11-03
| | | | | | | from a finished plan tree. We have to copy the output column names (resname fields) from the SubqueryScan down to its child plan node; else, if this is the topmost level of the plan, the wrong column names will be delivered to the client. Per bug #2017 reported by Jolly Chen.
* Rename the members of CommandDest enum so they don't collide with other uses ofAlvaro Herrera2005-11-03
| | | | | those names. (Debug and None were pretty bad names anyway.) I hope I catched all uses of the names in comments too.
* Translation updates.Alvaro Herrera2005-11-03
|
* Fix longstanding race condition in transaction log management: there was aTom Lane2005-11-03
| | | | | | | | | | | very narrow window in which SimpleLruReadPage or SimpleLruWritePage could think that I/O was needed when it wasn't (and indeed the buffer had already been assigned to another page). This would result in an Assert failure if Asserts were enabled, and probably in silent data corruption if not. Reported independently by Jim Nasby and Robert Creager. I intend a more extensive fix when 8.2 development starts, but this is a reasonably low-impact patch for the existing branches.
* Provide a --no-locale option for pg_regress and a corresponding NOLOCALE=1Andrew Dunstan2005-11-01
| | | | | | | setting for the regression makefile, allowing Windows users to force locale settings since Windows does not get its locale from the environment. Per Petr Jelinek.
* Update a couple of obsolete comments.Tom Lane2005-10-29
|
* Translation updatesPeter Eisentraut2005-10-29
|
* Message correctionsPeter Eisentraut2005-10-29
|
* Reorder code so that we don't have to hold a critical section whileTom Lane2005-10-28
| | | | | reserving SLRU space for a new MultiXact. The original coding would have treated out-of-disk-space as a PANIC condition, which is unnecessary.
* Clean up AIX build to avoid 'duplicate symbol' warnings, by moving useTom Lane2005-10-28
| | | | | | | of postgres.imp file into BE_DLLLIBS macro. This makes the AIX build work more like the Windows and Darwin builds, which have similar requirements to mention a backend library when linking shared libraries that will be dynamically loaded into the backend.
* Fix race condition in multixact code: it's possible to try to read aTom Lane2005-10-28
| | | | | | | | | | multixact's starting offset before the offset has been stored into the SLRU file. A simple fix would be to hold the MultiXactGenLock until the offset has been stored, but that looks like a big concurrency hit. Instead rely on knowledge that unset offsets will be zero, and loop when we see a zero. This requires a little extra hacking to ensure that zero is never a valid value for the offset. Problem reported by Matteo Beccati, fix ideas from Martijn van Oosterhout, Alvaro Herrera, and Tom Lane.
* Add an ifneq to avoid make warning on AIX --- there is a separate ruleTom Lane2005-10-27
| | | | | for postgres: on line 86, and line 43 shouldn't be used. Noted while looking at kookaburra buildfarm results.
* Tweak buffer manager so that 'internal' accesses to a buffer do notTom Lane2005-10-27
| | | | | | | | advance its usage_count. This includes writes of dirty buffers triggered by bgwriter, checkpoint, or FlushRelationBuffers, as well as various corner cases that really ought not count as accesses to the page. Should make for some marginal improvement in the quality of our decisions about when to recycle buffers. Per suggestion from ITAGAKI Takahiro.
* Disable expanded mode only for \d tablename, not for all backslashBruce Momjian2005-10-27
| | | | commands. Per complaint that \df+ is clearer in expanded mode.
* Add comment documenting actual failure case of usingBruce Momjian2005-10-27
| | | | | interval_justify_hours in timestamp subtraction. TODO already has text description.
* Adjust parser so that POSTQUEL-style implicit RTEs are stored withTom Lane2005-10-26
| | | | | | inFromCl true, meaning that they will list out as explicit RTEs if they are in a view or rule. Update comments about inFromCl to reflect the way it's now actually used. Per recent discussion.
* Fix longstanding bug that would sometimes let the planner generate a bad planTom Lane2005-10-25
| | | | | | | | | | for an outer join; symptom is bogus error "RIGHT JOIN is only supported with merge-joinable join conditions". Problem was that select_mergejoin_clauses did its tests in the wrong order. We need to force left join not right join for a merge join when there are non-mergeable join clauses; but the test for this only accounted for mergejoinability of the clause operator, and not whether the left and right Vars were of the proper relations. Per report from Jean-Pierre Pelletier.
* Remove justify_hours call from interval_mul and interval_div, and makeTom Lane2005-10-25
| | | | | | | some small stylistic improvements in these functions. Also fix several places where TMODULO() was being used with wrong-sized quotient argument, creating a risk of overflow --- interval2tm was actually capable of going into an infinite loop because of this.
* Fix Windows setitimer() emulation to not depend on delivering an APCTom Lane2005-10-25
| | | | | | to the main thread. This allows removal of WaitForSingleObjectEx() calls from the main thread, thereby allowing us to re-enable Qingqing Zhou's CHECK_FOR_INTERRUPTS performance improvement. Qingqing, Magnus, et al.
* Change trace_sort to output to the log, rather than the user's terminal.Bruce Momjian2005-10-25
|
* I have applied the following patch to document PQinitSSL() andBruce Momjian2005-10-24
| | | | | | | | | | | PQregisterThreadLock(). I also remove the crypt() mention in the libpq threading section and added a single sentence in the client-auth manual page under crypt(). Crypt authentication is so old now that a separate paragraph about it seemed unwise. I also added a comment about our use of locking around pqGetpwuid().
* Ensure that a plpgsql LOOP with an empty body still executes at leastTom Lane2005-10-24
| | | | | one CHECK_FOR_INTERRUPTS() call, so that you can control-C out of the loop. Reported by Merlin Moncure.
* Make code for selecting default WAL sync method less confusing.Tom Lane2005-10-22
|
* Temporarily disable Qingqing's Windows signal processing patch, so thatTom Lane2005-10-22
| | | | | | WaitForSingleObjectEx is always called by CHECK_FOR_INTERRUPTS. This should be reinstated but the setitimer() emulation will have to be redesigned first.
* minor code cleanup - replace useless struct timezone argument toAndrew Dunstan2005-10-22
| | | | | gettimeofday with NULL in a few places, making it consistent with usage elsewhere.
* Improve performance of CHECK_FOR_INTERRUPTS() macro on Windows by not doingTom Lane2005-10-21
| | | | | | | a kernel call unless there's some evidence of a pending signal. This should bring its performance on Windows into line with the Unix version. Problem diagnosis and patch by Qingqing Zhou. Minor stylistic tweaks by moi ... if it's broken, it's my fault.
* Fix EXPLAIN ANALYZE bug noted by Wiebe Cazemier: although we wereTom Lane2005-10-21
| | | | | | | | | | | properly advancing the CommandCounter between multiple sub-queries generated by rules, we forgot to update the snapshot being used, so that the successive sub-queries didn't actually see each others' results. This is still not *exactly* like the semantics of normal execution of the same queries, in that we don't take new transaction snapshots and hence don't see changes from concurrently committed commands, but I think that's OK and probably even preferable for EXPLAIN ANALYZE.
* Add an implicit cast from varchar to regclass, so that existing codeTom Lane2005-10-21
| | | | | of the form nextval('foo'::varchar) doesn't break. Per gripe from Jean-Pierre Pelletier. Initdb forced :-(
* Add missing PQinitSSL and PQregisterThreadLock to exports.txt.Tom Lane2005-10-21
|
* Improve testlibpq3.c's example of PQexecParams() usage to include sendingTom Lane2005-10-20
| | | | | | | a parameter in binary format. Also, add a TIP explaining how to use casts in the query text to avoid needing to specify parameter types by OID. Also fix bogus spacing --- apparently somebody expanded the tabs in the example programs to 8 spaces instead of 4 when transposing them into SGML.
* Postpone pg_timezone_initialize() until after creation of postmaster.pid,Tom Lane2005-10-20
| | | | | | | since it can take a fair amount of time and this can confuse boot scripts that expect postmaster.pid to appear quickly. Move initialization of SSL library and preloaded libraries to after that point, too, just for luck. Per reports from Tony Caduto and others.
* Adjust not-too-sane calculation of DDD value for to_char(interval).Tom Lane2005-10-20
| | | | Per gripe from Chris Matheson.
* Clean up md5.c to make it clearer that it is a frontend-and-backendTom Lane2005-10-20
| | | | | | | module. Don't rely on backend palloc semantics; in fact, best to not use palloc at all, rather than #define'ing it to malloc, because that just encourages errors of omission. Bug spotted by Volkan YAZICI, but I went further than he did to fix it.