aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* 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
|
* Make code for selecting default WAL sync method less confusing.Tom Lane2005-10-22
|
* 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.
* 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.
* Better solution to the problem of labeling whole-row Datums that areTom Lane2005-10-19
| | | | | | generated from subquery outputs: use the type info stored in the Var itself. To avoid making ExecEvalVar and slot_getattr more complex and slower, I split out the whole-row case into a separate ExecEval routine.
* Ensure that the Datum generated from a whole-row Var contains validTom Lane2005-10-19
| | | | | | type ID information even when it's a record type. This is needed to handle whole-row Vars referencing subquery outputs. Per example from Richard Huxton.
* Fix oversight in recent changes to enable the 'physical tlist'Tom Lane2005-10-19
| | | | | | | | | optimization for subquery and function scan nodes: we can't just do it unconditionally, we still have to check whether there is any need for a whole-row Var. I had been thinking that these node types couldn't have any system columns, which is true, but that loop is also checking for attno zero, ie, whole-row Var. Fix comment to not be so misleading. Per test case from Richard Huxton.
* Improve trace_sort code to also show the total memory or disk space used.Tom Lane2005-10-18
| | | | Per request from Marc.
* Code review for regexp_replace patch. Improve documentation and comments,Tom Lane2005-10-18
| | | | | | | fix problems with replacement-string backslashes that aren't followed by one of the expected characters, avoid giving the impression that replace_text_regexp() is meant to be called directly as a SQL function, etc.
* A few trivial code cleanups motivated by reading warnings generatedTom Lane2005-10-18
| | | | | by a recent HP C compiler. Mostly, get rid of useless local variables that are assigned to but never used.
* Clean up libpq's pollution of application namespace by renaming theTom Lane2005-10-17
| | | | | | exported routines of ip.c, md5.c, and fe-auth.c to begin with 'pg_'. Also get rid of the vestigial fe_setauthsvc/fe_getauthsvc routines altogether.
* Add space after description.Bruce Momjian2005-10-16
| | | | Euler Taveira de Oliveira
* kerberos error message: localhost -> server hostnameBruce Momjian2005-10-15
|
* Fix thinko in pg_read_file: testing for negative result is not the wayTom Lane2005-10-15
| | | | to determine whether fread() failed.
* Standard pgindent run for 8.1.Bruce Momjian2005-10-15
|
* Fix syslog bug: if any messages are emitted to write_syslog beforeTom Lane2005-10-14
| | | | | | | | | the facility has been set, the facility gets set to LOCAL0 and cannot be changed later. This seems reasonably plausible to happen, particularly at higher debug log levels, though I am not certain it explains Han Holl's recent report. Easiest fix is to teach the code how to change the value on-the-fly, which is nicer anyway. I made the settings PGC_SIGHUP to conform with log_destination.
* Pass a strdup'd ident string to openlog(), to ensure that reallocationTom Lane2005-10-14
| | | | | of GUC memory doesn't cause us to start emitting a bogus ident string. Per report from Han Holl. Also some trivial code cleanup in write_syslog.
* Allow times of 24:00:00 to match rounding behavior:Bruce Momjian2005-10-14
| | | | | | | | | | | | | | | regression=# select '23:59:59.9'::time(0); time ---------- 24:00:00 (1 row) This is bad because: regression=# select '24:00:00'::time(0); ERROR: date/time field value out of range: "24:00:00" The last example now works.
* Make stack_base_ptr non-static, for PL/Java.Bruce Momjian2005-10-13
|
* This makes the error messages for PREPARE TRANSACTION, COMMIT PREPAREDBruce Momjian2005-10-13
| | | | | | | etc. match the docs, which talk about "transaction identifier" not "gid" or "global transaction identifier". Steve Woodcock
* Update krb_server_name to document that a missing entry defaults toBruce Momjian2005-10-13
| | | | | | 'localhost'. Improve kerberos error message.
* Back out this because of fear of changing error strings:Bruce Momjian2005-10-13
| | | | | | | | This makes the error messages for PREPARE TRANSACTION, COMMIT PREPARED etc. match the docs, which talk about "transaction identifier" not "gid" or "global transaction identifier". Steve Woodcock
* This makes the error messages for PREPARE TRANSACTION, COMMIT PREPAREDBruce Momjian2005-10-13
| | | | | | | etc. match the docs, which talk about "transaction identifier" not "gid" or "global transaction identifier". Steve Woodcock
* Use get_progname() in backend main.c, rather than port-specific hackBruce Momjian2005-10-13
| | | | that is too fragile.
* Remove an antiquated comment.Neil Conway2005-10-13
|
* Don't try to remove duplicate OR-subclauses in create_bitmap_subplan andTom Lane2005-10-13
| | | | | | | make_restrictinfo_from_bitmapqual. The likelihood of finding duplicates seems much less than in the AND-subclause case, and the cost much higher, because OR lists with hundreds or even thousands of subclauses are not uncommon. Per discussion with Ilia Kantor and andrew@supernews.
* Fix longstanding bug found by Atsushi Ogawa: _bt_check_unique would markTom Lane2005-10-12
| | | | | | the wrong buffer dirty when trying to kill a dead index entry that's on a page after the one it started on. No risk of data corruption, just inefficiency, but still a bug.
* Fix another recently-changed place that was messing with spinlock-Tom Lane2005-10-12
| | | | protected data structures and not using a volatile pointer for same.
* Do all accesses to shared buffer headers through volatile-qualifiedTom Lane2005-10-12
| | | | | | | pointers, to ensure that compilers won't rearrange accesses to occur while we're not holding the buffer header spinlock. It's probably not necessary to mark volatile in every single place in bufmgr.c, but better safe than sorry. Per trouble report from Kevin Grittner.
* Fix typo in sample pg_hba.conf; per IRC report from Bernhard Neuhauser.Neil Conway2005-10-11
|
* Add infrastructure for making spins_per_delay variable depending onTom Lane2005-10-11
| | | | | | whether we seem to be running in a uniprocessor or multiprocessor. The adjustment rules could probably still use further tweaking, but I'm convinced this should be a win overall.
* Document that get_attstatsslot/free_attstatsslot only need to be passedTom Lane2005-10-11
| | | | | | | | valid type information if they are asked to fetch the values part of a pg_statistic slot; these arguments are unneeded if fetching only the numbers part. Use this to save a catcache lookup in btcostestimate, which is looking like a bit of a hotspot in recent profiling. Not a big savings, but since it's essentially free, might as well do it.
* Fix oversight in 8.0 modification of RestrictInfo data structures.Tom Lane2005-10-11
| | | | | | | | A RestrictInfo representing an OR clause now contains two versions of the contained expression, one with sub-RestrictInfos and one without. clause_selectivity() should descend to the version with sub-RestrictInfos so that it has a chance of caching its results for the OR's sub-clauses. Failing to do so resulted in redundant planner effort.
* Use a safer order of operations in dropdb(): rollbackable operations,Tom Lane2005-10-10
| | | | | | ie removing shared-dependency entries, should happen before non-rollbackable ones. That way a failure during the rollbackable part doesn't leave us with inconsistent state.
* Translation updatePeter Eisentraut2005-10-10
|
* Fix the problem of GRANTs creating "dangling" privileges not directlyTom Lane2005-10-10
| | | | | | traceable to grant options. As per my earlier proposal, a GRANT made by a role member has to be recorded as being granted by the role that actually holds the grant option, and not the member.
* Fix (hopefully for the last time) problems with datetime values displayingTom Lane2005-10-09
| | | | | | | like '23:59:60' because of fractional-second roundoff problems. Trying to control this upstream of the actual display code was hopeless; the right way is to explicitly round fractional seconds in the display code and then refigure the results if the fraction rounds up to 1. Per bug #1927.
* Fix up grammar in variable description string.Tom Lane2005-10-08
|
* Fix Kerberos authentication in wake of virtual-hosts changes --- needTom Lane2005-10-08
| | | | | | | to call krb5_sname_to_principal() always. Also, use krb_srvname rather than the hardwired string 'postgres' as the appl_version string in the krb5_sendauth/recvauth calls, to avoid breaking compatibility with PG 8.0. Magnus Hagander
* Fix LWLockAssign() so that it can safely be executed after postmasterTom Lane2005-10-07
| | | | initialization. Add spinlocking, fix EXEC_BACKEND unsafeness.
* Allocate a few extra LWLocks for possible use by add-on modules.Tom Lane2005-10-07
| | | | Per request from Marc Munro.