aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Remove some no-longer-needed kluges for bootstrapping, in particularTom Lane2005-02-20
| | | | | | | | the AMI_OVERRIDE flag. The fact that TransactionLogFetch treats BootstrapTransactionId as always committed is sufficient to make bootstrap work, and getting rid of extra tests in heavily used code paths seems like a win. The files produced by initdb are demonstrably the same after this change.
* Rename macro to MAKE_EXPIRED_TUPLES_VISIBLE.Bruce Momjian2005-02-20
|
* Fix MAKE_ALL_TUPLES_VISIBLE define.Bruce Momjian2005-02-20
|
* Move define MAKE_ALL_TUPLES_VISIBLE to a more logical place.Bruce Momjian2005-02-20
|
* I have added a define, MAKE_ALL_TUPLES_VISIBLE, to help people recoverBruce Momjian2005-02-20
| | | | deleted tuples. Of course it is only to be used for disaster recovery.
* Flat file cleanup phase 2: make it work for pg_group. The flat groupTom Lane2005-02-20
| | | | | | | | | | | file now identifies group members by usesysid not name; this avoids needing to depend on SearchSysCache which we can't use during startup. (The old representation was entirely broken anyway, since we did not regenerate the file following RENAME USER.) It's only a 95% solution because if the group membership list is big enough to be toasted out of line, we cannot read it during startup. I think this will do for the moment, until we have time to implement the planned pg_role replacement for pg_group.
* Add code to prevent transaction ID wraparound by enforcing a safe limitTom Lane2005-02-20
| | | | | | | | | | | | | | in GetNewTransactionId(). Since the limit value has to be computed before we run any real transactions, this requires adding code to database startup to scan pg_database and determine the oldest datfrozenxid. This can conveniently be combined with the first stage of an attack on the problem that the 'flat file' copies of pg_shadow and pg_group are not properly updated during WAL recovery. The code I've added to startup resides in a new file src/backend/utils/init/flatfiles.c, and it is responsible for rewriting the flat files as well as initializing the XID wraparound limit value. This will eventually allow us to get rid of GetRawDatabaseInfo too, but we'll need an initdb so we can add a trigger to pg_database.
* New arrangement to always let the bgwriter do checkpoints brokeTom Lane2005-02-19
| | | | | CHECKPOINT and some other commands in the context of a standalone backend. Allow a standalone backend to do its own checkpoints.
* Ensure that the resolved datatype of any unknown Param is propagatedTom Lane2005-02-19
| | | | | into the sub-SELECT targetlist when it appears in the context INSERT INTO foo SELECT $1 ... Per report from Abhijit Menon-Sen.
* Convert MemoryContextSwitchTo() into an inline function when using GCC.Tom Lane2005-02-18
|
* Update comment on VACUUM FULL.Bruce Momjian2005-02-15
| | | | Manfred Koizar
* Document usage of gettext_noop().Bruce Momjian2005-02-15
|
* Improve documentation of signal usage for HAVE_SIGPROCMASK andBruce Momjian2005-02-14
| | | | non-HAVE_SIGPROCMASK cases in pqinitmask().
* Improve documentation of signal usage for HAVE_SIGPROCMASK andBruce Momjian2005-02-14
| | | | non-HAVE_SIGPROCMASK cases in pqinitmask().
* ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich.Tom Lane2005-02-14
|
* Print file name and errno string on rmtree failure.Bruce Momjian2005-02-13
| | | | Backpatch to 8.0.X.
* Move plpgsql DEBUG from DEBUG2 to DEBUG1 because it is a user-requestedBruce Momjian2005-02-13
| | | | DEBUG.
* Move plpgsql DEBUG from DEBUG2 to DEBUG1 because it is a user-requestedBruce Momjian2005-02-12
| | | | | | DEBUG. Fix a few places where DEBUG1 crept in that should have been DEBUG2.
* Add a regression test to verify that the stack depth checker actuallyTom Lane2005-02-11
| | | | | works (and max_stack_depth is not set too high for the platform). Inspired by trouble report from Brian Betts.
* Adjust input routines for float4, float8 and oid to reject the empty stringNeil Conway2005-02-11
| | | | | as valid input (it was previously treated as 0). This input was deprecated in 8.0 (and a warning was emitted). Regression tests updated.
* Fix ANALYZE to accumulate some minimal statistics for an all-null column.Tom Lane2005-02-11
| | | | Per gripes from Mike Mascari and Bernd Heller.
* Fix SPI cursor support to allow scanning the results of utility commandsTom Lane2005-02-10
| | | | | | that return tuples (such as EXPLAIN). Per gripe from Michael Fuhr. Side effect: fix an old bug that unintentionally disabled backward scans for all SPI-created cursors.
* Fixed changelog entry to list correct bug reporter.Michael Meskes2005-02-10
|
* Fixed more parsing bugs in other CREATE statements as pointed out by TANIDAMichael Meskes2005-02-10
| | | | Yutaka <tanida@sra.co.jp>.
* ALTER TABLE ADD COLUMN exhibits a significant memory leak when adding aNeil Conway2005-02-09
| | | | | | | | | | | | | | | | | | | | column with a default expression. In that situation, we need to rewrite the heap relation. To evaluate the new default expression, we use ExecEvalExpr(); however, this can allocate memory in the current memory context, and ATRewriteTable() does not switch out of the active portal's heap memory context. The end result is a rather large memory leak (on the order of gigabytes for a reasonably sized table). This patch changes ATRewriteTable() to switch to the per-tuple memory context before beginning the per-tuple loop. It also removes an explicit heap_freetuple() in the loop, since that is no longer needed. In an unrelated change, I noticed the code was scanning through the attributes of the new tuple descriptor for each tuple of the old table. I changed this to use precomputation, which should slightly speed up the loop. Thanks to steve@deefs.net for reporting the leak.
* Fixed bug in parsing of CREATE AS statement.Michael Meskes2005-02-09
|
* Repair CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. Turns outTom Lane2005-02-06
| | | | | | | there are corner cases involving dropping toasted columns in which the previous coding would fail, too: the new version of the table might not have any TOAST table, but we'd still propagate possibly-wide values of dropped columns forward.
* Fix bit-rot in ipc_test.c; it didn't include some stuff that pg_shmem.cTom Lane2005-02-05
| | | | now depends on.
* Marginal hack to merge adjacent ReleaseBuffer/ReadBuffer calls intoTom Lane2005-02-05
| | | | | ReleaseAndReadBuffer during GIST index searches. We already did this in btree and rtree, might as well do it here too.
* Refactor some duplicated code in lock.c: create UnGrantLock(), move codeNeil Conway2005-02-04
| | | | from LockRelease() and LockReleaseAll() into it. From Heikki Linnakangas.
* Fix minor thinko in logic to set dump order when dumping from a pre-7.3Tom Lane2005-02-03
| | | | | database: aggregates should be dumped in the same pass as operators, not in the same pass as functions.
* Ensure that all details of the ARC algorithm are hidden within freelist.c.Tom Lane2005-02-03
| | | | | This refactoring does not change any algorithms or data structures, just remove visibility of the ARC datastructures from other source files.
* Improve performance of fmgr.c calling routines for cases with more thanTom Lane2005-02-02
| | | | two arguments. Per suggestions from A. Ogawa.
* Adjust constant-folding of CASE expressions so that the simple comparisonTom Lane2005-02-02
| | | | | | | | form of CASE (eg, CASE 0 WHEN 1 THEN ...) can be constant-folded as it was in 7.4. Also, avoid constant-folding result expressions that are certainly unreachable --- the former coding was a bit cavalier about this and could generate unexpected results for all-constant CASE expressions. Add regression test cases. Per report from Vlad Marchenko.
* Add to release checklist:Bruce Momjian2005-02-02
| | | | * Update inet/cidr data types with newest Bind patches
* Fixed bug in parsing of #line statement in declare section.Michael Meskes2005-02-02
|
* Add support for temporary views, including documentation and regressionNeil Conway2005-02-02
| | | | | | | | tests. Contributed by Koju Iijima, review from Neil Conway, Gavin Sherry and Tom Lane. Also, fix error in description of WITH CHECK OPTION clause in the CREATE VIEW reference page: it should be "CASCADED", not "CASCADE".
* Fix a bug induced by the list-rewrite that resulted in incrementing theNeil Conway2005-02-01
| | | | command counter more than necessary. Per report from Michael Fuhr.
* Adjust estimate_num_groups() to not clamp per-relation group countTom Lane2005-02-01
| | | | | | | estimate to less than the number of values estimated for any one grouping Var, as suggested by Manfred. This is intuitively right, and what's more it puts the plan choices in the subselect regression test back the way they were before ...
* Adjust plpgsql to allow assignment to an element of an array that isTom Lane2005-02-01
| | | | | | initially NULL. For 8.0 we changed the main executor to have this behavior in an UPDATE of an array column, but plpgsql's equivalent case was overlooked. Per report from Sven Willenberger.
* Sync inet formatting code with recent BIND releases. In particular,Tom Lane2005-02-01
| | | | | fix bug with inconsistent selection of default mask length for "class D" addresses. Per report from Steve Atkins.
* When dealing with multiple grouping columns coming from the same table,Tom Lane2005-01-28
| | | | | | | | | clamp the estimated number of groups to table row count over 10, instead of table row count; this reflects a heuristic that people probably won't group over a near-unique set of columns, and the knowledge that we don't currently have any way to estimate the correlation of the columns better than guessing. This change creates a trivial plan change in one of the regression tests.
* Improve planner's estimation of the space needed for HashAgg plans:Tom Lane2005-01-28
| | | | | | look at the actual aggregate transition datatypes and the actual overhead needed by nodeAgg.c, instead of using pessimistic round numbers. Per a discussion with Michael Tiemann.
* pg_aggregate.h fails to compile standalone, for lack of an #includeTom Lane2005-01-28
| | | | defining List.
* Adjust mkdir_p to do stat() before trying mkdir(). Avoids problems onTom Lane2005-01-28
| | | | | Solaris and should be a little faster anyway, since in most scenarios all but perhaps the last path component will already exist.
* Check that aggregate creator has the right to execute the transitionTom Lane2005-01-27
| | | | functions of the aggregate, at both aggregate creation and execution times.
* Small patch to move get_grosysid() from catalog/aclchk.c toNeil Conway2005-01-27
| | | | | | utils/cache/lsyscache.c where it can be used by other things. Also cleans up both get_usesysid() and get_grosysid() a bit. From Stephen Frost.
* Change heap_modifytuple() to require a TupleDesc rather than aNeil Conway2005-01-27
| | | | | Relation. Patch from Alvaro Herrera, minor editorializing by Neil Conway.
* Provide a more descriptive error message when the return type of an SRFNeil Conway2005-01-27
| | | | | does not match what the query expected. From Brendan Jurd, minor editorializing by Neil Conway.
* Generalize TRUNCATE to support truncating multiple tables in oneTom Lane2005-01-27
| | | | | | | | command. This is useful because we can allow truncation of tables referenced by foreign keys, so long as the referencing table is truncated in the same command. Alvaro Herrera