| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
| |
also backpatched to 8.3
|
|
|
|
|
|
|
|
|
| |
return the tableoid as well as the ctid for any FOR UPDATE targets that
have child tables. All child tables are listed in the ExecRowMark list,
but the executor just skips the ones that didn't produce the current row.
Curiously, this longstanding restriction doesn't seem to have been documented
anywhere; so no doc changes.
|
|
|
|
| |
since it's now just a SQL module and no C code.
|
|
|
|
|
| |
This continues the saga of trying to get PGDLLIMPORT to work in pg_crc.h
in both backend and frontend environments.
|
| |
|
|
|
|
|
|
|
|
|
| |
if the user is superuser. This makes available to extension modules the same
sort of trick being practiced by array_agg(). The reason for the superuser
restriction is that you could crash the system by connecting up an
incompatible pair of internal-using functions as an aggregate. It shouldn't
interfere with any legitimate use, since you'd have to be superuser to create
the internal-using transition and final functions anyway.
|
| |
|
|
|
|
|
|
| |
returns VOID. This is the last of the easy fixes I recommended in
11870.1218838360@sss.pgh.pa.us --- the others got done awhile ago but
I forgot about this one.
|
| |
|
| |
|
| |
|
|
|
|
| |
before passing it to elog.
|
|
|
|
|
|
|
|
|
| |
another section if required by the platform (instead of the old way of
building them in section "l" and always transforming them to the
platform-specific section).
This speeds up the installation on common platforms, and it avoids some
funny business with the man page tools and build process.
|
| |
|
| |
|
|
|
|
|
| |
a pointer, why don't we just fix that. Every known use of "internal" really
means a pointer anyway.
|
|
|
|
|
|
|
|
| |
heap_form_tuple. Since this removes the last remaining caller of
heap_addheader, remove it.
Extracted from the column privileges patch from Stephen Frost, with further
code cleanups by me.
|
|
|
|
|
|
|
| |
anyelement. This lacks the WITH ORDINALITY option, as well as the multiple
input arrays option added in the most recent SQL specs. But it's still a
pretty useful subset of the spec's functionality, and it is enough to
allow obsoleting contrib/intagg.
|
|
|
|
| |
about how this is playing fast and loose with the type system.
|
|
|
|
|
|
|
|
|
| |
and thereby in the pg_timezone_names view. Although we allow such zones
to be used in certain limited contexts like AT TIME ZONE, we don't allow
them in SET TIME ZONE, and bug #4528 shows that they're more likely to
confuse users than do anything useful. So hide 'em. (Note that we don't
even generate these zones when installing our own timezone database.
But they are likely to be present when using a system-provided database.)
|
|
|
|
|
|
|
|
|
| |
for inserting tuples in increasing TID order. It's not clear whether this
fully explains Ivan Sergio Borgonovo's complaint, but simple testing
confirms that a scan that doesn't start at block 0 can slow GIN build by
a factor of three or four.
Backpatch to 8.3. Sync scan didn't exist before that.
|
|
|
|
|
|
|
| |
Rearrange the documentation a bit now that array_agg and xmlagg have similar
semantics and issues.
best of Robert Haas, Jeff Davis, Peter Eisentraut
|
|
|
|
| |
I think this will fix current mingw buildfarm failures for pg_trgm.
|
|
|
|
|
|
| |
parse.[awk|pl] from the latest version of gram.y
Some small corrections to test suite.
|
|
|
|
|
| |
- FloatOnly: only used by NumericOnly, instead put the FloatOnly production into NumericOnly
- IntegerOnly: only used by NumericOnly and one ALTER TABLE rule, replacement SignedIconst is already used in several other places
|
|
|
|
|
|
|
| |
Add config parameter "sslverify" to control the verification. Default
is to do full verification.
Clean up some old SSL code that never really worked.
|
|
|
|
|
|
|
|
|
|
|
| |
operator. The result depends only on the two input operators and the proof
direction (imply or refute), so it's easy to cache. This provides a very
large savings in cases such as Sergey Konoplev's long NOT-IN-list example,
where predtest spends all its time repeatedly figuring out that the same pair
of operators cannot be used to prove anything. (But of course the O(N^2)
behavior still catches up with you eventually.) I'm not convinced it buys
a whole lot when constraint_exclusion isn't turned on, but it's not a lot
of added code so we might as well cache all the time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
AND, OR, or equivalent clauses: if there are too many (more than 100) just
exit without proving anything. This ensures that we don't spend O(N^2) time
trying (and most likely failing) to prove anything about very long IN lists
and similar cases.
Also, install a couple of CHECK_FOR_INTERRUPTS calls to ensure that a long
proof attempt can be interrupted.
Per gripe from Sergey Konoplev.
Back-patch the whole patch to 8.2 and just the CHECK_FOR_INTERRUPTS addition
to 8.1. (The rest of the patch doesn't apply cleanly, and since 8.1 doesn't
show the complained-of behavior anyway, it doesn't seem necessary to work
hard on it.)
|
|
|
|
| |
Per note from Devrim Gunduz
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
function as a special case.
This version still has the suspicious behavior of returning null for an
empty array (rather than zero), but this may need a wholesale revision of
empty array behavior, currently under discussion.
Jim Nasby, Robert Haas, Peter Eisentraut
|
|
|
|
|
|
|
| |
autovacuum worker sending SIGUSR1 signal to wrong process, per Zou Yong's
report.
Backpatch to 8.3.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in "postgres_verbose" intervalstyle, and the equally arbitrary decision to
show at least two fractional-seconds digits in most other datetime display
styles. This results in some minor changes in the expected regression test
outputs.
Also, coalesce a lot of repetitive code in datetime.c into subroutines,
for clarity and ease of maintenance. In particular this roughly halves
the number of #ifdef HAVE_INT64_TIMESTAMP segments.
Ron Mayer, with some additional kibitzing from Tom Lane
|
|
|
|
|
|
|
| |
translated_vars list get updated when pulling up an appendrel member. It's
not clear that this really matters at present, since relatively little gets
done with the outputs of an appendrel child relation; but it probably will
come back to bite us sometime if we leave them with the wrong values.
|
|
|
|
|
|
|
|
|
|
|
| |
we extended the appendrel mechanism to support UNION ALL optimization. The
reason nobody noticed was that we are not actually using attr_needed data for
appendrel children; hence it seems more reasonable to rip it out than fix it.
Back-patch to 8.2 because an Assert failure is possible in corner cases.
Per examination of an example from Jim Nasby.
In HEAD, also get rid of AppendRelInfo.col_mappings, which is quite inadequate
to represent UNION ALL situations; depend entirely on translated_vars instead.
|
|
|
|
|
|
|
| |
up a SSL connection, but psql is compiled without support for it.
Not a really realistic use-case, but the patch also cuts down on
the number of places with #ifdef's...
|
| |
|
|
|
|
|
|
| |
"base/11517/3767_fsm", instead of symbolic names like "1663/11517/3767/1",
per Alvaro's suggestion. I didn't change the messages in the higher-level
index, heap and FSM routines, though, where the fork is implicit.
|
|
|
|
| |
Adapted regression test files accordingly.
|
|
|
|
| |
non-null-terminated input. Per discussion with ITAGAKI Takahiro.
|
|
|
|
|
|
|
|
| |
specifically, we can input either the "format with designators" or the
"alternative format", and we can output the former when IntervalStyle is set
to iso_8601.
Ron Mayer
|
| |
|
|
|
|
|
|
| |
the length of a UTF8 character with pg_mblen (wrong if DB encoding isn't
UTF8), and the latter was blithely assuming that a static buffer would somehow
revert to all zeroes for each use.
|
| |
|
|
|
|
|
|
|
|
|
| |
different locales. This is just syntactical sweetener over --lc-collate and
--lc-ctype. Per discussion.
While at it, properly document --lc-ctype and --lc-collate in SGML docs,
which apparently were forgotten (or purposefully ommited?) when they were
created.
|
|
|
|
| |
is NULL), so remove some useless tests for the case.
|
|
|
|
| |
VACUUM reset them to false rather than trying to clean 'em up during DROP.
|