| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
pointed out by Peter.
|
|
|
|
| |
developed on -hackers.
|
|
|
|
|
|
|
|
| |
this query?" logic in postgres.c
Also, make it print "duration:" like log_duration.
Neil Conway
|
| |
|
|
|
|
|
|
|
| |
every string, especially if some of the output should be fixed-format
machine-readable. This needs to be more carefully sorted out. Also, make
the help message generated by --help-config -h be more similar in style to
the others.
|
|
|
|
|
| |
terms, add some clarifications, fix some untranslatable attempts at dynamic
message building.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
now able to cope with assigning new relfilenode values to nailed-in-cache
indexes, so they can be reindexed using the fully crash-safe method. This
leaves only shared system indexes as special cases. Remove the 'index
deactivation' code, since it provides no useful protection in the shared-
index case. Require reindexing of shared indexes to be done in standalone
mode, but remove other restrictions on REINDEX. -P (IgnoreSystemIndexes)
now prevents using indexes for lookups, but does not disable index updates.
It is therefore safe to allow from PGOPTIONS. Upshot: reindexing system catalogs
can be done without a standalone backend for all cases except
shared catalogs.
|
|
|
|
| |
not before, to avoid duplication of effort.
|
|
|
|
|
|
|
|
|
|
| |
config file if it exists. This was already discussed as being a good
idea, and now seems the cleanest way to deal with initdb-time failures
on machines with small SHMMAX. (The submitted patches instead modified
initdb.sh to pass the correct sizing parameters, but that would still
leave standalone backends prone to failure later. An admin who needs
to use a standalone backend has enough trouble already, he shouldn't
have to manually configure its shmem settings...)
|
|
|
|
|
|
| |
max_connections at initdb time. Get rid of DEF_NBUFFERS and DEF_MAXBACKENDS
macros, which aren't doing anything useful anymore, and put more likely
defaults into postgresql.conf.sample.
|
|
|
|
|
|
| |
just before CommitTransactionCommand(). This is a more sensible place
to put it since commit discards a lot of contexts, and we'd not find
out about stomps affecting only transaction-local contexts.
|
|
|
|
|
| |
processing loop; avoids extra overhead when using parse/bind/execute
messages instead of single Query message.
|
|
|
|
|
| |
for speed reasons. (ereport falls out much more quickly when no output
is needed than elog does.)
|
|
|
|
| |
macros in some platforms' sys/socket.h.
|
|
|
|
| |
and seems to have too few users to justify maintaining.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
or increased only by super-users.
This fixes problems caused by making certain variables SUSET for
security reasons.
|
|
|
|
|
|
| |
without needing a running backend. Reorder postgresql.conf.sample
to match new layout of runtime.sgml. This commit re-adds work lost
in Wednesday's crash.
|
|
|
|
|
| |
a ReadyForQuery (Z message) immediately and then another one after the
Sync message arrives. Suppress the first one to make it work per spec.
|
|
|
|
| |
Christopher Kings-Lynne
|
|
|
|
|
| |
docs that CLIENT/LOG_MIN_MESSAGES now controls debug_* output location.
Doc changes included.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
efficient insertion of large bytea values through the BIND interface.
|
|
|
|
|
| |
messages. Binary I/O is now up and working, but only for a small set
of datatypes (integers, text, bytea).
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Allow backends to attached to specified shared memory address.
|
|
|
|
| |
fork/exec.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Reorder non-default variable loading until PGDATA is defined.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Only lightly tested as yet, since libpq doesn't know anything about 'em.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Both plannable queries and utility commands are now always executed
within Portals, which have been revamped so that they can handle the
load (they used to be good only for single SELECT queries). Restructure
code to push command-completion-tag selection logic out of postgres.c,
so that it won't have to be duplicated between simple and extended queries.
initdb forced due to addition of a field to Query nodes.
|
|
|
|
|
|
|
|
|
|
|
| |
that the types of untyped string-literal constants are deduced (ie,
when coerce_type is applied to 'em, that's what the type must be).
Remove the ancient hack of storing the input Param-types array as a
global variable, and put the info into ParseState instead. This touches
a lot of files because of adjustment of routine parameter lists, but
it's really not a large patch. Note: PREPARE statement still insists on
exact specification of parameter types, but that could easily be relaxed
now, if we wanted to do so.
|
|
|
|
|
|
|
|
|
|
| |
I had inadvertently omitted it while rearranging things to support
length-counted incoming messages. Also, change the parser's API back
to accepting a 'char *' query string instead of 'StringInfo', as the
latter wasn't buying us anything except overhead. (I think when I put
it in I had some notion of making the parser API 8-bit-clean, but
seeing that flex depends on null-terminated input, that's not really
ever gonna happen.)
|
|
|
|
|
|
|
| |
rewritten and the protocol is changed, but most elog calls are still
elog calls. Also, we need to contemplate mechanisms for controlling
all this functionality --- eg, how much stuff should appear in the
postmaster log? And what API should libpq expose for it?
|
|
|
|
|
|
|
|
|
|
| |
have length words. COPY OUT reimplemented per new protocol: it doesn't
need \. anymore, thank goodness. COPY BINARY to/from frontend works,
at least as far as the backend is concerned --- libpq's PQgetline API
is not up to snuff, and will have to be replaced with something that is
null-safe. libpq uses message length words for performance improvement
(no cycles wasted rescanning long messages), but not yet for error
recovery.
|
|
|
|
| |
have length counts, and COPY IN data is packetized into messages.
|
|
|
|
|
|
| |
with variable-width fields. No more truncation of long user names.
Also, libpq can now send its environment-variable-driven SET commands
as part of the startup packet, saving round trips to server.
|