Commit Graph

24058 Commits

Author SHA1 Message Date
Tom Lane 4f06c688c7 Put back planner's ability to cache the results of mergejoinscansel(),
which I had removed in the first cut of the EquivalenceClass rewrite to
simplify that patch a little.  But it's still important --- in a four-way
join problem mergejoinscansel() was eating about 40% of the planning time
according to gprof.  Also, improve the EquivalenceClass code to re-use
join RestrictInfos rather than generating fresh ones for each join
considered.  This saves some memory space but more importantly improves
the effectiveness of caching planning info in RestrictInfos.
2007-01-22 20:00:40 +00:00
Bruce Momjian 45e0736938 Use errhint() for WIN32 SIGTERM message, where possible. 2007-01-22 19:38:05 +00:00
Bruce Momjian d26a5f1fea Uppercase hex value. 2007-01-22 18:32:57 +00:00
Bruce Momjian 208ae0c290 When system() fails in Win32, report it as an exception, print the
exception value in hex, and give a URL where the value can be looked-up.
2007-01-22 18:31:51 +00:00
Bruce Momjian eeae929dbe Update documenation instructions. on how to delete template1. 2007-01-22 02:47:56 +00:00
Tom Lane 686f15e39e Adjust pgbench so it won't spit up on non-select queries returning
tuples, which is entirely possible with custom scripts (consider
RETURNING, EXPLAIN, etc).
2007-01-22 02:17:30 +00:00
Tom Lane 5a7471c307 Add COST and ROWS options to CREATE/ALTER FUNCTION, plus underlying pg_proc
columns procost and prorows, to allow simple user adjustment of the estimated
cost of a function call, as well as control of the estimated number of rows
returned by a set-returning function.  We might eventually wish to extend this
to allow function-specific estimation routines, but there seems to be
consensus that we should try a simple constant estimate first.  In particular
this provides a relatively simple way to control the order in which different
WHERE clauses are applied in a plan node, which is a Good Thing in view of the
fact that the recent EquivalenceClass planner rewrite made that much less
predictable than before.
2007-01-22 01:35:23 +00:00
Peter Eisentraut a85e9c61e5 Remove some unused variables 2007-01-21 09:23:29 +00:00
Peter Eisentraut 962e825cd7 Put back libpq link, but make sure that libpq's in-tree directory is
mentioned before the system directories.
2007-01-21 09:19:06 +00:00
Tom Lane 066926dfbb Refactor some lsyscache routines to eliminate duplicate code and save
a couple of syscache lookups in make_pathkey_from_sortinfo().
2007-01-21 00:57:15 +00:00
Bruce Momjian 98218e9ef6 Add bitmap index URL:
>
>   http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php
2007-01-20 23:18:38 +00:00
Tom Lane fcf4b146c6 Simplify pg_am representation of ordering-capable access methods:
provide just a boolean 'amcanorder', instead of fields that specify the
sort operator strategy numbers.  We have decided to require ordering-capable
AMs to use btree-compatible strategy numbers, so the old fields are
overkill (and indeed misleading about what's allowed).
2007-01-20 23:13:01 +00:00
Bruce Momjian c82cc604f5 Add URL for dead space map:
>
>   http://archives.postgresql.org/pgsql-hackers/2006-12/msg01188.php
>   http://archives.postgresql.org/pgsql-hackers/2007-01/msg00121.php
2007-01-20 23:08:20 +00:00
Neil Conway 726f0807ad Update docs for recent change to setseed() return value. 2007-01-20 21:59:34 +00:00
Neil Conway aef0f53b62 Make setseed() return void, rather than an int4 without any use. Per
pgsql-patches discussion of September 20, 2006. Bump the catversion.
2007-01-20 21:47:10 +00:00
Bruce Momjian ebef17c7a2 Add documentation of memory and time units to postgresql.conf.
Backpatch to 8.2.X for new initdbs.
2007-01-20 21:42:03 +00:00
Tom Lane 67f06327f9 Don't use 'int' where you mean 'bool'. 2007-01-20 21:40:25 +00:00
Bruce Momjian 51fa6fdc9c Update documentation about postgresqlconf to mention default units that
match the postgresql.conf file.  Also add units to descriptions that
lacked them.  Wording improvements.  Mention pg_settings.unit as the way
to find the default units for setting.

Backpatch to 8.2.X.
2007-01-20 21:30:26 +00:00
Tom Lane 3f9b1b92a9 Fix broken markup. 2007-01-20 21:30:01 +00:00
Neil Conway 479ee09059 List disabled triggers separately in psql's "\d <table>" output.
Previously, disabled triggers were not displayed any differently than
enabled ones, which was quite misleading. Patch from Brendan Jurd.
2007-01-20 21:17:30 +00:00
Tom Lane f41803bb39 Refactor planner's pathkeys data structure to create a separate, explicit
representation of equivalence classes of variables.  This is an extensive
rewrite, but it brings a number of benefits:
* planner no longer fails in the presence of "incomplete" operator families
that don't offer operators for every possible combination of datatypes.
* avoid generating and then discarding redundant equality clauses.
* remove bogus assumption that derived equalities always use operators
named "=".
* mergejoins can work with a variety of sort orders (e.g., descending) now,
instead of tying each mergejoinable operator to exactly one sort order.
* better recognition of redundant sort columns.
* can make use of equalities appearing underneath an outer join.
2007-01-20 20:45:41 +00:00
Neil Conway 2b7334d487 Refactor the index AM API slightly: move currentItemData and
currentMarkData from IndexScanDesc to the opaque structs for the
AMs that need this information (currently gist and hash).

Patch from Heikki Linnakangas, fixes by Neil Conway.
2007-01-20 18:43:35 +00:00
Peter Eisentraut 978fff7942 Update build time estimate. 2007-01-20 17:21:29 +00:00
Peter Eisentraut 2cc01004c6 Remove remains of old depend target. 2007-01-20 17:16:17 +00:00
Neil Conway 64230a9f28 Regression tests for large objects. Patch from Jeremy Drake. 2007-01-20 17:15:44 +00:00
Bruce Momjian f5f9577e50 Modify max_fsm_pages in postgresql.conf.sample to show a typical value,
rather than a value too high.
2007-01-20 17:04:58 +00:00
Neil Conway 4945a8fad4 Teach psql's \lo slash commands to respect quiet mode, and to output
HTML in HTML mode. Patch from Jeremy Drake.
2007-01-20 16:57:31 +00:00
Bruce Momjian 24ac4c968c Document that to remove template1, datistemplate must be 'false'.
Backpatch to 8.2.
2007-01-20 15:43:54 +00:00
Peter Eisentraut 552348c166 The libpq library directory was mentioned here in the wrong place, which
might lead to a previously installed libpq being used instead.  But we
don't actually have to link with libpq here at all, so remove it.
2007-01-20 15:26:28 +00:00
Peter Eisentraut 862c3ff04d Only build ecpg test code when the test is to be performed, in line with
other test code.
2007-01-20 15:25:29 +00:00
Bruce Momjian 09c1baabc3 Move code that places LOG error level between ERROR and PANIC into new
function is_log_level_output(), for code clarity.
2007-01-20 14:45:35 +00:00
Peter Eisentraut 92b8d17ab4 Fix xmlconcat regression test 2007-01-20 11:44:15 +00:00
Peter Eisentraut b4c8d49036 Fix xmlconcat by properly merging the XML declarations. Add aggregate
function xmlagg.
2007-01-20 09:27:20 +00:00
Bruce Momjian 9a83bd50b7 Add wiki URL:
< first.
> first.  There is also a developer's wiki at
> http://developer.postgresql.org.
2007-01-20 02:18:37 +00:00
Neil Conway d97a89f21b Add missing copyright blurb, make ruleutils.c use the standard layout
for its header comment.
2007-01-20 01:08:42 +00:00
Bruce Momjian 4fdfdd44bd Add items:
> 	o Allow multiple vacuums so large tables do not starve small
> 	  tables
>
> 	  http://archives.postgresql.org/pgsql-general/2007-01/msg00031.php
>
> 	o Improve control of auto-vacuum
>
> 	  http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php
2007-01-19 21:36:07 +00:00
Alvaro Herrera 67a4c24bc8 Fix pg_regress breakage for PL and contrib tests, by not requiring that
"input" and "output" dirs be necessarily present.
2007-01-19 21:21:13 +00:00
Bruce Momjian 506b292852 Add URL for:
* Add Globally/Universally Unique Identifier (GUID/UUID)
>   http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php
2007-01-19 18:13:47 +00:00
Peter Eisentraut 4b48ad4fb2 Add support for converting binary values (i.e. bytea) into xml values,
with new GUC parameter "xmlbinary" that controls the output encoding, as
per SQL/XML standard.
2007-01-19 16:58:46 +00:00
Alvaro Herrera 5b4a08896b Change the sed rules in the regression test for pg_regress hackery to create
the generated files, to help Visual C++ to run these tests.  The tests still
pass in VPATH and normal builds.

Patch from Magnus Hagander, editorialized by me.
2007-01-19 16:42:24 +00:00
Peter Eisentraut 16f372d940 Optionally use xml2-config to detect installation locations of libxml. 2007-01-18 14:07:31 +00:00
Peter Eisentraut 020841071b Clean up encoding issues in the xml type: In text mode, encoding
declarations are ignored and removed, in binary mode they are honored as
specified by the XML standard.
2007-01-18 13:59:11 +00:00
Tom Lane c81bfc244b Add a note pointing out that is_pseudo_constant_clause() doesn't check
for aggregates.  This is OK for current uses but could burn somebody
someday...
2007-01-17 17:25:52 +00:00
Tom Lane eddbf39756 Extend yesterday's patch so that the bgwriter is also told to forget
pending fsyncs during DROP DATABASE.  Obviously necessary in hindsight :-(
2007-01-17 16:25:01 +00:00
Neil Conway 530b10c719 Tweak the width_bucket() regression tests to avoid an unnecessary
dependency on the platform's floating point implementation. Per
report from Stefan Kaltenbrunner.
2007-01-17 16:19:08 +00:00
Bruce Momjian 3026e1765f Mark TODO item "autovacuum on by default" as completed. 2007-01-17 03:43:49 +00:00
Tom Lane 6d660587f6 Revise bgwriter fsync-request mechanism to improve robustness when a table
is deleted.  A backend about to unlink a file now sends a "revoke fsync"
request to the bgwriter to make it clean out pending fsync requests.  There
is still a race condition where the bgwriter may try to fsync after the unlink
has happened, but we can resolve that by rechecking the fsync request queue
to see if a revoke request arrived meanwhile.  This eliminates the former
kluge of "just assuming" that an ENOENT failure is okay, and lets us handle
the fact that on Windows it might be EACCES too without introducing any
questionable assumptions.  After an idea of mine improved by Magnus.

The HEAD patch doesn't apply cleanly to 8.2, but I'll see about a back-port
later.  In the meantime this could do with some testing on Windows; I've been
able to force it through the code path via ENOENT, but that doesn't prove that
it actually fixes the Windows problem ...
2007-01-17 00:17:21 +00:00
Neil Conway 7f58ed1a10 vcbuild updates from Magnus:
* After Markos patch, now builds pgcrypto without zlib again
* Updates README with xml info
* xml requires xslt and iconv
* disable unnecessary warning about __cdecl()
* Add a buildenv.bat called from all other bat files to set up things
like PATH for flex/bison. (Can't just set it before calling, doesn't
always work when building from the GUI)
2007-01-16 21:43:19 +00:00
Neil Conway cf57ef4e50 Implement width_bucket() for the float8 data type.
The implementation is somewhat ugly logic-wise, but I don't see an
easy way to make it more concise.

When writing this, I noticed that my previous implementation of
width_bucket() doesn't handle NaN correctly:

    postgres=# select width_bucket('NaN', 1, 5, 5);
     width_bucket
    --------------
                6
    (1 row)

AFAICS SQL:2003 does not define a NaN value, so it doesn't address how
width_bucket() should behave here. The patch changes width_bucket() so
that ereport(ERROR) is raised if NaN is specified for the operand or the
lower or upper bounds to width_bucket(). For float8, NaN is disallowed
for any of the floating-point inputs, and +/- infinity is disallowed
for the histogram bounds (but allowed for the operand).

Update docs and regression tests, bump the catversion.
2007-01-16 21:41:14 +00:00
Neil Conway da07c81fe3 Minor improvements to the TODO list. Add some URLs for some
existing TODO items, and re-add a TODO item for an "estimated
count" capability.
2007-01-16 20:58:38 +00:00