Commit Graph

25180 Commits

Author SHA1 Message Date
Tom Lane 5aaf09ac46 So our reward for including <sys/atomic_op.h> seems to be a bunch of
nattering about casting away volatile.  Losers.
2007-07-16 04:57:57 +00:00
Tom Lane 057d5c421f On AIX, include <sys/atomic_op.h> so that the functions we use for
TAS support are properly declared.
2007-07-16 02:03:14 +00:00
Tom Lane 37e347a7e0 Get rid of overly cute, unportable, probably not very efficient substitute
for 'bool'.  Per buildfarm warnings.
2007-07-15 23:57:13 +00:00
Tom Lane 93624bcda0 Fix CHECK_RELATION_BLOCK_RANGE macro, which was not merely producing
a warning but was outright wrong.
2007-07-15 23:46:20 +00:00
Tom Lane 4608f359a6 Fix a passel of signed vs unsigned char warnings. 2007-07-15 23:30:19 +00:00
Tom Lane cfd6c89b04 Silence a rather odd compiler warning. In passing, make this file's
error messages look at least a little bit like the message style
guidelines say.
2007-07-15 23:09:26 +00:00
Tom Lane a190eb3d7d Avoid possibly-unportable initializer, per buildfarm warning. 2007-07-15 22:57:48 +00:00
Tom Lane 84a0445c4d Change a couple of exit(0) to return 0 to suppress complaints from
not-too-bright compilers.  Per buildfarm results.
2007-07-15 22:54:21 +00:00
Tom Lane 7176e60bc8 Silence Solaris compiler warnings, per buildfarm. 2007-07-15 22:49:36 +00:00
Tom Lane 10a91e0add Silence Solaris compiler warning, per buildfarm. 2007-07-15 22:43:40 +00:00
Tom Lane af18d3d05c Fix compile warning on Solaris, per buildfarm. (Why have we got
three slightly different copies of this file?)
2007-07-15 22:40:28 +00:00
Tom Lane cd54eb2b5b Fix possible portability problem, per buildfarm warnings. 2007-07-15 22:34:26 +00:00
Tom Lane c11b8dcdbb Fix unportable use of isspace(), per buildfarm results. 2007-07-15 22:32:53 +00:00
Tom Lane 78c84ad49e Because plpgsql's scanner uses %option case-insensitive, flex's results could
theoretically vary depending on what the compile-time locale setting is.
Hence, force it to see LC_CTYPE=C to ensure consistent build results.
(It's likely that this makes no difference in practice, since our
specification for "identifier" surely includes both ends of any possible
uppercase/lowercase pair anyway.  But it should silence warnings about
ambiguous character classes that are reported by some buildfarm members.)
2007-07-15 22:18:24 +00:00
Tom Lane 816ff27f60 Reject zero or negative BY step in plpgsql integer FOR-loops, and behave
sanely if the loop value overflows int32 on the way to the end value.
Avoid useless computation of "SELECT 1" when BY is omitted.  Avoid some
type-punning between Datum and int4 that dates from the original coding.
2007-07-15 02:15:04 +00:00
Tom Lane a69f9028b5 Note incompatibility with Oracle's version of FOR ... REVERSE, per
Andrew Dunstan.  Minor other improvements in documentation of integer
FOR loops.
2007-07-15 00:45:16 +00:00
Tom Lane d849c5d182 Editorial overhaul of plpgsql documentation. Provide detailed documentation
of variable substitution and plan caching behavior in dedicated sections.
(A lot of this material existed already, but was scattered in various places
in the chapter.)  Reorganize material a little bit, mostly to try to avoid
diving into deep details in the first introductory sections.  Document some
fine points that had escaped treatment before, notably the ability to qualify
plpgsql variable names with block labels.  Some minor wordsmithing here and
there.
2007-07-14 23:02:25 +00:00
Magnus Hagander 3787797f72 Support for finding gssapi functions in the library "gss", as required
by Solaris 10 and possibly others.

Stefan Kaltenbrunner
2007-07-14 11:13:28 +00:00
Tom Lane 2789b7278c Volatile-qualify a dozen variables in plpython.c to eliminate warnings
from old versions of gcc.  It's not clear to me that this is really
necessary for correctness, but less warnings are always good.
Per buildfarm results and local testing.
2007-07-13 04:57:59 +00:00
Tom Lane 39f06dcad6 Fix map_sql_typecoll_to_xmlschema_types() to not fail on dropped
columns, per my gripe earlier today.  Make it look a bit less like
someone's first effort at backend coding.
2007-07-13 03:43:23 +00:00
Tom Lane a702159158 Add casts to suppress warnings about m68k-specific kluge in fmgr.c. 2007-07-13 02:25:48 +00:00
Tom Lane 04b54876b6 Fix a portability bug (ye olde not casting a <ctype.h> argument to
unsigned char).  Fortunately we still have buildfarm machines that
will flag this.  Seems to be new in CVS HEAD, so no backpatch.
2007-07-12 23:51:10 +00:00
Tom Lane 6bc12a4aca Get dirmod.c on the same page as port.h about whether we use pgsymlink
on Cygwin (answer: we don't).  Also try to unwind the #ifdef spaghetti
a little bit.  Untested but hopefully I didn't break anything.
2007-07-12 23:28:49 +00:00
Neil Conway ad44c95825 Fixup the indentation of a comment that was mangled by pgindent, and
add dashes to the start/end of the comment block to try to prevent
this happening in the future.
2007-07-12 23:25:26 +00:00
Tom Lane 4f09b55dc3 Simplify overly-cute array coding to avoid an apparent gcc bug, which
may or may not be harmless.  Report from Stefan, patch from Heikki.
2007-07-12 23:10:57 +00:00
Tom Lane 4bbb7f9469 Suppress Sun Studio warnings, per Stefan. 2007-07-12 21:27:09 +00:00
Tom Lane 4dbbef2845 Suppress an integer-overflow warning. 2007-07-12 21:17:09 +00:00
Tom Lane 292e4c6190 Some of our port-specific dynloader implementations are careful to
define pg_dlsym() as returning a PGFunction pointer, not just any
pointer-to-function.  But many are not.  Suppress compiler warnings
on platforms that aren't careful by inserting explicit casts at the
two call sites that didn't have a cast already.  Per Stefan.
2007-07-12 21:13:27 +00:00
Tom Lane 706754c16b Compute max and min int8 values using unsigned arithmetic, in hopes of
suppressing Sun Studio compiler warnings.  Per Stefan.
2007-07-12 21:04:45 +00:00
Tom Lane 72c7badbab Fix some warnings (probably actual bugs) generated by new GSSAPI code
when built on a 64-bit machine.  Per buildfarm results extracted by Stefan.
2007-07-12 20:36:11 +00:00
Tom Lane bc8d164d06 Fix mistaken Assert in adjust_appendrel_attr_needed, per Greg Stark. 2007-07-12 18:27:01 +00:00
Magnus Hagander 017f2d2f18 Silence compile warning on win32, per Stefan and Buildfarm. 2007-07-12 18:15:52 +00:00
Magnus Hagander 784fd04940 Enable GSSAPI to build using MSVC. Always build GSSAPI when Kerberos is
enabled, because the only Kerberos library supported always contains it.
2007-07-12 14:43:21 +00:00
Magnus Hagander 65a513c249 Support GSSAPI builds where the header is <gssapi.h> and not <gssapi/gssapi.h>,
such as OpenBSD (possibly all Heimdal).

Stefan Kaltenbrunner
2007-07-12 14:36:52 +00:00
Magnus Hagander 6771994058 Fix freenig of names in Kerberos when using MIT - need to use the
free function provided in the Kerberos library.
This fixes a very hard to track down heap corruption on windows
when using debug runtimes.
2007-07-12 14:10:39 +00:00
Tom Lane 05c4d8f783 Suppress a warning that some versions of gcc emit about %x in strftime.
Per suggestion from Alvaro.
2007-07-11 23:15:38 +00:00
Magnus Hagander 31013db0a1 A bunch of GSSAPI fixes per comments from Tom:
* use elog not ereport for debug
* fix debug levels for some output
* properly check for memory allocation errors in a couple of missed places
2007-07-11 08:27:33 +00:00
Tom Lane bf75e2a3c7 Add note that building from CVS requires bison and flex, whereas
building from a distribution tarball does not.
2007-07-10 23:03:18 +00:00
Tom Lane e27a8df1bf Fix misspelling. 2007-07-10 16:41:01 +00:00
Magnus Hagander 6160106c74 Add support for GSSAPI authentication.
Documentation still being written, will be committed later.

Henry B. Hotz and Magnus Hagander
2007-07-10 13:14:22 +00:00
Tom Lane ff481ca0d4 Adjust processSQLNamePattern() so that $ within the pattern is always matched
literally, whether quoted or not.  Since we allow $ as a character within
identifiers, this behavior is useful, whereas the previous behavior of
treating it as the regexp ending anchor was nearly useless given that the
pattern is automatically anchored anyway.  This affects the arguments of
psql's \d commands as well as pg_dump's -n and -t switches.  Per discussion.
2007-07-10 00:21:31 +00:00
Tom Lane 6244c2dfff Fix stddev_pop(numeric) and var_pop(numeric), which were incorrectly producing
the same outputs as stddev_samp() and var_samp() respectively.
2007-07-09 16:13:57 +00:00
Tom Lane 9e09e3b15e Fix single-user mode so that interrupts (particularly SIGTERM and
SIGQUIT) will be recognized and processed while waiting for input,
rather than only after something has been typed.  Also make SIGQUIT
do the same thing as SIGTERM in single-user mode, ie, do a normal
shutdown and exit.  Since it's relatively easy to provoke SIGQUIT
from the keyboard, people may try that instead of control-D, and we'd
rather this leads to orderly shutdown.  Per report from Leon Mergen
and subsequent discussion.
2007-07-09 01:15:14 +00:00
Tom Lane 9b619679a8 Minor copy-editing. 2007-07-09 01:08:09 +00:00
Tom Lane b09cb0cf12 Remove the pgstat_drop_relation() call from smgr_internal_unlink(), because
we don't know at that point which relation OID to tell pgstat to forget.
The code was passing the relfilenode, which is incorrect, and could possibly
cause some other relation's stats to be zeroed out.  While we could try to
clean this up, it seems much simpler and more reliable to let the next
invocation of pgstat_vacuum_tabstat() fix things; which indeed is how it
worked before I introduced the buggy code into 8.1.3 and later :-(.
Problem noticed by Itagaki Takahiro, fix is per subsequent discussion.
2007-07-08 22:23:16 +00:00
Tom Lane 8331c11f3f Get rid of client-code dependencies on the exact text of the no-password
error message, by using PQconnectionUsedPassword() instead.  Someday
we might be able to localize that error message, but not until this
coding technique has disappeared everywhere.
2007-07-08 19:07:38 +00:00
Tom Lane 5f7b1f8d9d Closer code review for PQconnectionUsedPassword() patch: in particular,
not OK to include postgres_fe.h into libpq-fe.h, hence declare it as
returning int not bool.
2007-07-08 18:28:56 +00:00
Tom Lane 3f33d7bcb6 Fix broken markup. 2007-07-08 17:47:38 +00:00
Joe Conway d92583f88e Restrict non-superusers to password authenticated connections
to prevent possible escalation of privilege. Provide new SECURITY
DEFINER functions with old behavior, but initially REVOKE ALL
from public for these functions. Per list discussion and design
proposed by Tom Lane. A different approach will be used for
back-branches, committed separately.
2007-07-08 17:12:38 +00:00
Joe Conway 51bc3dfe4b Arrange for the authentication request type to be preserved in
PGconn. Invent a new libpq connection-status function,
PQconnectionUsedPassword() that returns true if the server
demanded a password during authentication, false otherwise.
This may be useful to clients in general, but is immediately
useful to help plug a privilege escalation path in dblink.
Per list discussion and design proposed by Tom Lane.
2007-07-08 17:11:51 +00:00