summaryrefslogtreecommitdiff
path: root/src/include
AgeCommit message (Collapse)Author
2006-10-09Stamp releases 7.3.16, 7.4.14, 8.0.9, and 8.1.5.Bruce Momjian
2006-06-01Back-port Postgres 7.4 spinlock code into 7.3 branch. This addsTom Lane
previously-missing spinlock code for x86_64 and ppc64 architectures, converts the ppc/ppc64 code into gcc inlines, and provides a better spinlock backoff algorithm on all architectures. Aside from being almost identical to the community 7.4 source code, this exact patch has been in use for awhile in Red Hat's RHEL3 RPMs, so I have pretty good confidence in it. Why bother, you ask? I'm taking pity on a couple of buildfarm members that have been vainly trying to build 7.3 on these 64-bit architectures.
2006-05-21Stamp releases 7.3.15, 7.4.13, and 8.0.8.Bruce Momjian
2006-05-21Add a new GUC parameter backslash_quote, which determines whether the SQLTom Lane
parser will allow "\'" to be used to represent a literal quote mark. The "\'" representation has been deprecated for some time in favor of the SQL-standard representation "''" (two single quote marks), but it has been used often enough that just disallowing it immediately won't do. Hence backslash_quote allows the settings "on", "off", and "safe_encoding", the last meaning to allow "\'" only if client_encoding is a valid server encoding. That is now the default, and the reason is that in encodings such as SJIS that allow 0x5c (ASCII backslash) to be the last byte of a multibyte character, accepting "\'" allows SQL-injection attacks as per CVE-2006-2314 (further details will be published after release). The "on" setting is available for backward compatibility, but it must not be used with clients that are exposed to untrusted input. Thanks to Akio Ishida and Yasuo Ohgaki for identifying this security issue.
2006-05-21Change the backend to reject strings containing invalidly-encoded multibyteTom Lane
characters in all cases. Formerly we mostly just threw warnings for invalid input, and failed to detect it at all if no encoding conversion was required. The tighter check is needed to defend against SQL-injection attacks as per CVE-2006-2313 (further details will be published after release). Embedded zero (null) bytes will be rejected as well. The checks are applied during input to the backend (receipt from client or COPY IN), so it no longer seems necessary to check in textin() and related routines; any string arriving at those functions will already have been validated. Conversion failure reporting (for characters with no equivalent in the destination encoding) has been cleaned up and made consistent while at it. Also, fix a few longstanding errors in little-used encoding conversion routines: win1251_to_iso, win866_to_iso, euc_tw_to_big5, euc_tw_to_mic, mic_to_euc_tw were all broken to varying extents. Patches by Tatsuo Ishii and Tom Lane. Thanks to Akio Ishida and Yasuo Ohgaki for identifying the security issues.
2006-02-12Stamp releases for 2006-02-14 releaseBruce Momjian
2006-01-12Repair "Halloween problem" in EvalPlanQual: a tuple that's been inserted byTom Lane
our own command (or more generally, xmin = our xact and cmin >= current command ID) should not be seen as good. Else we may try to update rows we already updated. This error was inserted last August while fixing the even bigger problem that the old coding wouldn't see *any* tuples inserted by our own transaction as good. Per report from Euler Taveira de Oliveira.
2006-01-05Stamp release 7.3.13.Bruce Momjian
2006-01-05Arrange to set the LC_XXX environment variables to match our locale setup.Tom Lane
Back-patch of previous fix in HEAD for plperl-vs-locale issue.
2006-01-05Add port support for unsetenv() in back branches. Needed for localeTom Lane
environment fix.
2005-12-09Stamp 7.3.12.REL7_3_12Tom Lane
2005-10-03Stamp release 7.3.11.REL7_3_11Tom Lane
2005-08-26Back-patch fixes for problems with VACUUM destroying t_ctid chains too soon,Tom Lane
and with insufficient paranoia in code that follows t_ctid links. This patch covers the 7.3 branch.
2005-07-18MemSet() must not cast its pointer argument to int32* until after it hasTom Lane
checked that the pointer is actually word-aligned. Casting a non-aligned pointer to int32* is technically illegal per the C spec, and some recent versions of gcc actually generate bad code for the memset() when given such a pointer. Per report from Andrew Morrow.
2005-06-02Push enable/disable of notify and catchup interrupts all the way downTom Lane
to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com.
2005-05-05Stamp release 7.3.10.Tom Lane
2005-01-30Stamp release 7.3.9.Tom Lane
2005-01-23The result of a FULL or RIGHT join can't be assumed to be sorted by theTom Lane
left input's sorting, because null rows may be inserted at various points. Per report from Ferenc Lutischá¸n.
2004-10-22Stamp release 7.3.8.REL7_3_8Tom Lane
2004-08-15Stamp 7.3.7.Tom Lane
2004-08-11Fix failure to guarantee that a checkpoint will write out pg_clog updatesTom Lane
for transaction commits that occurred just before the checkpoint. This is an EXTREMELY serious bug --- kudos to Satoshi Okada for creating a reproducible test case to prove its existence.
2004-03-02Brand 7.3.6.REL7_3_6Tom Lane
2003-12-02Brand 7.3.5.REL7_3_5Tom Lane
2003-11-30Back-patch fix to cause stats processes to detach from shared memory,Tom Lane
so that they do not prevent the postmaster from deleting the shmem segment during crash recovery.
2003-07-23Stamp 7.3.4 release.Bruce Momjian
2003-05-22Brand 7.3.3.Tom Lane
2003-04-17Fix abstime-to-time cast function, which has had broken implementationTom Lane
since 7.2, per bug #947. Turns out it had wrong volatility label, too. Can't force initdb in 7.3 branch, but fix anyway for future installs.
2003-04-04Back-patch changes to validate page header fields immediately afterTom Lane
reading in any page. Also back-port the zero_damaged_pages boolean that determines what to do about it.
2003-03-27GetTupleForTrigger must use outer transaction's command counter for timeTom Lane
qual checking, not GetCurrentCommandId. Per test case from Steve Wolfe.
2003-03-14Repair incorrect prorettype entry for timestamptz_izone. Can't forceTom Lane
initdb in the 7.3 branch, but we can at least make it right for people who install 7.3.3 from scratch.
2003-03-06Tweak dependency code to suppress NOTICEs generated by new method forTom Lane
cleaning out temp namespaces. We don't really want the server log to be cluttered with 'Drop cascades to table foo' every time someone uses a temp table...
2003-02-20Fix timestamptz_in so that parsing of 'now'::timestamptz gives rightTom Lane
answer when SET TIMEZONE has been done since the start of the current transaction. Per bug report from Robert Haas. I plan some futher cleanup in HEAD, but this is a low-risk patch for the immediate issue in 7.3.
2003-02-19Back patch for GUC client_encoding variable not being handledTatsuo Ishii
correctly. However the patch for PostgresPollingStatusType() is not included to avoid 7.3 libpq vs. pre-7.3 backend compatibility problem. See following thread for more details. Subject: [HACKERS] client_encoding directive is ignored in postgresql.conf From: Tatsuo Ishii <t-ishii@sra.co.jp> Date: Wed, 29 Jan 2003 22:24:04 +0900 (JST)
2003-02-07Revise mechanism for getting rid of temp tables at backend shutdown.Tom Lane
Instead of grovelling through pg_class to find them, make use of the handy dandy dependency mechanism: just delete everything that depends on our temp schema. Unlike the pg_class scan, the dependency mechanism is smart enough to delete things in an order that doesn't fall foul of any dependency restrictions. Fixes problem reported by David Heggie: a temp table with a serial column may cause a backend FATAL exit at shutdown time, if it chances to try to delete the temp sequence first.
2003-02-02Brand 7.3.2.Tom Lane
2003-01-29Repair array subscript overrun identified by Yichen Xie. Reduce theTom Lane
value of MAX_TIME_PRECISION in floating-point-timestamp-storage case from 13 to 10, which is as much as time_out is actually willing to print. (The alternative of increasing the number of digits we are willing to print looks risky; we might find ourselves printing roundoff garbage.)
2003-01-23Change CREATE TABLE AS / SELECT INTO to create the new table with OIDs,Tom Lane
for backwards compatibility with pre-7.3 behavior. Per discussion on pgsql-general and pgsql-hackers.
2003-01-21Fix coredump problem in plpgsql's RETURN NEXT. When a SELECT INTOTom Lane
that's selecting into a RECORD variable returns zero rows, make it assign an all-nulls row to the RECORD; this is consistent with what happens when the SELECT INTO target is not a RECORD. In support of this, tweak the SPI code so that a valid tuple descriptor is returned even when a SPI select returns no rows.
2003-01-16Repair an embarrassingly large number of alphabetization mistakes in theTom Lane
datetime token tables. Even more embarrassing, the regression tests revealed some of the problems --- but evidently the bogus output wasn't questioned. Add code to postmaster startup to directly check the tables for correct ordering, in hopes of not being embarrassed like this again.
2003-01-08Repair bug noticed by Deepak Bhole: a shell type should have a dependencyTom Lane
on its namespace, so that it will go away if the schema is dropped.
2003-01-08Fix for bug #866. 7.3 contains new logic for avoiding redundant calls toTom Lane
the index AM when we know we are fetching a unique row. However, this logic did not consider the possibility that it would be asked to fetch backwards. Also fix mark/restore to work correctly in this scenario.
2003-01-01Awhile back I wrote that freebsd.h was probably broken in the places whereTom Lane
it diverged from netbsd.h and openbsd.h. This has now been confirmed. Accordingly, make all three exactly alike.
2002-12-18Stamp 7.3.1.Bruce Momjian
2002-12-16Fix ALTER TABLE ADD COLUMN to disallow the same column types that areTom Lane
disallowed by CREATE TABLE (eg, pseudo-types); also disallow these types from being introduced by the range-function syntax. While at it, allow CREATE TABLE to create zero-column tables, per recent pghackers discussion. I am back-patching this into 7.3 since failure to disallow pseudo-types is arguably a security hole.
2002-12-05Allow 'password' encryption even when pg_shadow has MD5 passwords, perBruce Momjian
report from Terry Yapt and Hiroshi. Backpatch to 7.3.
2002-11-22TAS code originally written for s390 (32-bit) does not work for s390xTom Lane
(64-bit). Fix it. Per report from Permaine Cheung.
2002-11-18Put back error test for DECLARE CURSOR outside a transaction block ...Tom Lane
but do it correctly now.
2002-11-12Remove NO_MKTIME_BEFORE_1970. I had speculated that it was not neededTom Lane
anymore given the mktime() workaround now done in DetermineLocalTimeZone. This has now been confirmed by Robert Bruccoleri for Irix, and I'm going to extrapolate to AIX as well.
2002-11-08Back-patch changes to address Perl _GNU_SOURCE problem.Tom Lane
2002-11-02Remove encoding lookups from grammar stage, push them back to placesTom Lane
where it's safe to do database access. Along the way, fix core dump for 'DEFAULT' parameters to CREATE DATABASE. initdb forced due to change in pg_proc entry.