aboutsummaryrefslogtreecommitdiff
path: root/src/backend
Commit message (Collapse)AuthorAge
* Arrange for GetSnapshotData to copy live-subtransaction XIDs from theTom Lane2006-09-03
| | | | | | | | | | PGPROC array into snapshots, and use this information to avoid visits to pg_subtrans in HeapTupleSatisfiesSnapshot. This appears to solve the pg_subtrans-related context swap storm problem that's been reported by several people for 8.1. While at it, modify GetSnapshotData to not take an exclusive lock on ProcArrayLock, as closer analysis shows that shared lock is always sufficient. Itagaki Takahiro and Tom Lane
* Properly round months into days and into seconds for intervalBruce Momjian2006-09-03
| | | | | | | multiplication/division queries like select '41 mon 10:00:00'::interval / 10 as "pos". Report from Michael Glaesemann
* Revert FETCH/MOVE int64 patch. Was using incorrect checks forBruce Momjian2006-09-03
| | | | fetch/move in scan.l.
* Fix case where "PM" to_timestamp() mask was eating too many characters.Bruce Momjian2006-09-03
| | | | Report from Josh Tolley.
* Fix LLONG_MAX define used by new int64 FETCH/MOVE patch.Bruce Momjian2006-09-03
|
* Remove unnecessary copyObject() call in update (values) code.Bruce Momjian2006-09-03
|
* Make autovacuum behavior more agressive, per discussion on hackers listBruce Momjian2006-09-02
| | | | | | | --- was part of autovacuum default 'on' patch that was reverted, but we want this part. Peter Eisentraut
* Update postgresql.conf line for default superuser_reserved_connections.Bruce Momjian2006-09-02
|
* Change "superuser_reserved_connections" default to 3, because ofBruce Momjian2006-09-02
| | | | possible autovacuum use.
* Small code cleanup for recent UPDATE SET (values) patch.Bruce Momjian2006-09-02
|
* Add UPDATE tab SET ROW (col, ...) = (val, ...) for updatingBruce Momjian2006-09-02
| | | | | | multiple columns Susanne Ebrecht
* Change FETCH/MOVE to use int8.Bruce Momjian2006-09-02
| | | | Dhanaraj M
* Remove GUC_REPORT for new "server_version_num" GUC variable. AddedBruce Momjian2006-09-02
| | | | overhead for every connection, per Tom.
* Apply a simple solution to the problem of making INSERT/UPDATE/DELETETom Lane2006-09-02
| | | | | | | | | | | | | | | RETURNING play nice with views/rules. To wit, have the rule rewriter rewrite any RETURNING clause found in a rule to produce what the rule's triggering query asked for in its RETURNING clause, in particular drop the RETURNING clause if no RETURNING in the triggering query. This leaves the responsibility for knowing how to produce the view's output columns on the rule author, without requiring any fundamental changes in rule semantics such as adding new rule event types would do. The initial implementation constrains things to ensure that there is exactly one, unconditionally invoked RETURNING clause among the rules for an event --- later we might be able to relax that, but for a post feature freeze fix it seems better to minimize how much invention we do. Per gripe from Jaime Casanova.
* Add new variable "server_version_num", which is almost the same asBruce Momjian2006-09-02
| | | | | | | | "server_version" but uses the handy PG_VERSION_NUM which allows apps to do things like if ($version >= 80200) without having to parse apart the value of server_version themselves. Greg Sabino Mullane greg@turnstep.com
* Clean up rather sloppy fix in HEAD for the ancient bug that CREATE CONVERSIONTom Lane2006-08-31
| | | | | didn't create a dependency from the new conversion to its schema. Back-patch to all supported releases.
* Repair interpretation of GB as MB.Peter Eisentraut2006-08-31
|
* Attibution addition: Add Karel Zak also for COPY SELECT.Bruce Momjian2006-08-31
|
* Correct attibution:Bruce Momjian2006-08-31
| | | | COPY SELECT work done by Zoltan Boszormenyi
* Extend COPY to support COPY (SELECT ...) TO ...Tom Lane2006-08-30
| | | | Bernd Helmle
* Update logging of prepare/execute syntax, per comments from Guillaume Smet.Bruce Momjian2006-08-30
|
* Separate prepared statement and bind parameters with comma.Bruce Momjian2006-08-29
| | | | Fix printing of NULL bind parameters, use "NULL".
* Fix mistypingTeodor Sigaev2006-08-29
|
* Fix BUG #2594: Gin Indexes cause server to crash when it builds on empty tableTeodor Sigaev2006-08-29
|
* Revert change to turn autovacuum on by default.Peter Eisentraut2006-08-29
|
* Only call log_after_parse() if necessary.Bruce Momjian2006-08-29
|
* Now bind displays prepare as detail, and execute displays prepare andBruce Momjian2006-08-29
| | | | | | | | | | optionally bind. I re-added the "statement:" label so people will understand why the line is being printed (it is log_*statement behavior). Use single quotes for bind values, instead of double quotes, and double literal single quotes in bind values (and document that). I also made use of the DETAIL line to have much cleaner output.
* Fix pgstat_report_waiting() to not dump core if called beforeTom Lane2006-08-28
| | | | | | | | | | pgstat_bestart() has been called; else any lock-block occurring during InitPostgres() is disastrous. I believe this explains recent wasp regression failure; at least it explains the crash I got while trying to duplicate the problem. I also made pgstat_report_activity() safe against the same scenario, just in case. The report_waiting hazard was created by my patch of 19-Aug to include waiting status in pg_stat_activity.
* Tweak trivial_subqueryscan() to consider a SubqueryScan's targetlistTom Lane2006-08-28
| | | | | | | trivial if it contains either Vars referencing the corresponding subplan columns, or Consts equaling the corresponding subplan columns. This lets the planner eliminate the SubqueryScan in some cases generated by generate_setop_tlist().
* Turn autovacuum on by default. (stats_row_level is also on by default.)Peter Eisentraut2006-08-28
| | | | Threshold and scale factor are cut in half for more aggressive behavior.
* Add new return codes SPI_OK_INSERT_RETURNING etc to the SPI API.Tom Lane2006-08-27
| | | | | | | Fix all the standard PLs to be able to return tuples from FOO_RETURNING statements as well as utility statements that return tuples. Also, fix oversight that SPI_processed wasn't set for a utility statement returning tuples. Per recent discussion.
* Add some notes about why it's not a bug that RI_FKey_check callsTom Lane2006-08-27
| | | | | HeapTupleSatisfiesItself without doing LockBuffer first. This code is a bit fragile, but AFAICS it's not actually broken.
* Add a function GetLockConflicts() to lock.c to report xacts holdingTom Lane2006-08-27
| | | | | | | | | locks that would conflict with a specified lock request, without actually trying to get that lock. Use this instead of the former ad hoc method of doing the first wait step in CREATE INDEX CONCURRENTLY. Fixes problem with undetected deadlock and in many cases will allow the index creation to proceed sooner than it otherwise could've. Per discussion with Greg Stark.
* Move xact.c's partial support for Lists of TransactionIds into pg_list.h.Tom Lane2006-08-27
| | | | Needed because lock.c is now going to use the same type of list.
* Add the ability to create indexes 'concurrently', that is, withoutTom Lane2006-08-25
| | | | | blocking concurrent writes to the table. Greg Stark, with a little help from Tom Lane.
* Add some debug logging code to AllocateFile's failure path to log theTom Lane2006-08-24
| | | | | specific Windows error code (GetLastError). This is a hopefully temporary hack to try to diagnose rare failures. Magnus Hagander
* Optimize the case where a btree indexscan has current and mark positionsTom Lane2006-08-24
| | | | | | | | on the same index page; we can avoid data copying as well as buffer refcount manipulations in this common case. Makes for a small but noticeable improvement in mergejoin speed. Heikki Linnakangas
* In new "invalid byte sequence" error hint, call it "error", notBruce Momjian2006-08-22
| | | | "failure".
* Add hint for "invalid byte sequence for encoding" error message,Bruce Momjian2006-08-22
| | | | suggesting review of client_encoding.
* Ooops, ldap fix for win32 broke the non-win32 case.Tom Lane2006-08-22
|
* Fix encrypted-LDAP support so that it doesn't cause the server to failTom Lane2006-08-21
| | | | | entirely on older Windows platforms without the needed library function. Magnus Hagander
* Minor code rearrangement to save a few cycles in RI_FKey_check whenTom Lane2006-08-21
| | | | | the subject tuple is already deleted: we need not open the pk_rel until after we check that.
* Make the server track an 'XID epoch', that is, maintain higher-order bitsTom Lane2006-08-21
| | | | | | | | | of the transaction ID counter. Nothing is done with the epoch except to store it in checkpoint records, but this provides a foundation with which add-on code can pretend that XIDs never wrap around. This is a severely trimmed and rewritten version of the xxid patch submitted by Marko Kreen. Per discussion, the epoch counter seems the only part of xxid that really needs to be in the core server.
* Fix all known problems with pg_dump's handling of serial sequencesTom Lane2006-08-21
| | | | | | | | | | | | | | | | | | | | | by abandoning the idea that it should say SERIAL in the dump. Instead, dump serial sequences and column defaults just like regular ones. Add a new backend command ALTER SEQUENCE OWNED BY to let pg_dump recreate the sequence-to-column dependency that was formerly created "behind the scenes" by SERIAL. This restores SERIAL to being truly "just a macro" consisting of component operations that can be stated explicitly in SQL. Furthermore, the new command allows sequence ownership to be reassigned, so that old mistakes can be cleaned up. Also, downgrade the OWNED-BY dependency from INTERNAL to AUTO, since there is no longer any very compelling argument why the sequence couldn't be dropped while keeping the column. (This forces initdb, to be sure the right kinds of dependencies are in there.) Along the way, add checks to prevent ALTER OWNER or SET SCHEMA on an owned sequence; you can now only do this indirectly by changing the owning table's owner or schema. This is an oversight in previous releases, but probably not worth back-patching.
* Fix DROP OWNED BY to correctly consider the implicitly-deleted objects list forAlvaro Herrera2006-08-20
| | | | | | | | | | | | | each object to be deleted, instead of the previous hack that just skipped INTERNAL dependencies, which didn't really work. Per report from Tom Lane. To do this, introduce a new performMultipleDeletions entry point in dependency.c to delete multiple objects at once. The dependency code then has the responsability of tracking INTERNAL and AUTO dependencies as needed. Along the way, change ObjectAddresses so that we can allocate an ObjectAddress list from outside dependency.c and not have to export the internal representation.
* Suppress subquery pullup/pushdown when a subquery contains volatileTom Lane2006-08-19
| | | | | | functions in its targetlist, to avoid introducing multiple evaluations of volatile functions that textually appear only once. This is a slightly tighter version of Jaime Casanova's recent patch.
* Add a 'waiting' column to pg_stat_activity to carry the same informationTom Lane2006-08-19
| | | | | | | that ps_status provides by appending 'waiting' to the PS display. This completes the project of making it feasible to turn off process title updates and instead rely on pg_stat_activity. Per my suggestion a few weeks ago.
* Now that we've rearranged relation open to get a lock before touchingTom Lane2006-08-18
| | | | | | the rel, it's easy to get rid of the narrow race-condition window that used to exist in VACUUM and CLUSTER. Did some minor code-beautification work in the same area, too.
* Implement archive_timeout feature to force xlog file switches to occur no moreTom Lane2006-08-17
| | | | | | | | | | | than N seconds apart. This allows a simple, if not very high performance, means of guaranteeing that a PITR archive is no more than N seconds behind real time. Also make pg_current_xlog_location return the WAL Write pointer, add pg_current_xlog_insert_location to return the Insert pointer, and fix pg_xlogfile_name_offset to return its results as a two-element record instead of a smashed-together string, as per recent discussion. Simon Riggs
* Fix an oversight in mergejoin planning: the planner would reject aTom Lane2006-08-17
| | | | | | | | | mergejoin possibility where the inner rel was less well sorted than the outer (ie, it matches some but not all of the merge clauses that can work with the outer), if the inner path in question is also the overall cheapest path for its rel. This is an old bug, but I'm not sure it's worth back-patching, because it's such a corner case. Noted while investigating a test case from Peter Hardman.