| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
File encodings can be specified separately from client encoding.
If not specified, client encoding is used for backward compatibility.
Cases when the encoding doesn't match client encoding are slower
than matched cases because we don't have conversion procs for other
encodings. Performance improvement would be be a future work.
Original patch by Hitoshi Harada, and modified by me.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is both very useful in its own right, and an important test case
for the core FDW support.
This commit includes a small refactoring of copy.c to expose its option
checking code as a separately callable function. The original patch
submission duplicated hundreds of lines of that code, which seemed pretty
unmaintainable.
Shigeru Hanada, reviewed by Itagaki Takahiro and Tom Lane
|
|
|
|
|
|
|
| |
This commit provides the core code and documentation needed. A contrib
module test case will follow shortly.
Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
|
|
|
|
|
|
|
|
|
| |
type changes.
The invalidation will cause the type information to be refetched, and
everything will work.
Jan Urbański, reviewed by Alex Hunsaker
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new libpq connection option client_encoding (which includes the
existing PGCLIENTENCODING environment variable), which besides an
encoding name accepts a special value "auto" that tries to determine
the encoding from the locale in the client's environment, using the
mechanisms that have been in use in initdb.
psql sets this new connection option to "auto" when running from a
terminal and not overridden by setting PGCLIENTENCODING.
original code by Heikki Linnakangas, with subsequent contributions by
Jaime Casanova, Peter Eisentraut, Stephen Frost, Ibrar Ahmed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a fdwhandler column to pg_foreign_data_wrapper, plus HANDLER options
in the CREATE FOREIGN DATA WRAPPER and ALTER FOREIGN DATA WRAPPER commands,
plus pg_dump support for same. Also invent a new pseudotype fdw_handler
with properties similar to language_handler.
This is split out of the "FDW API" patch for ease of review; it's all stuff
we will certainly need, regardless of any other details of the FDW API.
FDW handler functions will not actually get called yet.
In passing, fix some omissions and infelicities in foreigncmds.c.
Shigeru Hanada, Jan Urbanski, Heikki Linnakangas
|
|
|
|
|
|
| |
This has been broken for awhile, but not clear it's worth back-patching.
Euler Taveira de Oliveira
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous coding would try to process all SECTION_NONE items in the
initial sequential-restore pass, which failed if they were dependencies of
not-yet-restored items. Fix by postponing such items into the parallel
processing pass once we have skipped any non-PRE_DATA item.
Back-patch into 9.0; the original parallel-restore coding in 8.4 did not
have this bug, so no need to change it.
Report and diagnosis by Arnd Hannemann.
|
|
|
|
| |
Per discussion after my commit o yesterday.
|
|
|
|
|
| |
More useful state change for monitoring purposes, plus a
required change for synchronous replication patch.
|
|
|
|
|
|
| |
Allow messages to be sent at different times, and greatly reduce
the frequency of hot standby feedback. Refactor to allow additional
message types.
|
|
|
|
| |
Kevin Grittner
|
|
|
|
| |
dynamic cursornames even in WHERE CURRENT OF clauses.
|
|
|
|
| |
Shigeru HANADA
|
|
|
|
|
|
|
|
|
| |
They share the same locking namespace with the existing session-level
advisory locks, but they are automatically released at the end of the
current transaction and cannot be released explicitly via unlock
functions.
Marko Tiikkaja, reviewed by me.
|
|
|
|
|
|
|
|
|
|
|
|
| |
More generally, arrays are turned in Perl array references, and row and
composite types are turned into Perl hash references. This is done
recursively, in a way that's natural to every Perl programmer.
To avoid a backwards compatibility hit, the string representation of
each structure is also available if the function requests it.
Authors: Alexey Klyukin and Alex Hunsaker.
Some code cleanups by me.
|
| |
|
|
|
|
|
| |
This allows the user to change the path to be used more easily.
Also, change URL in README.
|
|
|
|
|
|
|
|
|
|
|
| |
ts_typanalyze.c computes MCE statistics as fractions of the non-null rows,
which seems fairly reasonable, and anyway changing it in released versions
wouldn't be a good idea. But then ts_selfuncs.c has to account for that.
Failure to do so results in overestimates in columns with a significant
fraction of null documents. Back-patch to 8.4 where this stuff was
introduced.
Jesper Krogh
|
|
|
|
| |
Peter Eisentraut, reviewed by Steve Singer, Alvaro Herrera, and me.
|
|
|
|
|
| |
Simon Riggs reports that rnode.dbNode and rnode.spcNode were
generating unused variable warnings on gcc 4.4.3 with CFLAGS=-O1
|
|
|
|
| |
Stephen Frost, somewhat rewritten by me
|
|
|
|
| |
Doesn't anybody around here pay attention to compiler warnings?
|
|
|
|
|
|
|
|
|
|
|
| |
That function was supposing that indexoid == 0 for a hypothetical index,
but that is not likely to be true in any non-toy implementation of an index
adviser, since assigning a fake OID is the only way to know at EXPLAIN time
which hypothetical index got selected. Fix by adding a flag to
IndexOptInfo to mark hypothetical indexes. Back-patch to 9.0 where
get_actual_variable_range() was added.
Gurjeet Singh
|
|
|
|
|
|
|
|
|
| |
These are needed to support reloading dumps of 9.0 installations containing
contrib/intarray or contrib/tsearch2. Since not only regular dump/reload
but binary upgrade would fail, it seems worth the trouble to carry these
stubs for awhile. Note that the contrib opclasses referencing these
functions will still work fine, since GIN doesn't actually pay any
attention to the declared signature of a support function.
|
|
|
|
|
| |
This was previously not very useful, but with many people customizing
the linestyle, it is nice for a consistent appearance.
|
|
|
|
|
| |
The first argument of PyEval_EvalCode() was changed from PyCodeObject*
to PyObject* because of PEP 384.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Standby optionally sends back information about oldestXmin of queries
which is then checked and applied to the WALSender's proc->xmin.
GetOldestXmin() is modified slightly to agree with GetSnapshotData(),
so that all backends on primary include WALSender within their snapshots.
Note this does nothing to change the snapshot xmin on either master or
standby. Feedback piggybacks on the standby reply message.
vacuum_defer_cleanup_age is no longer used on standby, though parameter
still exists on primary, since some use cases still exist.
Simon Riggs, review comments from Fujii Masao, Heikki Linnakangas, Robert Haas
|
|
|
|
| |
This seems a bit more user-friendly.
|
|
|
|
| |
Per report from, and discussion with, Fujii Masao.
|
|
|
|
|
|
|
| |
(I'm not entirely sure that we've finished bikeshedding the syntax details,
but the functionality seems OK.)
Pavel Stehule, reviewed by Stephen Frost and Tom Lane
|
|
|
|
| |
Fujii Masao, reviewed by Robert Haas, Stephen Frost, and Magnus Hagander.
|
|
|
|
|
|
|
|
| |
They are expected to be used by extension modules like file_fdw.
There are no user-visible changes.
Itagaki Takahiro
Reviewed and tested by Kevin Grittner and Noah Misch.
|
|
|
|
|
|
|
|
|
| |
Normally, pg_dump summarily excludes functions in pg_catalog from
consideration. However, some extensions may create functions in pg_catalog
(adminpack already does that, and extensions for procedural languages will
likely do it too). In binary-upgrade mode, we have to dump such functions,
or the extension will be incomplete after upgrading. Per experimentation
with adminpack.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Recent releases had a check on rel->rd_refcnt in heap_drop_with_catalog,
but failed to cover the possibility of pending trigger events at DROP time.
(Before 8.4 we didn't even check the refcnt.) When the trigger events were
eventually fired, you'd get "could not open relation with OID nnn" errors,
as in recent report from strk. Better to throw a suitable error when the
DROP is attempted.
Also add a similar check in DROP INDEX.
Back-patch to all supported branches.
|
|
|
|
|
| |
Comment about MaxAllocSize was not updated when the TOAST-header macros
were replaced in 8.3 "varvarlena" changes. Per report from Frederik Ramm.
|
|
|
|
| |
Per reports from Fujii Masao.
|
|
|
|
|
|
| |
The new name, max_pred_locks_per_transaction, is shorter.
Kevin Grittner, per discussion.
|
|
|
|
|
| |
Also add make check-world target, and refactor pg_regress invocation
code in makefiles a bit.
|
|
|
|
|
|
|
| |
When the new type is an unconstrained domain over the old type, we don't
need to rewrite the table.
Noah Misch and Robert Haas
|
| |
|
|
|
|
|
|
|
| |
though must not update the last transaction timestamp.
Plus comment and message cleanup for recent named restore point.
Fujii Masao, minor changes by me
|
|
|
|
| |
Untested, but we'll soon see if the buildfarm likes this.
|
|
|
|
|
|
|
|
|
|
| |
The original design of pg_available_extensions did not consider the
possibility of version-specific control files. Split it into two views:
pg_available_extensions shows information that is generic about an
extension, while pg_available_extension_versions shows all available
versions together with information that could be version-dependent.
Also, add an SRF pg_extension_update_paths() to assist in checking that
a collection of update scripts provide sane update path sequences.
|
|
|
|
| |
Bug report and fix by Andres Freund
|
| |
|
|
|
|
|
|
| |
This avoids the need to find a way to make PGXS' .sql.in-to-.sql rule
insert the right thing. We'll just deprecate use of that hack for
extensions.
|
|
|
|
|
|
|
|
|
|
| |
This allows us to have an unambiguous rule for deconstructing the names
of script files and secondary control files, without having to forbid
extension and version names from containing any dashes. We do have to
forbid them from containing double dashes or leading/trailing dashes,
but neither restriction is likely to bother anyone in practice.
Per discussion, this seems like a better solution overall than the
original design.
|