| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
via extended query protocol, because it sends Sync right after Execute
without realizing that the command to be executed is COPY. There seems
to be no reasonable way for it to realize that, either, so the best fix
seems to be to make the backend ignore Sync during copy-in mode. Bit of
a wart on the protocol, but little alternative. Also, libpq must send
another Sync after terminating the COPY, if the command was issued via
Execute.
|
|
|
|
|
|
|
|
| |
yet, though). Avoid using nth() to fetch tlist entries; provide a
common routine get_tle_by_resno() to search a tlist for a particular
resno. This replaces a couple uses of nth() and a dozen hand-coded
search loops. Also, replace a few uses of nth(length-1, list) with
llast().
|
| |
|
|
|
|
| |
macros in some platforms' sys/socket.h.
|
|
|
|
| |
so it won't miss 'em again.
|
| |
|
| |
|
|
|
|
|
| |
rather than parsing the message. Add some documentation about embedded
SQL.
|
| |
|
|
|
|
|
|
|
|
|
| |
heuristic determination of day vs month in date/time input. Add the
ability to specify that input is interpreted as yy-mm-dd order (which
formerly worked, but only for yy greater than 31). DateStyle's input
component now has the preferred spellings DMY, MDY, or YMD; the older
keywords European and US are now aliases for the first two of these.
Per recent discussions on pgsql-general.
|
| |
|
|
|
|
|
| |
Along the way, fix some logic problems in pgstat_initstats, notably the
bogus assumption that malloc returns zeroed memory.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
database, emit a WARNING and do nothing, rather than raising ERROR.
Per recent discussion in which we concluded this is the best way to deal
with database dumps that are reloaded into a database of a new name.
|
|
|
|
|
|
| |
for the sign of timezone offsets, ie, positive is east from UTC. These
were previously out of step with other operations that accept or show
timezones, such as I/O of timestamptz values.
|
|
|
|
| |
with SET TRANSACTION_ISOLATION, either.
|
|
|
|
|
|
| |
DATESTYLE, for instance 'SQL, European' instead of
'SQL with European conventions'. Per gripe a month or two back from
Barry Lind.
|
|
|
|
|
| |
function-not-found messages now distinguish the cases no-match and
ambiguous-match, and they follow the style guidelines too.
|
|
|
|
|
|
| |
It also works to create a non-polymorphic aggregate from polymorphic
functions, should you want to do that. Regression test added, docs still
lacking. By Joe Conway, with some kibitzing from Tom Lane.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Joe Conway
|
|
|
|
|
|
|
|
| |
restructures the deferred trigger queue. The fundamental change is to
put all the static variables to hold the deferred triggers in a single
structure.
Alvaro Herrera
|
|
|
|
| |
Joe Conway
|
|
|
|
|
|
|
| |
Actually clear the cache in the backend making the alteration. This
follows in the footsteps of setval().
Rod Taylor
|
|
|
|
|
|
| |
catalog lookups when not in a transaction. This prevents bizarre
failures if someone tries to set a value for session_authorization in
postgresql.conf. Per report from Fernando Nasser.
|
|
|
|
|
|
|
|
| |
extensions to support our historical behavior. An aggregate belongs
to the closest query level of any of the variables in its argument,
or the current query level if there are no variables (e.g., COUNT(*)).
The implementation involves adding an agglevelsup field to Aggref,
and treating outer aggregates like outer variables at planning time.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
of an index can now be a computed expression instead of a simple variable.
Restrictions on expressions are the same as for predicates (only immutable
functions, no sub-selects). This fixes problems recently introduced with
inlining SQL functions, because the inlining transformation is applied to
both expression trees so the planner can still match them up. Along the
way, improve efficiency of handling index predicates (both predicates and
index expressions are now cached by the relcache) and fix 7.3 oversight
that didn't record dependencies of predicate expressions.
|
|
|
|
|
| |
docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location.
Doc changes included.
|
| |
|
|
|
|
|
|
|
|
| |
Ross Reedstrom, a couple months back) and to detect timezones that are
using leap-second timekeeping. The unknown-zone-name test is pretty
heuristic and ugly, but it seems better than the old behavior of just
switching to GMT given a bad name. Also make DecodePosixTimezone() a
tad more robust.
|
| |
|
|
|
|
| |
window.
|
|
|
|
|
|
| |
only remnant of this failed experiment is that the server will take
SET AUTOCOMMIT TO ON. Still TODO: provide some client-side autocommit
logic in libpq.
|
|
|
|
|
| |
but that was enough tedium for one day. Along the way, move the few
support routines for types xid and cid into a more logical place.
|
|
|
|
| |
the folly of not passing element type to typsend/typreceive, so fix that.
|
|
|
|
| |
so that COPY BINARY regression test passes.
|
|
|
|
|
| |
messages. Binary I/O is now up and working, but only for a small set
of datatypes (integers, text, bytea).
|
|
|
|
|
| |
yet, but they're there. Also some editorial work on CREATE TYPE reference
page.
|
|
|
|
|
|
|
| |
handle multiple 'formats' for data I/O. Restructure CommandDest and
DestReceiver stuff one more time (it's finally starting to look a bit
clean though). Code now matches latest 3.0 protocol document as far
as message formats go --- but there is no support for binary I/O yet.
|
|
|
|
| |
than WIN32.
|
|
|
|
|
|
| |
of Describe on a prepared statement. This was in the original 3.0
protocol proposal, but I took it out for reasons that seemed good at
the time. Put it back per yesterday's pghackers discussion.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DestReceiver pointers instead of just CommandDest values. The DestReceiver
is made at the point where the destination is selected, rather than
deep inside the executor. This cleans up the original kluge implementation
of tstoreReceiver.c, and makes it easy to support retrieving results
from utility statements inside portals. Thus, you can now do fun things
like Bind and Execute a FETCH or EXPLAIN command, and it'll all work
as expected (e.g., you can Describe the portal, or use Execute's count
parameter to suspend the output partway through). Implementation involves
stuffing the utility command's output into a Tuplestore, which would be
kind of annoying for huge output sets, but should be quite acceptable
for typical uses of utility commands.
|
|
|
|
|
|
|
|
|
| |
the column by table OID and column number, if it's a simple column
reference. Along the way, get rid of reskey/reskeyop fields in Resdoms.
Turns out that representation was not convenient for either the planner
or the executor; we can make the planner deliver exactly what the
executor wants with no more effort.
initdb forced due to change in stored rule representation.
|