Commit Graph

19063 Commits

Author SHA1 Message Date
Peter Eisentraut a5d67a0a05 Make tests pass with or without locale. 2009-01-11 09:41:45 +00:00
Tom Lane 43a57cf365 Revise the TIDBitmap API to support multiple concurrent iterations over a
bitmap.  This is extracted from Greg Stark's posix_fadvise patch; it seems
worth committing separately, since it's potentially useful independently of
posix_fadvise.
2009-01-10 21:08:36 +00:00
Tom Lane d25ada4d78 Fix libpq so that it reports PGRES_EMPTY_QUERY not PGRES_COMMAND_OK when an
empty query string is passed to PQexecParams and related functions.  Its
handling of the NoData response to Describe messages was subtly incorrect.
Per my report of yesterday.

Although I consider this a bug, it's a behavioral change that might affect
applications, so not back-patched.

In passing fix a second issue in the same code: it didn't react well to an
out-of-memory failure while trying to make the PGresult object.
2009-01-09 18:50:03 +00:00
Tom Lane d04db37072 Arrange for function default arguments to be processed properly in expressions
that are set up for execution with ExecPrepareExpr rather than going through
the full planner process.  By introducing an explicit notion of "expression
planning", this patch also lays a bit of groundwork for maybe someday
allowing sub-selects in standalone expressions.
2009-01-09 15:46:11 +00:00
Peter Eisentraut 8ebf1a3d5c Remove fairly useless mixed-case identifier test that causes locale
dependencies.
2009-01-09 14:50:00 +00:00
Magnus Hagander 8d320b6356 Code review of strftime patch, per comments from Tom:
* Use correct buffer size MAX_L10N_DATA
* Use strlcpy instead of StrNCpy
2009-01-09 14:07:00 +00:00
Magnus Hagander 0709c0017f Fix strftime usage on Win32 when trying to fetch the locale-aware
parts of a time string so it properly handles different encodings.

Original patch by Hiroshi Saito, heavily reworked by me and
ITAGAKI Takahiro.
2009-01-09 13:03:55 +00:00
Peter Eisentraut 58a81baa3c More portable use of "find". 2009-01-09 12:37:37 +00:00
Peter Eisentraut 26dc14b6b2 Rewrite update-po target, so that it works less like a shell script and more
like a makefile with real dependencies.

Instead of overwriting the old po file, write the new one to .po.new.  This is
less annoying and integrates better with the NLS web site.

Also, we can now merge languages that don't have a po file yet, by merging
against all other po files of that language, to pick up recurring translations
automatically.  This previously only worked when a po file already existed.
2009-01-09 10:54:08 +00:00
Magnus Hagander 1b4e729eaa Make krb_realm and krb_server_hostname be pg_hba options only, and remove
their GUCs.

In passing, noted that the pg_hba options for krb5 authentication weren't
listed at all - so add this.
2009-01-09 10:13:19 +00:00
Bruce Momjian 9bdf216f9c Fix memory leak for file name if expect file name contains a dot, per
report from dvice_null@yahoo.com.
2009-01-08 20:09:06 +00:00
Alvaro Herrera b813c8daca A couple further reloptions improvements, per KaiGai Kohei: add a validation
function to the string type and add a couple of macros for string handling.

In passing, fix an off-by-one bug of mine.
2009-01-08 19:34:41 +00:00
Tom Lane 2e9650cbcf Defend against null input in analyze_requires_snapshot(), per report
from Rushabh Lathia.
2009-01-08 13:42:33 +00:00
Bruce Momjian 1c175cd76a Revert current_query() change to use debug_query_string again; add comment. 2009-01-08 00:13:22 +00:00
Bruce Momjian ae3c075221 Add comment about why BETWEEN uses operator strings and not opclasses,
with URL pointing to email discussion.
2009-01-07 22:54:45 +00:00
Tom Lane 445ce15702 Create a third option named "partition" for constraint_exclusion, and make it
the default.  This setting enables constraint exclusion checks only for
appendrel members (ie, inheritance children and UNION ALL arms), which are
the cases in which constraint exclusion is most likely to be useful.  Avoiding
the overhead for simple queries that are unlikely to benefit should bring
the cost down to the point where this is a reasonable default setting.
Per today's discussion.
2009-01-07 22:40:49 +00:00
Bruce Momjian 12dcf7bb75 Have current_query() use ActivePortal->sourceText rather than
debug_query_string;  this allows current_query() to be more accurate;
docs updated;  per idea from Tom
2009-01-07 21:48:15 +00:00
Tom Lane deac9488d3 Insert conditional SPI_push/SPI_pop calls into InputFunctionCall,
OutputFunctionCall, and friends.  This allows SPI-using functions to invoke
datatype I/O without concern for the possibility that a SPI-using function
will be called (which could be either the I/O function itself, or a function
used in a domain check constraint).  It's a tad ugly, but not nearly as ugly
as what'd be needed to make this work via retail insertion of push/pop
operations in all the PLs.

This reverts my patch of 2007-01-30 that inserted some retail SPI_push/pop
calls into plpgsql; that approach only fixed plpgsql, and not any other PLs.
But the other PLs have the issue too, as illustrated by a recent gripe from
Christian Schröder.

Back-patch to 8.2, which is as far back as this solution will work.  It's
also as far back as we need to worry about the domain-constraint case, since
earlier versions did not attempt to check domain constraints within datatype
input.  I'm not aware of any old I/O functions that use SPI themselves, so
this should be sufficient for a back-patch.
2009-01-07 20:38:56 +00:00
Bruce Momjian 6b88393058 Add comment that it is difficult to access the more accurate
'query_string' from current_query().
2009-01-07 19:51:21 +00:00
Bruce Momjian 8faffe6a52 Update comment associated with 'debug_query_string'. 2009-01-07 19:35:43 +00:00
Andrew Dunstan 678e597ee3 define HAVE_FSEEKO for MSVC 2009-01-07 13:51:04 +00:00
Tom Lane 1cfd9e8834 Fix executor/spi.h to follow our usual conventions for include files, ie,
not include postgres.h nor anything else it doesn't directly need.  Add
#includes to calling files as needed to compensate.  Per my proposal of
yesterday.

This should be noted as a source code change in the 8.4 release notes,
since it's likely to require changes in add-on modules.
2009-01-07 13:44:37 +00:00
Magnus Hagander b09f930d2e Add hba parameter include_realm to krb5, gss and sspi authentication, used
to pass the full username@realm string to the authentication instead of
just the username. This makes it possible to use pg_ident.conf to authenticate
users from multiple realms as different database users.
2009-01-07 13:09:21 +00:00
Magnus Hagander 32c469d7b1 Allow krb_realm (krb5, gssapi and sspi) and krb_server_hostname (krb5 only)
authentication options to be set in pg_hba.conf on a per-line basis, to
override the defaults set in postgresql.conf.
2009-01-07 12:38:11 +00:00
Magnus Hagander 75eafe965e Don't require pqGetHomeDirectory to succeed if the user has specified
hardcoded paths for SSL rootcert/crl/clientcert/key.

As noted by Andrew Chernow
2009-01-07 12:02:46 +00:00
Bruce Momjian 143e755bcf Make the log output of 'vxid' between csvlog and stderr/syslog
consistent. Currently, in csvlog, vxid of an auxiliary process isn't
displayed. On the other hand, in stderr/syslog, invalid vxid (-1/0) of
that is displayed.

Fujii Masao
2009-01-07 04:26:46 +00:00
Bruce Momjian d00a3472cf Update MinGW so it handles fseeko() similar to Unix. 2009-01-07 03:39:33 +00:00
Bruce Momjian 7e518a3d01 Removeduplicate \dd psql help mention. 2009-01-07 03:05:26 +00:00
Bruce Momjian 3084a8aea3 Add spaces around psql \d* columns, per idea from Joshua Drake. 2009-01-07 00:05:28 +00:00
Tom Lane 82c9662378 Clarify a confusing comment about MCVs vs histogram entries.
Per Nathan Boley.
2009-01-06 23:46:06 +00:00
Bruce Momjian 17f601ecb2 Improve \z psql \? help display. 2009-01-06 23:09:56 +00:00
Bruce Momjian f5ed2ee533 Add documentation for new \d*S* patch, and clean up some of the docs.
Fix \do and trigger display for the patch too.
2009-01-06 23:01:57 +00:00
Bruce Momjian 9491c82f71 This makes all the \dX commands (most importantly to most: \df) work
like \dt does, in that it requires a \dXS to see system items.

Greg Sabino Mullane
2009-01-06 21:10:30 +00:00
Magnus Hagander 2b1782fa58 Make the MSVC build output "32-bit" at the end of the version string, the
same way the unix build now does.
2009-01-06 18:37:50 +00:00
Bruce Momjian 32695413f3 Make pg_dump and pg_dumpall --clean options match the SGML docs, for consistency. 2009-01-06 18:01:57 +00:00
Bruce Momjian 6715642000 Update pg_restore --help text to match the SGML documentation. 2009-01-06 17:18:11 +00:00
Tom Lane 7c63d0c72e Change a couple of ill-advised uses of INFO elog level to WARNINGs; in
particular this allows EmitWarningsOnPlaceholders messages to show up in the
postmaster log by default.  Update elog.h comment to make it clearer what INFO
is for, and fix one example in the SGML docs that was misusing it.  Per my
gripe of yesterday.
2009-01-06 16:39:52 +00:00
Tom Lane 229bffedbc Revert the default toast compression strategy to the former behavior
where there's no limit on the size of datum we'll try to compress.
Other 8.4 tweaks to the behavior remain in place.  Per discussion.
2009-01-06 15:51:38 +00:00
Tom Lane 075ac80d72 Doesn't seem like a good idea to be doing AC_CHECK_SIZEOF(void *) so much
earlier than all the other sizeof checks, and it certainly fails to follow
the order suggested at the file head.  Rearrange.
2009-01-06 15:38:44 +00:00
Heikki Linnakangas 7ffe657225 Fix logic in lazy vacuum to decide if it's worth trying to truncate the heap.
If the table was smaller than REL_TRUNCATE_FRACTION (= 16) pages, we always
tried to acquire AccessExclusiveLock on it even if there was no empty pages
at the end.

Report by Simon Riggs. Back-patch all the way to 7.4.
2009-01-06 14:55:37 +00:00
Alvaro Herrera b25433da5d Fix string reloption handling, per KaiGai Kohei. 2009-01-06 14:47:37 +00:00
Bruce Momjian 1d2a185eae Suppress compiler warning in a different way, per Alvaro. 2009-01-06 03:15:51 +00:00
Bruce Momjian 02aa5f19c6 Supress compiler warning. 2009-01-06 02:44:17 +00:00
Bruce Momjian eaa088e8ee Fix new timezone cross-compile rule to avoid a bug in gmake 3.78.1;
document change.
2009-01-06 02:25:29 +00:00
Tom Lane 9f910a3b9a Add some comments about why function parameter default expressions are
restricted.
2009-01-06 02:01:27 +00:00
Tom Lane 10374a34c6 Fix an oversight in the function-default-arguments patch: after adding some
default expressions to a function call, eval_const_expressions must recurse on
those expressions.  Else they don't get simplified, and in particular we fail
to insert additional default arguments if any functions needing defaults are
in there.  Per report from Rushabh Lathia.
2009-01-06 01:23:21 +00:00
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
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 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