OSDN Git Service
Peter Eisentraut [Sat, 6 Jan 2007 19:18:36 +0000 (19:18 +0000)]
Replace xmlroot with a properly functioning version that parses the value,
sets the items, and serializes the value back (rather than adding an
arbitrary number of XML preambles as before).
The libxml memory management via palloc had to be disabled because it
crashes when libxml tries to access memory that was helpfully freed
earlier by PostgreSQL. This needs further thought.
Tom Lane [Sat, 6 Jan 2007 19:14:17 +0000 (19:14 +0000)]
Fix filtered_base_yylex() to save and restore base_yylval and base_yylloc
properly when doing a lookahead. The lack of this was causing various
interesting misbehaviors when one tries to use "with" as a plain identifier.
Bruce Momjian [Sat, 6 Jan 2007 15:19:45 +0000 (15:19 +0000)]
Document problems with release links in early branches.
Bruce Momjian [Sat, 6 Jan 2007 15:18:03 +0000 (15:18 +0000)]
Check for ERANGE in exp() as well.
Improve release docs for ecpg regression tests.
Bruce Momjian [Sat, 6 Jan 2007 04:14:55 +0000 (04:14 +0000)]
Improve dpow() check for ERANGE overflow for HPPA.
Tom Lane [Sat, 6 Jan 2007 02:28:38 +0000 (02:28 +0000)]
Put back ERANGE test in dpow(). There are platforms that need this,
like my HPPA ...
Bruce Momjian [Sat, 6 Jan 2007 00:25:11 +0000 (00:25 +0000)]
Document that we need to update the ecpg regression files when we update
the library version number.
Bruce Momjian [Fri, 5 Jan 2007 22:43:17 +0000 (22:43 +0000)]
Update ecpg regresison output for new library version number.
Tom Lane [Fri, 5 Jan 2007 22:34:35 +0000 (22:34 +0000)]
Minor copy-editing for release note updates.
Bruce Momjian [Fri, 5 Jan 2007 22:20:05 +0000 (22:20 +0000)]
Update CVS HEAD for 2007 copyright. Back branches are typically not
back-stamped for this.
Bruce Momjian [Fri, 5 Jan 2007 21:29:20 +0000 (21:29 +0000)]
Update copyright script, report year used
Bruce Momjian [Fri, 5 Jan 2007 21:09:53 +0000 (21:09 +0000)]
Modify copyright script to pull current year from `date`.
Bruce Momjian [Fri, 5 Jan 2007 20:56:56 +0000 (20:56 +0000)]
Update Japanese FAQ.
Bruce Momjian [Fri, 5 Jan 2007 20:54:43 +0000 (20:54 +0000)]
Stamp major release 8.3.0, and increment library version numbers.
Bruce Momjian [Fri, 5 Jan 2007 20:40:30 +0000 (20:40 +0000)]
Update for release 8.2.1.
Bruce Momjian [Fri, 5 Jan 2007 20:05:02 +0000 (20:05 +0000)]
Create release notes for all back-branch relases on 2007-01-08.
Andrew Dunstan [Fri, 5 Jan 2007 16:17:55 +0000 (16:17 +0000)]
Call setrlimit if possible in pg_regress to allow core file generation, and provide a switch for similar behaviour in pg_ctl.
Bruce Momjian [Fri, 5 Jan 2007 03:19:26 +0000 (03:19 +0000)]
Update float dpow() comment about whick platforms had issues with Nan.
Stefan Kaltenbrunner
Tom Lane [Fri, 5 Jan 2007 01:18:59 +0000 (01:18 +0000)]
Add missing reference to pg_shdescription. Greg Mullane
Bruce Momjian [Thu, 4 Jan 2007 21:00:14 +0000 (21:00 +0000)]
Fix tab to space mention in FAQ_DEV.
Tom Lane [Thu, 4 Jan 2007 17:58:19 +0000 (17:58 +0000)]
Fix AddDefine to handle quotes properly. Magnus
Tom Lane [Thu, 4 Jan 2007 17:49:37 +0000 (17:49 +0000)]
Tweak pg_dumpall to add GRANT CONNECT ON DATABASE ... TO PUBLIC when dumping
database privileges from a pre-8.2 server. This ensures that the reloaded
database will maintain the same behavior it had in the previous installation,
ie, everybody has connect privilege. Per gripe from L Bayuk.
Tom Lane [Thu, 4 Jan 2007 16:29:42 +0000 (16:29 +0000)]
Fix some small typos in comments. Greg Stark
Bruce Momjian [Thu, 4 Jan 2007 05:18:39 +0000 (05:18 +0000)]
Simplify assignment of Inf for pow Nan (don't worry about the sign).
Tom Lane [Thu, 4 Jan 2007 00:57:51 +0000 (00:57 +0000)]
Fix erroneous implementation of -s in postc (the switch doesn't take
an optarg). Add some comments noting that code in three different files has
to be kept in sync. Fix erroneous description of -S switch (it sets work_mem
not silent_mode), and do some light copy-editing elsewhere in postgres-ref.
Tom Lane [Wed, 3 Jan 2007 22:39:26 +0000 (22:39 +0000)]
Fix regex_fixed_prefix() to cope reasonably well with regex patterns of the
form '^(foo)$'. Before, these could never be optimized into indexscans.
The recent changes to make psql and pg_dump generate such patterns (for \d
commands and -t and related switches, respectively) therefore represented
a big performance hit for people with large pg_class catalogs, as seen in
recent gripe from Erik Jones. While at it, be more paranoid about
case-sensitivity checking in multibyte encodings, and fix some other
corner cases in which a regex might be interpreted too liberally.
Bruce Momjian [Wed, 3 Jan 2007 22:05:00 +0000 (22:05 +0000)]
Update pow() tests to check for both errno==EDOM _and_ result==Nan, and
document why this happens. Remove exp() errno check because not needed.
Tom Lane [Wed, 3 Jan 2007 19:34:23 +0000 (19:34 +0000)]
Fix erroneous error tests in pow/exp.
Tom Lane [Wed, 3 Jan 2007 18:57:19 +0000 (18:57 +0000)]
Fix btree_gist for new larger money type.
Tom Lane [Wed, 3 Jan 2007 18:11:01 +0000 (18:11 +0000)]
Clean up smgr.c/md.c APIs as per discussion a couple months ago. Instead of
having md.c return a success/failure boolean to smgr.c, which was just going
to elog anyway, let md.c issue the elog messages itself. This allows better
error reporting, particularly in cases such as "short read" or "short write"
which Peter was complaining of. Also, remove the kluge of allowing mdread()
to return zeroes from a read-beyond-EOF: this is now an error condition
except when InRecovery or zero_damaged_pages = true. (Hash indexes used to
require that behavior, but no more.) Also, enforce that mdwrite() is to be
used for rewriting existing blocks while mdextend() is to be used for
extending the relation EOF. This restriction lets us get rid of the old
ad-hoc defense against creating huge files by an accidental reference to
a bogus block number: we'll only create new segments in mdextend() not
mdwrite() or mdread(). (Again, when InRecovery we allow it anyway, since
we need to allow updates of blocks that were later truncated away.)
Also, clean up the original makeshift patch for bug #2737: move the
responsibility for padding relation segments to full length into md.c.
Bruce Momjian [Wed, 3 Jan 2007 14:35:24 +0000 (14:35 +0000)]
Attempt to return proper overflow/underflow messages for platforms that
only return Nan and set errno for pow/exp overflow/underflow.
Bruce Momjian [Wed, 3 Jan 2007 04:21:47 +0000 (04:21 +0000)]
For float4/8, remove errno checks for pow() and exp() because only some
platforms set errno, and we already have a check macro that detects
under/overflow, so there is no reason for platform-specific code
anymore.
D'Arcy J.M. Cain [Wed, 3 Jan 2007 01:19:51 +0000 (01:19 +0000)]
Widen the money type to 64 bits.
Bruce Momjian [Tue, 2 Jan 2007 23:38:42 +0000 (23:38 +0000)]
Update expected result for new inet error message wording.
Bruce Momjian [Tue, 2 Jan 2007 22:21:08 +0000 (22:21 +0000)]
Adjust network errmsg("result is out of range") message to be consistent
with other places.
Bruce Momjian [Tue, 2 Jan 2007 22:19:42 +0000 (22:19 +0000)]
Some platforms set errno on pow(), exp() overflow, some do not, so if
isinf(), fall through to our own infinity checks.
Tom Lane [Tue, 2 Jan 2007 21:43:36 +0000 (21:43 +0000)]
Add a regression test for ALTER SET TABLESPACE; this is a whole separate
code path in tablecmds.c that wasn't exercised at all before.
Bruce Momjian [Tue, 2 Jan 2007 21:25:50 +0000 (21:25 +0000)]
finite() no longer used; remove finite() platform-specific
infrastructure.
Bruce Momjian [Tue, 2 Jan 2007 20:59:32 +0000 (20:59 +0000)]
Add n_live_tuples and n_dead_tuples to pg_stat_all_tables.
The purpose is to allow autovacuum-esq conditional vacuuming and
clustering using SQL to discover the required stats.
No documentation updates required. Catalog version updated.
Glen Parker
Bruce Momjian [Tue, 2 Jan 2007 20:50:35 +0000 (20:50 +0000)]
Add #include <float.h> for platforms that still need it.
Bruce Momjian [Tue, 2 Jan 2007 20:00:50 +0000 (20:00 +0000)]
Fix float4/8 to handle Infinity and Nan consistently, e.g. Infinity is a
valid result from a computation if one of the input values was infinity.
The previous code assumed an operation that returned infinity was an
overflow.
Handle underflow/overflow consistently, and add checks for aggregate
overflow.
Consistently prevent Inf/Nan from being cast to integer data types.
Fix INT_MIN % -1 to prevent overflow.
Update regression results for new error text.
Per report from Roman Kononov.
Tom Lane [Sun, 31 Dec 2006 20:32:04 +0000 (20:32 +0000)]
Found the problem with my operator-family changes: by fetching from
pg_opclass during LookupOpclassInfo(), I'd turned pg_opclass_oid_index
into a critical system index. However the problem could only manifest
during a backend's first attempt to load opclass data, and then only
if it had successfully loaded pg_internal.init and subsequently received
a relcache flush; which made it impossible to reproduce in sequential
tests and darn hard even in parallel tests. Memo to self: when
exercising cache flush scenarios, must disable LookupOpclassInfo's
internal cache too.
Tom Lane [Sat, 30 Dec 2006 21:21:56 +0000 (21:21 +0000)]
Support type modifiers for user-defined types, and pull most knowledge
about typmod representation for standard types out into type-specific
typmod I/O functions. Teodor Sigaev, with some editorialization by
Tom Lane.
Bruce Momjian [Sat, 30 Dec 2006 20:31:11 +0000 (20:31 +0000)]
Clarify wording on when ctid is modified by VACUUM FULL.
Tom Lane [Fri, 29 Dec 2006 16:49:02 +0000 (16:49 +0000)]
Add support for XML build option to MSVC build scripts.
Magnus Hagander
Tom Lane [Fri, 29 Dec 2006 16:44:28 +0000 (16:44 +0000)]
Fix multiple breakages in last XML patch.
Peter Eisentraut [Fri, 29 Dec 2006 10:50:22 +0000 (10:50 +0000)]
De-escape XML names when reverse-compiling XML expressions.
Tom Lane [Thu, 28 Dec 2006 23:16:39 +0000 (23:16 +0000)]
Fix up btree's initial scankey processing to be able to detect redundant
or contradictory keys even in cross-data-type scenarios. This is another
benefit of the opfamily rewrite: we can find the needed comparison
operators now.
Bruce Momjian [Thu, 28 Dec 2006 20:51:13 +0000 (20:51 +0000)]
Add TLS thread URL:
> http://archives.postgresql.org/pgsql-hackers/2006-12/msg01213.php
Bruce Momjian [Thu, 28 Dec 2006 20:44:00 +0000 (20:44 +0000)]
Remove:
< * Add a GUC to control whether BEGIN inside a transcation should abort
< the transaction.
Tom Lane [Thu, 28 Dec 2006 20:02:38 +0000 (20:02 +0000)]
Remove caveat about avoiding cross-type operators in constraints intended
for use with constraint exclusion. We can prove those cases now...
Tom Lane [Thu, 28 Dec 2006 19:53:05 +0000 (19:53 +0000)]
Enable btree_predicate_proof() to make proofs involving cross-data-type
predicate operators. The hard stuff turns out to be already done in the
previous commit, we need merely open the floodgates...
Bruce Momjian [Thu, 28 Dec 2006 18:01:20 +0000 (18:01 +0000)]
Done:
< * Move some /contrib modules out to their own project sites
<
< Particularly, move GPL-licensed /contrib/userlock and
< /contrib/dbmirror/clean_pending.pl.
<
Peter Eisentraut [Thu, 28 Dec 2006 14:28:36 +0000 (14:28 +0000)]
Add send and recv functions for xml type.
Peter Eisentraut [Thu, 28 Dec 2006 03:17:38 +0000 (03:17 +0000)]
Handle content and document options in xmlparse() correctly.
Tom Lane [Thu, 28 Dec 2006 01:09:01 +0000 (01:09 +0000)]
Add a defense to prevent core dumps if 8.2 version of rank_cd() is used with
the 8.1 SQL function definition for it. Per report from Rajesh Kumar Mallah,
such a DBA error doesn't seem at all improbable, and the cost of checking for
it is not very high compared to the cost of running this function. (It would
have been better to change the C name of the function so it wouldn't be called
by the old SQL definition, but it's too late for that now in the 8.2 branch.)
Tom Lane [Thu, 28 Dec 2006 00:29:13 +0000 (00:29 +0000)]
fflush the \o file, if any, after each backslash command. We already
do this for ordinary SQL commands, so it seems consistent to do it for
backslash commands too. Per gripe from Rajesh Kumar Mallah.
Tom Lane [Thu, 28 Dec 2006 00:01:05 +0000 (00:01 +0000)]
Revert exports.list change pending closer study.
Tom Lane [Wed, 27 Dec 2006 23:53:13 +0000 (23:53 +0000)]
Use a more backward-compatible syntax for exports.list on Linux.
Per Thorkil Olesen.
Bruce Momjian [Wed, 27 Dec 2006 23:03:52 +0000 (23:03 +0000)]
Clean up pgindent handling of comments after 'else' by only moving
multi-line comments to the next line.
Tom Lane [Wed, 27 Dec 2006 22:31:54 +0000 (22:31 +0000)]
Modify local buffer management to request memory for local buffers in blocks
of increasing size, instead of one at a time. This reduces the memory
management overhead when num_temp_buffers is large: in the previous coding
we would actually waste 50% of the space used for temp buffers, because aset.c
would round the individual requests up to 16K. Problem noted while studying
a performance issue reported by Steven Flatt.
Back-patch as far as 8.1 --- older versions used few enough local buffers
that the issue isn't significant for them.
Tom Lane [Wed, 27 Dec 2006 22:30:48 +0000 (22:30 +0000)]
Improve memory management code to avoid inefficient behavior when a context
has a small maxBlockSize: the maximum request size that we will treat as a
"chunk" needs to be limited to fit in maxBlockSize. Otherwise we will round
up the request size to the next power of 2, wasting space, which is a bit
pointless if we aren't going to make the blocks big enough to fit additional
stuff in them. The example motivating this is local buffer management, which
makes repeated allocations of 8K (one BLCKSZ buffer) in TopMemoryContext,
which has maxBlockSize = 8K because for the most part allocations there are
small. This leads to each local buffer actually eating 16K of space, which
adds up when there are thousands of them. I intend to change localbuf.c to
aggregate its requests, which will prevent this particular misbehavior, but
it seems likely that similar scenarios could arise elsewhere, so fixing the
core problem seems wise as well.
Tom Lane [Wed, 27 Dec 2006 19:45:36 +0000 (19:45 +0000)]
Print combining characters (those reported as having zero width by
PQdsplen()) normally, instead of replacing them by \uXXXX sequences.
Assume that they in fact occupy zero screen space for formatting purposes.
Per gripe from Michael Fuhr and ensuing discussion.
Tom Lane [Wed, 27 Dec 2006 16:07:36 +0000 (16:07 +0000)]
Use FROM clause in example UPDATE commands where appropriate. Also
remove long-obsolete statement that there isn't a check for infinite
recursion in view rules.
Bruce Momjian [Wed, 27 Dec 2006 14:55:17 +0000 (14:55 +0000)]
Use "dead" rather than "expired" for vacuumable rows.
Tom Lane [Tue, 26 Dec 2006 21:37:20 +0000 (21:37 +0000)]
Fix failure due to accessing an already-freed tuple descriptor in a plan
involving HashAggregate over SubqueryScan (this is the known case, there
may well be more). The bug is only latent in releases before 8.2 since they
didn't try to access tupletable slots' descriptors during ExecDropTupleTable.
The least bogus fix seems to be to make subqueries share the parent query's
memory context, so that tupdescs they create will have the same lifespan as
those of the parent query. There are comments in the code envisioning going
even further by not having a separate child EState at all, but that will
require rethinking executor access to range tables, which I don't want to
tackle right now. Per bug report from Jean-Pierre Pelletier.
Tom Lane [Tue, 26 Dec 2006 19:26:46 +0000 (19:26 +0000)]
Repair bug #2839: the various ExecReScan functions need to reset
ps_TupFromTlist in plan nodes that make use of it. This was being done
correctly in join nodes and Result nodes but not in any relation-scan nodes.
Bug would lead to bogus results if a set-returning function appeared in the
targetlist of a subquery that could be rescanned after partial execution,
for example a subquery within EXISTS(). Bug has been around forever :-(
... surprising it wasn't reported before.
Tom Lane [Tue, 26 Dec 2006 16:56:18 +0000 (16:56 +0000)]
Repair bug #2836: SPI_execute_plan returned zero if none of the querytrees
were marked canSetTag. While it's certainly correct to return the result
of the last one that is marked canSetTag, it's less clear what to do when
none of them are. Since plpgsql will complain if zero is returned, the
8.2.0 behavior isn't good. I've fixed it to restore the prior behavior of
returning the physically last query's result code when there are no
canSetTag queries.
Tom Lane [Tue, 26 Dec 2006 16:14:58 +0000 (16:14 +0000)]
Remove incorrect semicolon in example. Joachim Wieland
Teodor Sigaev [Tue, 26 Dec 2006 14:54:24 +0000 (14:54 +0000)]
Fix memory reallocation condition
Tatsuo Ishii [Tue, 26 Dec 2006 01:02:05 +0000 (01:02 +0000)]
Call srandom() instead of srand().
pgbench calls random() later, so it should have called srandom().
On most platforms except Windows srandom() is actually identical
to srand(), so the bug only bites Windows users.
per bug report from Akio Ishida.
Tom Lane [Sun, 24 Dec 2006 19:14:28 +0000 (19:14 +0000)]
Make HISTCONTROL=ignoredups work again (broken by misordering of
operations during recent code refactoring). Per bug #2840 from Ned Crigler.
Tom Lane [Sun, 24 Dec 2006 18:25:58 +0000 (18:25 +0000)]
Bring some order and sanity to error handling in the xml patch.
Use a TRY block instead of (inadequate) ad-hoc coding to ensure that
libxml is cleaned up after a failure. Report the intended SQLCODE
instead of defaulting to XX000. Avoid risking use of a dangling
pointer by keeping the persistent error buffer in TopMemoryContext.
Be less trusting that error messages don't contain %.
This patch doesn't do anything about changing the way the messages
are put together --- this is just about mechanism.
Tom Lane [Sun, 24 Dec 2006 00:57:48 +0000 (00:57 +0000)]
Fix machine-dependent crash in sqlchar_to_unicode(). Get rid of
bletcherous and unsafe manipulation of global encoding setting.
Clean up libxml reporting mechanism a bit (it still looks like a
dangling-pointer crash waiting to happen, though, not to mention
being far less than sane from a localization standpoint).
Tom Lane [Sun, 24 Dec 2006 00:29:20 +0000 (00:29 +0000)]
Code review for XML patch. Instill a bit of sanity in the location of
the XmlExpr code in various lists, use a representation that has some hope
of reverse-listing correctly (though it's still a de-escaping function
shy of correctness), generally try to make it look more like Postgres
coding conventions.
Tom Lane [Sat, 23 Dec 2006 04:56:50 +0000 (04:56 +0000)]
Suppress various compiler warnings in new xml code.
Bruce Momjian [Sat, 23 Dec 2006 02:13:24 +0000 (02:13 +0000)]
Remove unnecessary parentheses in if() statements.
Bruce Momjian [Sat, 23 Dec 2006 01:58:40 +0000 (01:58 +0000)]
Change a VACUUM manual page word from 'deleted' to 'expired', so DELETE
and UPDATE are clearly covered by the term.
Bruce Momjian [Sat, 23 Dec 2006 01:28:09 +0000 (01:28 +0000)]
Document that CREATE TYPE names should not begin with an underscore,
rather than being disallowed.
Bruce Momjian [Sat, 23 Dec 2006 00:52:40 +0000 (00:52 +0000)]
For GUC values, check for partial string matches on 'on' and 'off', but
require at least two characters for uniqueness. This now matches the
behavior of other boolean strings we support, per report from Gurjeet
Singh.
Tom Lane [Sat, 23 Dec 2006 00:43:13 +0000 (00:43 +0000)]
Restructure operator classes to allow improved handling of cross-data-type
cases. Operator classes now exist within "operator families". While most
families are equivalent to a single class, related classes can be grouped
into one family to represent the fact that they are semantically compatible.
Cross-type operators are now naturally adjunct parts of a family, without
having to wedge them into a particular opclass as we had done originally.
This commit restructures the catalogs and cleans up enough of the fallout so
that everything still works at least as well as before, but most of the work
needed to actually improve the planner's behavior will come later. Also,
there are not yet CREATE/DROP/ALTER OPERATOR FAMILY commands; the only way
to create a new family right now is to allow CREATE OPERATOR CLASS to make
one by default. I owe some more documentation work, too. But that can all
be done in smaller pieces once this infrastructure is in place.
Bruce Momjian [Fri, 22 Dec 2006 22:42:36 +0000 (22:42 +0000)]
Add a link to the developer's FAQ for my article about how companies can
work effectively with open source communities.
Bruce Momjian [Fri, 22 Dec 2006 22:09:31 +0000 (22:09 +0000)]
Slight adjustments to xml documentation to reflect functionality just
added.
Peter Eisentraut [Thu, 21 Dec 2006 19:18:04 +0000 (19:18 +0000)]
Fix expected file.
Peter Eisentraut [Thu, 21 Dec 2006 18:32:56 +0000 (18:32 +0000)]
Catalog version bump for SQL/XML changes.
Teodor Sigaev [Thu, 21 Dec 2006 17:35:28 +0000 (17:35 +0000)]
Fix convertion for 'PFX flag N num'
Peter Eisentraut [Thu, 21 Dec 2006 16:05:16 +0000 (16:05 +0000)]
Initial SQL/XML support: xml data type and initial set of functions.
Bruce Momjian [Wed, 20 Dec 2006 16:22:14 +0000 (16:22 +0000)]
8.3 release schedule is year 2007, not 2006.
Bruce Momjian [Tue, 19 Dec 2006 22:37:37 +0000 (22:37 +0000)]
Add timeline for next release to developer's FAQ.
Bruce Momjian [Tue, 19 Dec 2006 21:57:10 +0000 (21:57 +0000)]
Item done.
< o Improve xid wraparound detection by recording per-table rather
< than per-database
Andrew Dunstan [Tue, 19 Dec 2006 01:53:36 +0000 (01:53 +0000)]
Interpret a dbName param to PQsetdbLogin as a conninfo string if it contains an = sign. Tom Lane and Andrew Dunstan.
Tom Lane [Mon, 18 Dec 2006 18:56:29 +0000 (18:56 +0000)]
Set pg_am.amstrategies to zero for index AMs that don't have fixed
operator strategy numbers, ie, GiST and GIN. This is almost cosmetic
enough to not need a catversion bump, but since the opr_sanity regression
test has to change in sync with the catalog entry, I figured I'd better
do one.
Andrew Dunstan [Mon, 18 Dec 2006 14:17:41 +0000 (14:17 +0000)]
fix thinko in placement of TimeValStruct typedef in Windows case, as reported by Magnus.
Bruce Momjian [Sun, 17 Dec 2006 03:57:07 +0000 (03:57 +0000)]
Fix typo:
< While PostgreSQL clients runs fine limited-resource environments, the
> While PostgreSQL clients runs fine in limited-resource environments, the
Bruce Momjian [Sun, 17 Dec 2006 03:55:21 +0000 (03:55 +0000)]
Move entry into CLUSTER section:
< * Make CLUSTER preserve recently-dead tuples per MVCC requirements
> o Make CLUSTER preserve recently-dead tuples per MVCC requirements
Andrew Dunstan [Sat, 16 Dec 2006 00:38:43 +0000 (00:38 +0000)]
enable \timing oputput for \copy commands
Tom Lane [Fri, 15 Dec 2006 18:42:26 +0000 (18:42 +0000)]
Fix some planner bugs exposed by reports from Arjen van der Meijden. These
are all in new-in-8.2 logic associated with indexability of ScalarArrayOpExpr
(IN-clauses) or amortization of indexscan costs across repeated indexscans
on the inside of a nestloop. In particular:
Fix some logic errors in the estimation for multiple scans induced by a
ScalarArrayOpExpr indexqual.
Include a small cost component in bitmap index scans to reflect the costs of
manipulating the bitmap itself; this is mainly to prevent a bitmap scan from
appearing to have the same cost as a plain indexscan for fetching a single
tuple.
Also add a per-index-scan-startup CPU cost component; while prior releases
were clearly too pessimistic about the cost of repeated indexscans, the
original 8.2 coding allowed the cost of an indexscan to effectively go to zero
if repeated often enough, which is overly optimistic.
Pay some attention to index correlation when estimating costs for a nestloop
inner indexscan: this is significant when the plan fetches multiple heap
tuples per iteration, since high correlation means those tuples are probably
on the same or adjacent heap pages.
Tom Lane [Fri, 15 Dec 2006 16:54:43 +0000 (16:54 +0000)]
Put JST back into the default set of timezone abbreviations;
was removed in an unexplainable moment of brain fade.
Bruce Momjian [Fri, 15 Dec 2006 16:50:07 +0000 (16:50 +0000)]
Back out double-run of PDF/PS output. Requires building bookindex.sgml
properly.
Remove SGML docs about openjade performance patch, and instead add
comment in style sheet where indenting code is commented out.
Backpatch to 8.2.X.
Bruce Momjian [Fri, 15 Dec 2006 15:40:52 +0000 (15:40 +0000)]
TODO item not wanted:
>
> * Embedded server (not wanted)
>
> While PostgreSQL clients runs fine limited-resource environments, the
> server requires multiple processes and a stable pool of resources to
> run reliabily and efficiently. Stripping down the PostgreSQL server
> to run in the same process address space as the client application
> would add too much complexity and failure cases.