| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
| |
operator.
|
|
|
|
|
|
|
|
|
|
|
|
| |
per-column options for btree indexes. The planner's support for this is still
pretty rudimentary; it does not yet know how to plan mergejoins with
nondefault ordering options. The documentation is pretty rudimentary, too.
I'll work on improving that stuff later.
Note incompatible change from prior behavior: ORDER BY ... USING will now be
rejected if the operator is not a less-than or greater-than member of some
btree opclass. This prevents less-than-sane behavior if an operator that
doesn't actually define a proper sort ordering is selected.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
when collapsing of JOIN trees is stopped by join_collapse_limit. For instance
a list of 11 LEFT JOINs with limit 8 now produces something like
((1 2 3 4 5 6 7 8) 9 10 11 12)
instead of
(((1 2 3 4 5 6 7 8) (9)) 10 11 12)
The latter structure is really only required for a FULL JOIN.
Noted while studying an example from Shane Ambler.
|
|
|
|
|
|
|
|
|
|
|
| |
hash joins with the estimated-larger relation on the inside. There are
several cases where doing that makes perfect sense, and in cases where it
doesn't, the regular cost computation really ought to be able to figure that
out. Make some marginal tweaks in said computation to try to get results
approximating reality a bit better. Per an example from Shane Ambler.
Also, fix an oversight in the original patch to add seq_page_cost: the costs
of spilling a hash join to disk should be scaled by seq_page_cost.
|
|
|
|
|
|
| |
- correct error codes
- do syntax checks in correct order
- strip leading spaces of argument
|
| |
|
|
|
|
|
| |
hand-crafted parser for the XML declaration, because libxml doesn't seem
to allow this.
|
| |
|
|
|
|
| |
Euler Taveira de Oliveira
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
properly when doing a lookahead. The lack of this was causing various
interesting misbehaviors when one tries to use "with" as a plain identifier.
|
|
|
|
| |
Improve release docs for ecpg regression tests.
|
| |
|
|
|
|
| |
like my HPPA ...
|
|
|
|
| |
the library version number.
|
| |
|
|
|
|
| |
back-stamped for this.
|
| |
|
| |
|
| |
|
|
|
|
| |
provide a switch for similar behaviour in pg_ctl.
|
|
|
|
| |
Stefan Kaltenbrunner
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
document why this happens. Remove exp() errno check because not needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
only return Nan and set errno for pow/exp overflow/underflow.
|
|
|
|
|
|
| |
platforms set errno, and we already have a check macro that detects
under/overflow, so there is no reason for platform-specific code
anymore.
|
| |
|
| |
|
|
|
|
| |
with other places.
|
|
|
|
| |
isinf(), fall through to our own infinity checks.
|
|
|
|
| |
code path in tablecmds.c that wasn't exercised at all before.
|
|
|
|
| |
infrastructure.
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
about typmod representation for standard types out into type-specific
typmod I/O functions. Teodor Sigaev, with some editorialization by
Tom Lane.
|
|
|
|
| |
Magnus Hagander
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|