aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Add semicolon so snprintf.c goto has a statement to attach to:Bruce Momjian2005-02-22
| | | | | | nochar: /* nothing */ ; /* semicolon required because a goto has to be attached to a statement */
* Use _() macro consistently rather than gettext(). Add translationBruce Momjian2005-02-22
| | | | macros around strings that were missing them.
* Add support to port/snprintf.c for position parameter specification:Bruce Momjian2005-02-22
| | | | | | | | | + # Determine if printf supports %1$ argument selection, e.g. %5$ selects + # the fifth argument after the printf print string. + # This is not in the C99 standard, but in the Single Unix Specification (SUS). + # It is used in our langauge translation strings. Nicolai Tufar with configure changes by Bruce.
* Try to get Borland CC to compile.Bruce Momjian2005-02-21
| | | | Backpatch to 8.0.X which doesn't work right now.
* Trivial fix: change the reference to further documentation of pathkeys toNeil Conway2005-02-21
| | | | point to its new location.
* Use SnapshotNow instead of SnapshotSelf for reading the catalogsTom Lane2005-02-20
| | | | | | | | during flat-file writing. The only difference is that SnapshotSelf would consider tuples of the 'current command' within the current transaction as valid, where SnapshotNow wouldn't. We can eliminate the need for this with one extra CommandCounterIncrement call before we start reading the catalogs.
* 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.