Commit Graph

27763 Commits

Author SHA1 Message Date
Alvaro Herrera ba748f7a11 Change the reloptions machinery to use a table-based parser, and provide
a more complete framework for writing custom option processing routines
by user-defined access methods.

Catalog version bumped due to the general API changes, which are going to
affect user-defined "amoptions" routines.
2009-01-05 17:14:28 +00:00
Tom Lane b0a6ad70a1 Add a --role option to pg_dump, pg_dumpall, and pg_restore. This allows
performing dumps and restores in accordance with a security policy that
forbids logging in directly as superuser, but instead specifies that you
should log into an admin account and then SET ROLE to the superuser.

In passing, clean up some ugly and mostly-broken code for quoting shell
arguments in pg_dumpall.

Benedek László, with some help from Tom Lane
2009-01-05 16:54:37 +00:00
Bruce Momjian f42a7f1e62 Update Japanese FAQ.
Jun Kuwamura
2009-01-05 15:04:59 +00:00
Tom Lane 5993bcaf41 Quiet repeated "loaded library" messages from child backends that are just
re-loading a library already loaded into the postmaster.

ITAGAKI Takahiro
2009-01-05 13:57:12 +00:00
Tom Lane da2c1b8a27 Add EmitWarningsOnPlaceholders calls to contrib modules that are likely to
get listed in custom_variable_classes.
2009-01-05 13:35:38 +00:00
Tom Lane 35c129cab3 Fix define_custom_variable to preserve any sourcefile/sourceline information
present in the placeholder.  Noted while testing pg_stat_statements.
2009-01-05 13:23:33 +00:00
Peter Eisentraut c63b9b1ddc When cross-compiling, allow and require an external zic program to be used
when --with-system-tzdata is not used.

initial patch by Richard Evans
2009-01-05 10:25:59 +00:00
Peter Eisentraut 46866e92bd Fix for cross-compilation between mingw32 and something else. The choice
of pwd vs. pwd -W is correctly a function of the build system, not the
host system.
2009-01-05 09:54:13 +00:00
Peter Eisentraut 26af72b46b Allow out-of-tree builds on mingw and cygwin
Author: Richard Evans <richard.evans@blueallegro.net>
2009-01-05 09:27:20 +00:00
Alvaro Herrera 901d419e31 Export IsUnderPostmaster on win32.
ITAGAKI Takahiro
2009-01-05 02:27:45 +00:00
Tom Lane 7466eeac61 Add contrib/pg_stat_statements for server-wide tracking of statement execution
statistics.

Takahiro Itagaki
2009-01-04 22:19:59 +00:00
Tom Lane 1efd5ff89b Add a pg_encoding_mbcliplen() function that is just like pg_mbcliplen()
except the caller can specify the encoding to work in; this will be needed
for pg_stat_statements.  In passing, do some marginal efficiency hacking
and clean up some comments.  Also, prevent the single-byte-encoding code
path from fetching one byte past the stated length of the string (this
last is a bug that might need to be back-patched at some point).
2009-01-04 18:37:36 +00:00
Heikki Linnakangas 74ef810ca6 Fix embarrassing bug in recent smgr refactoring patch: WAL records should
be written for *non*-temp tables only. Report and test case by Mark
Kirkwood and Simon Riggs.
2009-01-04 14:59:22 +00:00
Peter Eisentraut a65ed83f8a Allow configure to deal with Python 3.0. Changes were:
print foo --> print(foo)
string.join(...) --> ' '.join(...)

These changes are backward compatible.

The actual plpython module appears to need significant updates to support
Python 3.0, though.  This change just relieves interested developers from
having to deal with Autoconf.
2009-01-04 00:54:15 +00:00
Tom Lane 4605d1c98b Allow loadable modules to create PGC_POSTMASTER GUC variables, but only
when loaded via shared_preload_libraries.  Needed for support of
pg_stat_statements, or pretty much anything else that wants a GUC to
control size of a shared memory allocation.
2009-01-03 20:03:08 +00:00
Tom Lane dad75a62bf Create a "shmem_startup_hook" to be called at the end of shared memory
initialization, to give loadable modules a reasonable place to perform
creation of any shared memory areas they need.  This is the logical conclusion
of our previous creation of RequestAddinShmemSpace() and RequestAddinLWLocks().
We don't need an explicit shmem_shutdown_hook, because the existing
on_shmem_exit and on_proc_exit mechanisms serve that need.

Also, adjust SubPostmasterMain so that libraries that got loaded into the
postmaster will be loaded into all child processes, not only regular backends.
This improves consistency with the non-EXEC_BACKEND behavior, and might be
necessary for functionality for some types of add-ons.
2009-01-03 17:08:39 +00:00
Tom Lane bbeb0bbf6b Include a pointer to the query's source text in QueryDesc structs. This is
practically free given prior 8.4 changes in plancache and portal management,
and it makes it a lot easier for ExecutorStart/Run/End hooks to get at the
query text.  Extracted from Itagaki Takahiro's pg_stat_statements patch,
with minor editorialization.
2009-01-02 20:42:00 +00:00
Peter Eisentraut ccd31eb861 Initialize .pot files with some useful default values. 2009-01-02 15:15:42 +00:00
Peter Eisentraut a3114e52f6 Split the ecpg translation support into a separate catalog for the ecpg
preprocessor and the library.  This is useful for a number of reasons:

* The preprocessor and the library are in some cases installed in separate
packages and used by different classes of users.

* The library MO files need a different versioning scheme to account for the
soname.

* The makefiles are simpler, more robust, and easier to maintain this way.
(NLS web site was prone to break everytime a build rule changes.)

* Translators might choose to focus on the ecpglib, because that is more
user-facing.

* There was virtually no overlap, so nothing is lost.
2009-01-02 13:26:54 +00:00
Magnus Hagander 184341309e Today is find-typo-in-old-patches day. Fix wrong cut/paste in ident
documentation.
2009-01-02 11:51:53 +00:00
Magnus Hagander 67b94f5fb4 Fix cut/paste error that caused all errors from REQUIRE_AUTH_OPTION to say
it was the ldaptls parameter that was wrong...
2009-01-02 11:34:03 +00:00
Magnus Hagander f6c916ee98 Remove comments that say restart is required for changing of Kerberos
parameters.
2009-01-02 11:26:24 +00:00
Magnus Hagander a27addbc87 Make it possible to change Kerberos/GSSAPI parameters without restarting
the postmaster. They are only used in backend processes, so it's just
a matter of re-labeling the GUCs.
2009-01-02 10:33:20 +00:00
Tom Lane bdcc7576f4 write_nondefault_variables must take care to write custom_variable_classes
first; otherwise backends reading the file might reject values of custom
variables.  Per experimentation with auto_explain.
2009-01-02 02:02:10 +00:00
Tom Lane ccdb6627ee Tweak guc.c to allow underscores in the names of custom variable classes,
and change auto_explain's custom GUC variables to be named auto_explain.xxx
not just explain.xxx.  Per discussion in connection with the
pg_stat_statements patch, it seems like a good idea to have the convention
that custom variable classes are named the same as their defining module.
Committing separately since this should happen regardless of what happens
with pg_stat_statements itself.
2009-01-02 01:16:02 +00:00
Bruce Momjian 65deb13436 Be smarter --- accept missing comma, and force comma if missing. 2009-01-01 18:31:55 +00:00
Bruce Momjian 34273b44a6 Mention src/interfaces/libpq/libpq.rc.in needs to be updated for
copyright too.
2009-01-01 18:23:10 +00:00
Bruce Momjian c4eaa9672a Make comma optional for copyright text change. 2009-01-01 18:21:56 +00:00
Bruce Momjian 2dca07d54e Add comma so this copyright notice is picked up in 2010. 2009-01-01 18:21:19 +00:00
Tom Lane 62b64cbb48 Fix a couple of missed copyright dates. 2009-01-01 17:59:40 +00:00
Bruce Momjian 511db38ace Update copyright for 2009. 2009-01-01 17:24:05 +00:00
Tom Lane 87081b2d35 Fix an oversight in my patch of a couple weeks ago that ensured a snapshot
is available during datatype input in Bind message processing.  I put the
PopActiveSnapshot() or equivalent just before PortalDefineQuery, which is
an unsafe spot for it (in 8.3 and later) because we are carrying a plancache
refcount that hasn't yet been assigned to the portal.  Any error thrown there
would result in leaking the refcount.  It's not exactly likely that
PopActiveSnapshot would throw an elog, perhaps, but it could happen.
Reorder the code and add another comment warning not to do that.
2009-01-01 17:12:16 +00:00
Tom Lane df0ea5a1cd Throw error if a <window definition> references a window that already has a
frame clause, as appears to be required by the fine print in the SQL spec.
Per discussion with Pavel, not doing so risks user confusion.
2008-12-31 23:42:56 +00:00
Tom Lane eb273743ed Fix another problem in SQL-MED \d displays: should have a clean failure
report if the command is attempted against an old server.
2008-12-31 18:33:03 +00:00
Tom Lane 6672daace1 Consistently use multi-line formatting for all ACL columns printed by psql's
various display commands, not only for \z.

In passing, fix some infelicities in the newly added \d commands for SQL-MED
catalogs.

Andreas Scherbaum and Tom Lane
2008-12-31 18:07:47 +00:00
Tom Lane 26ce4e85a1 Add a WINDOW attribute to CREATE FUNCTION, and teach pg_dump about it,
so that user-defined window functions are possible.  For the moment you'll
have to write them in C, for lack of any interface to the WindowObject API
in the available PLs, but it's better than no support at all.

There was some debate about the best syntax for this.  I ended up choosing
the "it's an attribute" position --- the other approach will inevitably be
more work, and the likely market for user-defined window functions is
probably too small to justify it.
2008-12-31 02:25:06 +00:00
Tom Lane 8e8854daa2 Add some basic support for window frame clauses to the window-functions
patch.  This includes the ability to force the frame to cover the whole
partition, and the ability to make the frame end exactly on the current row
rather than its last ORDER BY peer.  Supporting any more of the full SQL
frame-clause syntax will require nontrivial hacking on the window aggregate
code, so it'll have to wait for 8.5 or beyond.
2008-12-31 00:08:39 +00:00
Tom Lane 0fb9be7acf Reduce the last group of parallel regression tests to 19 tests, per failure
on buildfarm member bear.  Sync the test order in serial_schedule with that
in parallel_schedule.
2008-12-30 17:11:26 +00:00
Heikki Linnakangas 4942ea2870 The flag to mark dead tuples is nowadays called LP_DEAD, not LP_DELETE.
Simon Riggs.
2008-12-30 16:24:37 +00:00
Tom Lane 1b1b0ac8d0 Fix oversight in ALTER TABLE ENABLE/DISABLE RULE patch: the new enabled
field needs to be included in equalRuleLocks() comparisons, else updates
will fail to propagate into relcache entries when they have positive
reference count (ie someone is using the relcache entry).
Per report from Alex Hunsaker.
2008-12-30 03:59:19 +00:00
Tom Lane 2c38b8c715 Fix thinko in documentation of default window frame behavior,
per Hitoshi Harada.
2008-12-29 18:23:53 +00:00
Michael Meskes bdfde2b390 Finally the last test. 2008-12-29 17:48:11 +00:00
Michael Meskes 3c82099c82 First rounf of whitespace changes. Everything but connect-test1 should be fine. 2008-12-29 17:07:06 +00:00
Tom Lane 2f806e540f Tighten up a couple of regression test cases that can have platform-dependent
results due to underspecified ordering.  Per report from buildfarm member
pika.
2008-12-29 02:58:11 +00:00
Tom Lane 95b07bc7f5 Support window functions a la SQL:2008.
Hitoshi Harada, with some kibitzing from Heikki and Tom.
2008-12-28 18:54:01 +00:00
Tom Lane 38e9348282 Make a couple of small changes to the tuplestore API, for the benefit of the
upcoming window-functions patch.  First, tuplestore_trim is now an
exported function that must be explicitly invoked by callers at
appropriate times, rather than something that tuplestore tries to do
behind the scenes.  Second, a read pointer that is marked as allowing
backward scan no longer prevents truncation.  This means that a read pointer
marked as having BACKWARD but not REWIND capability can only safely read
backwards as far as the oldest other read pointer.  (The expected use pattern
for this involves having another read pointer that serves as the truncation
fencepost.)
2008-12-27 17:39:00 +00:00
Tom Lane c8b69ed6a8 Remove unused include file, per ITAGAKI Takahiro. AFAICT this has been
dead code since Postgres95.
2008-12-26 17:51:04 +00:00
Bruce Momjian 4ee79fd20d Change the name of dtrace wal tracepoints:
TRACE_POSTGRESQL_WAL_BUFFER_WRITE_DIRTY

Robert Lor
2008-12-24 20:41:29 +00:00
Magnus Hagander 4fc6e2fdcf Teach MSVC build system about building foreign data wrappers.
Should fix recent buildfarm breakage.
2008-12-20 22:04:02 +00:00
Tom Lane 6d79871883 Add missing semicolon, per buildfarm results. Martin Pihlak 2008-12-20 16:02:55 +00:00