https://github.com/postgres/postgres

sort by:
Revision Author Date Message Commit Date
e82858f Release-note updates and copy editing. 06 January 2006, 03:00:20 UTC
5d0def8 Fix Windows-only postmaster code to reject a connection request and continue, rather than elog(FATAL), when there is no more room in ShmemBackendArray. This is a security issue since too many connection requests arriving close together could cause the postmaster to shut down, resulting in denial of service. Reported by Yoshiyuki Asaba, fixed by Magnus Hagander. 06 January 2006, 02:58:40 UTC
2401122 Generate back-branch configure scripts with the appropriate version of autoconf. 06 January 2006, 02:30:52 UTC
a2dca8e Convert Assert checking for empty page into a regular test and elog. The consequences of overwriting a non-empty page are bad enough that we should not omit this test in production builds. 06 January 2006, 00:16:09 UTC
718d323 Fix ReadBuffer() to correctly handle the case where it's trying to extend the relation but it finds a pre-existing valid buffer. The buffer does not correspond to any page known to the kernel, so we *must* do smgrextend to ensure that the space becomes allocated. The 7.x branches all do this correctly, but the corner case got lost somewhere during 8.0 bufmgr rewrites. (My fault no doubt :-( ... I think I assumed that such a buffer must be not-BM_VALID, which is not so.) 06 January 2006, 00:04:33 UTC
0add52b New pgcrypto item wording. 05 January 2006, 15:18:29 UTC
240fb6d Wording improvements. 05 January 2006, 15:12:03 UTC
4011909 Improve markup. 05 January 2006, 14:53:18 UTC
748a71f Update release notes. 05 January 2006, 05:23:09 UTC
2a35aed Stamp relesae 8.0.6. 05 January 2006, 04:00:29 UTC
7179b96 Arrange to set the LC_XXX environment variables to match our locale setup. Back-patch of previous fix in HEAD for plperl-vs-locale issue. 05 January 2006, 00:55:07 UTC
6c2fa48 When the remote query result has a different number of columns than the local query specifies (e.g. in the FROM clause), throw an ERROR (instead of crashing). Fix for bug #2129 reported by Akio Iwaasa. 03 January 2006, 23:47:24 UTC
a559ef6 There is a signedness bug in Openwall gen_salt code that pgcrypto uses. This makes the salt space for md5 and xdes algorithms a lot smaller than it should be. Marko Kreen 03 January 2006, 23:46:44 UTC
bf6c87f Fix incorrect treatment of RL_PROMPT_START_IGNORE/RL_PROMPT_END_IGNORE, per http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=343616 via Martin Pitt. 03 January 2006, 23:32:40 UTC
dea775e Add checks to verify that a plpgsql function returning a rowtype is actually returning the rowtype it's supposed to return. Per reports from David Niblett and Michael Fuhr. 03 January 2006, 22:48:28 UTC
6b0e644 Remove DOS line endings ("\r\n") from several .po files. DOS line endings are inconsistent with the rest of the .po files, and apparently cause problems for Sun's cc. Per report on IRC from "bitvector2". 01 January 2006, 10:14:59 UTC
8af900f Index: src/pl/plpython/plpython.c =================================================================== RCS file: /Users/neilc/postgres/cvs_root/pgsql/src/pl/plpython/plpython.c,v retrieving revision 1.67 diff -c -r1.67 plpython.c *** src/pl/plpython/plpython.c 26 Dec 2005 04:28:48 -0000 1.67 --- src/pl/plpython/plpython.c 29 Dec 2005 16:54:57 -0000 *************** *** 2,8 **** * plpython.c - python as a procedural language for PostgreSQL * * This software is copyright by Andrew Bosma ! * but is really shameless cribbed from pltcl.c by Jan Weick, and * plperl.c by Mark Hollomon. * * The author hereby grants permission to use, copy, modify, --- 2,8 ---- * plpython.c - python as a procedural language for PostgreSQL * * This software is copyright by Andrew Bosma ! * but is really shamelessly cribbed from pltcl.c by Jan Wieck, and * plperl.c by Mark Hollomon. * * The author hereby grants permission to use, copy, modify, *************** *** 1996,2002 **** int i, rv; PLyPlanObject *plan; - char *nulls; MemoryContext oldcontext; if (list != NULL) --- 1996,2001 ---- *************** *** 2018,2024 **** if (nargs != plan->nargs) { char *sv; - PyObject *so = PyObject_Str(list); if (!so) --- 2017,2022 ---- *************** *** 2036,2048 **** oldcontext = CurrentMemoryContext; PG_TRY(); { ! nulls = palloc(nargs * sizeof(char)); for (i = 0; i < nargs; i++) { PyObject *elem, *so; - char *sv; elem = PySequence_GetItem(list, i); if (elem != Py_None) --- 2034,2045 ---- oldcontext = CurrentMemoryContext; PG_TRY(); { ! char *nulls = palloc(nargs * sizeof(char)); for (i = 0; i < nargs; i++) { PyObject *elem, *so; elem = PySequence_GetItem(list, i); if (elem != Py_None) *************** *** 2051,2070 **** if (!so) PLy_elog(ERROR, "function \"%s\" could not execute plan", PLy_procedure_name(PLy_curr_procedure)); ! sv = PyString_AsString(so); ! /* ! * FIXME -- if this elogs, we have Python reference leak ! */ ! plan->values[i] = ! FunctionCall3(&(plan->args[i].out.d.typfunc), ! CStringGetDatum(sv), ! ObjectIdGetDatum(plan->args[i].out.d.typioparam), ! Int32GetDatum(-1)); ! Py_DECREF(so); ! Py_DECREF(elem); nulls[i] = ' '; } else --- 2048,2073 ---- if (!so) PLy_elog(ERROR, "function \"%s\" could not execute plan", PLy_procedure_name(PLy_curr_procedure)); ! Py_DECREF(elem); ! PG_TRY(); ! { ! char *sv = PyString_AsString(so); ! plan->values[i] = ! FunctionCall3(&(plan->args[i].out.d.typfunc), ! CStringGetDatum(sv), ! ObjectIdGetDatum(plan->args[i].out.d.typioparam), ! Int32GetDatum(-1)); ! } ! PG_CATCH(); ! { ! Py_DECREF(so); ! PG_RE_THROW(); ! } ! PG_END_TRY(); + Py_DECREF(so); nulls[i] = ' '; } else 29 December 2005, 21:47:49 UTC
95da30b Fix long standing Asian multibyte charsets bug. See: Subject: [HACKERS] bugs with certain Asian multibyte charsets From: Tatsuo Ishii <ishii@sraoss.co.jp> To: pgsql-hackers@postgresql.org Date: Sat, 24 Dec 2005 18:25:33 +0900 (JST) for more details. 24 December 2005, 10:11:32 UTC
988fe9f Fix make_relative_path() to support cases where target_path and bin_path differ by more than the last directory component. Instead of insisting that they match up to the last component, accept whatever common prefix they have, and try to replace the non-matching part of bin_path with the non-matching part of target_path in the actual executable's path. In one way this is tighter than the old code, because it insists on a match to the part of bin_path we want to substitute for, rather than blindly stripping one directory component from the executable's path. Per gripe from Martin Pitt and subsequent discussion. 23 December 2005, 22:34:33 UTC
faefc81 Adjust string comparison so that only bitwise-equal strings are considered equal: if strcoll claims two strings are equal, check it with strcmp, and sort according to strcmp if not identical. This fixes inconsistent behavior under glibc's hu_HU locale, and probably under some other locales as well. Also, take advantage of the now-well-defined behavior to speed up texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise comparison and not bother with strcoll at all. NOTE: affected databases may need to REINDEX indexes on text columns to be sure they are self-consistent. 22 December 2005, 22:50:14 UTC
ba6e1b2 Fix word's length in pg_regexec call 21 December 2005, 13:08:14 UTC
1200fc5 Defend against crash while processing Describe Statement or Describe Portal messages, when client attempts to execute these outside a transaction (start one) or in a failed transaction (reject message, except for COMMIT/ROLLBACK statements which we can handle). Per report from Francisco Figueiredo Jr. 14 December 2005, 17:06:51 UTC
ec8c876 Fix a *different* problem with whole-row Vars afflicting 8.0 branch. This is a back-port of a fix made to markTargetListOrigin() on 2005-04-25. 14 December 2005, 16:30:20 UTC
4138c38 Translation updates 09 December 2005, 22:16:16 UTC
499dad0 Stamp 8.0.5. 09 December 2005, 20:49:38 UTC
9e12765 Add release notes for back branches (7.3 and up). Also minor improvements to 8.1.1 release notes. 09 December 2005, 20:40:38 UTC
bd760bf Documentation fix: s/event_object_name/event_object_table/g 08 December 2005, 20:45:26 UTC
929f852 Fix bgwriter's failure to release buffer pins and open files after an error. This probably explains bug #2099 and could also account for mysterious VACUUM hangups. 08 December 2005, 19:19:45 UTC
9a40b55 Fix stupid bug with sizeof 06 December 2005, 18:22:21 UTC
7563a16 In a nestloop inner indexscan, it's OK to use pushed-down baserestrictinfo clauses even if it's an outer join. This is a corner case since such clauses could only arise from weird OUTER JOIN ON conditions, but worth fixing. Per example from Ron at cheapcomplexdevices.com. 06 December 2005, 16:50:55 UTC
8178871 Add regression test to see if the min/max values of int8 convert correctly. 05 December 2005, 04:14:07 UTC
91ab1fe Fix out-of-order inclusion of -L switches from LDFLAGS on AIX and HPUX. Per example from Dirk Pirschel. 03 December 2005, 20:16:50 UTC
b0be566 Fix obsolete description of -h option, per Andreas Schmidt. 02 December 2005, 23:14:02 UTC
eeae797 Retry in FileRead and FileWrite if Windows returns ERROR_NO_SYSTEM_RESOURCES. Also add a retry for Unixen returning EINTR, which hasn't been reported as an issue but at least theoretically could be. Patch by Qingqing Zhou, some minor adjustments by me. 01 December 2005, 20:24:49 UTC
64c09ad Check for overflow in strtol() while parsing datetime inputs. Michael Fuhr. 01 December 2005, 17:56:54 UTC
a4a51d5 Rearrange code in pg_atoi() to avoid assuming that isspace() cannot change errno. No reported bugs here, but why take a chance? 30 November 2005, 23:10:34 UTC
f9bdaee - Made several variables "const char *" instead of "char *" as proposed by Qingqing Zhou <zhouqq@cs.toronto.edu>. - Replaced all strdup() calls by ECPGstrdup(). 30 November 2005, 12:51:07 UTC
acd3a4f Fix performance issue in exprTypmod(): for a COALESCE expression, it recursed twice on its first argument, leading to exponential time spent on a deep nest of COALESCEs ... such as a deeply nested FULL JOIN would produce. Per report from Matt Carter. 18 November 2005, 23:08:28 UTC
f583cbc Properly document return value of strpos(). 16 November 2005, 03:56:08 UTC
a99f293 Update error message and documentation for fsync test. 16 November 2005, 03:44:51 UTC
4bc4ce0 Update test_fsync to honor -f. Backpatch to 8.0.X. 16 November 2005, 01:34:11 UTC
c7d40ff Force the second argument of SUBSTRING(foo FOR bar) to be int4, to avoid surprising results when it's some other numeric type. This doesn't solve the generic problem of surprising implicit casts to text, but it's a low-impact way of making sure this particular case behaves sanely. Per gripe from Harald Fuchs and subsequent discussion. 13 November 2005, 19:12:05 UTC
55b5a42 When in transaction-aborted state, reject Bind message for portals containing anything but transaction-exiting commands (ROLLBACK etc). We already rejected Parse and Execute in such cases, so there seems little point in allowing Bind. This prevents at least an Assert failure, and probably worse things, since there's a lot of infrastructure that doesn't work when not in a live transaction. We can also simplify the Bind logic a bit by rejecting messages with a nonzero number of parameters, instead of the former kluge to silently substitute NULL for each parameter. Per bug #2033 from Joel Stevenson. 10 November 2005, 00:31:49 UTC
d70d39f Fix misspelling of 'listen_addresses', per Devrim. 09 November 2005, 17:44:22 UTC
39edcf5 Repair an error introduced by log_line_prefix patch: it is not acceptable to assume that the string pointer passed to set_ps_display is good forever. There's no need to anyway since ps_status.c itself saves the string, and we already had an API (get_ps_display) to return it. I believe this explains Jim Nasby's report of intermittent crashes in elog.c when %i format code is in use in log_line_prefix. While at it, repair a previously unnoticed problem: on some platforms such as Darwin, the string returned by get_ps_display was blank-padded to the maximum length, meaning that lock.c's attempt to append " waiting" to it never worked. 05 November 2005, 03:05:05 UTC
56f68ed Backpatch FAQ's for 8.0.X. 05 November 2005, 01:36:42 UTC
6d8476a Ensure that we only create one ConsoleCtrlHandler per psql process, so as to avoid performance issues and possible ultimate crash on long psql scripts. Per Merlin Moncure. 04 November 2005, 18:35:51 UTC
0c1a3f9 Fix incorrect header size macros 03 November 2005, 18:15:47 UTC
09048b9 Fix longstanding race condition in transaction log management: there was a very narrow window in which SimpleLruReadPage or SimpleLruWritePage could think that I/O was needed when it wasn't (and indeed the buffer had already been assigned to another page). This would result in an Assert failure if Asserts were enabled, and probably in silent data corruption if not. Reported independently by Jim Nasby and Robert Creager. I intend a more extensive fix when 8.2 development starts, but this is a reasonably low-impact patch for the existing branches. 03 November 2005, 00:23:43 UTC
0622b1d Provide a --no-locale option for pg_regress and a corresponding NOLOCALE=1 setting for the regression makefile, allowing Windows users to force locale settings since Windows does not get its locale from the environment. Per Petr Jelinek. 01 November 2005, 15:32:52 UTC
c3d5615 Properly update the 'group' flatfile when modifying the user, in case they were added to a group. Also fix visibility of our own changes when creating the group file. This fixes: test=> CREATE GROUP g1; CREATE GROUP test=> CREATE USER u1 IN GROUP g1; CREATE USER test=> \! cat /u/pg/data/global/pg_group "g1" "u1" test=> CREATE USER u2 IN GROUP g1; CREATE USER test=> \! cat /u/pg/data/global/pg_group "g1" "u1" "u2" test=> ALTER USER u2 RENAME TO u3; ALTER USER test=> \! cat /u/pg/data/global/pg_group "g1" "u1" "u3" [ this code does not exist in CVS head.] Per report from Dennis Vshivkov 26 October 2005, 13:43:28 UTC
8f03406 Update AIX FAQ, backpatch. 26 October 2005, 13:20:47 UTC
15b46f1 Fix longstanding bug that would sometimes let the planner generate a bad plan for an outer join; symptom is bogus error "RIGHT JOIN is only supported with merge-joinable join conditions". Problem was that select_mergejoin_clauses did its tests in the wrong order. We need to force left join not right join for a merge join when there are non-mergeable join clauses; but the test for this only accounted for mergejoinability of the clause operator, and not whether the left and right Vars were of the proper relations. Per report from Jean-Pierre Pelletier. 25 October 2005, 20:30:35 UTC
ea19eb9 Postpone pg_timezone_initialize() until after creation of postmaster.pid, since it can take a fair amount of time and this can confuse boot scripts that expect postmaster.pid to appear quickly. Move initialization of SSL library and preloaded libraries to after that point, too, just for luck. Per reports from Tony Caduto and others. 20 October 2005, 20:06:03 UTC
0929009 Prevent core dump in contrib version of autovacuum when a table has been dropped. Per report from daveg (not his patch, though). 20 October 2005, 16:14:39 UTC
fd5efff Back-patch fix for proper labeling of whole-row Datums generated from subquery results. 19 October 2005, 22:51:26 UTC
98658dd Pass a strdup'd ident string to openlog(), to ensure that reallocation of GUC memory doesn't cause us to start emitting a bogus ident string. Per report from Han Holl. Also some trivial code cleanup in write_syslog. 14 October 2005, 16:41:13 UTC
7df6dfd [ Backpatch to 8.0.X.] Also I fixed a bug in a bug fix I committed a few weeks ago. he check for a varchar pointer was incomplete. Michael Meskes 14 October 2005, 01:50:23 UTC
00de66a Fix longstanding bug found by Atsushi Ogawa: _bt_check_unique would mark the wrong buffer dirty when trying to kill a dead index entry that's on a page after the one it started on. No risk of data corruption, just inefficiency, but still a bug. 12 October 2005, 17:18:15 UTC
592ca3c Fix typo in sample pg_hba.conf; per IRC report from Bernhard Neuhauser. 11 October 2005, 22:59:11 UTC
d30c134 Fix oversight in 8.0 modification of RestrictInfo data structures. A RestrictInfo representing an OR clause now contains two versions of the contained expression, one with sub-RestrictInfos and one without. clause_selectivity() should descend to the version with sub-RestrictInfos so that it has a chance of caching its results for the OR's sub-clauses. Failing to do so resulted in redundant planner effort. 11 October 2005, 16:45:00 UTC
20f5a32 Backpatch merge_db() example for PL/PgSQL to 8.0. Patch from David Fetter, fixes by Neil Conway. 06 October 2005, 21:21:27 UTC
ce150c4 Update Japanese FAQ. Jun Kuwamura 05 October 2005, 11:51:27 UTC
b0db380 Update version number in faq. 05 October 2005, 11:27:10 UTC
2a3f44b Update FAQ's in 8.0.X branch. (very small changes) 04 October 2005, 14:18:43 UTC
610a7c6 Add FAQ_hungarian.html to 8.0.X branch. 04 October 2005, 14:17:44 UTC
3dfec7f COPY's test for read-only transaction was backward; it prohibited COPY TO where it should prohibit COPY FROM. Found by Alon Goldshuv. 03 October 2005, 23:43:29 UTC
73a71f5 Stamp release 8.0.4. 03 October 2005, 17:07:18 UTC
65ae842 Update release notes for pending back-branch releases. 03 October 2005, 16:04:51 UTC
e168406 Preserve tuple OIDs during ATRewriteTable. Per gripe from Duncan Crombie. 03 October 2005, 02:45:25 UTC
7aef1bf Repair planning bug introduced in 7.4: outer-join ON clauses that referenced only the inner-side relation would be considered as potential equijoin clauses, which is wrong because the condition doesn't necessarily hold above the point of the outer join. Per test case from Kevin Grittner (bug#1916). 28 September 2005, 21:17:24 UTC
92cdd00 Translation updates for the 8.0 branch 28 September 2005, 13:11:00 UTC
0326d70 Update Russian FAQ. Victor Vislobokov 28 September 2005, 11:33:42 UTC
341c339 Backpatch to 8.0.X: In several places PL/Python was calling PyObject_Str() and then PyString_AsString() without checking if the former had returned NULL to indicate an error. PyString_AsString() doesn't expect a NULL argument, so passing one causes a segmentation fault. This patch adds checks for NULL and raises errors via PLy_elog(), which prints details of the underlying Python exception. The patch also adds regression tests for these checks. All tests pass on my Solaris 9 box running HEAD and Python 2.4.1. 23 September 2005, 21:02:37 UTC
9516724 Update FAQ's in 8.0.X branch. 22 September 2005, 22:14:11 UTC
b3af584 Return proper value for psql -f filename failure if filename open fails. Backpatch to 8.0.X. 20 September 2005, 18:59:15 UTC
b4d107a Update Snowball. I have to update it because of old version doesn't available on Snowball's site and new version of stemmers can't be compiled with old interface. 15 September 2005, 11:56:58 UTC
8080e8e Ensure that any memory leaked during an error inside the bgwriter is recovered. I did not see any actual leak while testing this in CVS tip, but 8.0 definitely has a problem with leaking the space temporarily palloc'd by BufferSync(). In any case this seems a good idea to forestall similar problems in future. Per report from Arjen van der Meijden. 12 September 2005, 22:20:30 UTC
3926b6e Fix a mistake in the documentation for SPI_getbinval(), per Michael Fuhr. 12 September 2005, 18:49:08 UTC
39f2746 Fixed transaction command handling to not ignore savepoints and to correctly check for errors. 12 September 2005, 11:58:33 UTC
3e71145 Avoid changing stdin/stdout to binary mode on Windows unless that is really the source or destination of the archive. I think this will resolve recent complaints that password prompting is broken in pg_restore on Windows. Note that password prompting and reading from stdin is an unworkable combination on Windows ... but that was true anyway. 11 September 2005, 00:36:35 UTC
16acb8b Update regression tests for new USA timezone data. Mea culpa for not realizing that the regression tests could be affected. 08 September 2005, 16:49:18 UTC
694da28 Update timezone data files to release 2005m of the zic database. Among other changes, this reflects the recently passed change in USA daylight savings rules. 07 September 2005, 21:39:41 UTC
57fd3d2 Translation update 03 September 2005, 07:41:58 UTC
13ff51b Fix missing rows in query update a=.. where a... with GiST index on column 'a' 30 August 2005, 07:57:48 UTC
846ed05 Sigh, looks like you need '.set mips2' before you can access MIPS SYNC instruction. 29 August 2005, 00:41:44 UTC
9f70dce Add a SYNC instruction to the S_UNLOCK sequence for MIPS. 28 August 2005, 18:26:07 UTC
5677c28 Get the MIPS assembler syntax right. Also add a separate sync command; the reference I consulted yesterday said SC does a SYNC, but apparently this is not true on newer MIPS processors, so be safe. 27 August 2005, 16:22:58 UTC
9a6f363 Fix typo: sql_information_info -> sql_implementation_info Robert Treat 27 August 2005, 14:13:31 UTC
51aebb0 Another try at the inlined MIPS spinlock code. Can't test this myself, but for sure it's not any more broken than the prior version. 26 August 2005, 22:04:53 UTC
8c3cf25 Back-port recent MIPS and M68K spinlock improvements to 8.0 branch. 26 August 2005, 14:48:13 UTC
08e12b8 Back-patch fixes for problems with VACUUM destroying t_ctid chains too soon, and with insufficient paranoia in code that follows t_ctid links. This patch covers the 8.0 branch. 25 August 2005, 19:45:06 UTC
5576a61 - Check for NULL before checking whether argument is an array. - Removed stray character from string quoting. - Fixed check to report missing varchar pointer implementation. 24 August 2005, 10:35:12 UTC
9b4296a Fix broken lrand48() implementation, per Merlin Moncure. 23 August 2005, 13:31:19 UTC
01bc28d Invoke mksafefunc and mkunsafefunc with :: decoration. This seems a good idea on consistency grounds, whether or not it really fixes bug #1831. Michael Fuhr 20 August 2005, 19:19:31 UTC
f468542 Remove unnecessary configure test for inet_ntop(), per Andrew Dunstan. 17 August 2005, 20:20:22 UTC
96fc1a4 Reject operator names >= NAMEDATALEN characters. These will not work anyway, and in assert-enabled builds you are likely to get an assertion failure. Backpatch as far as 7.3; 7.2 seems not to have the problem. 16 August 2005, 00:48:29 UTC
ab64863 array_in() and array_recv() need to be more paranoid about validating their OID parameter. It was possible to crash the backend with select array_in('{123}',0,0); because that would bypass the needed step of initializing the workspace. These seem to be the only two places with a problem, though (record_in and record_recv don't have the issue, and the other array functions aren't depending on user-supplied input). Back-patch as far as 7.4; 7.3 does not have the bug. 15 August 2005, 19:40:43 UTC
497f118 int_array_enum function should be using fcinfo->flinfo->fn_extra for working state, not fcinfo->context. Silly oversight on my part in last go-round of fixes. 15 August 2005, 19:05:30 UTC
0c9f005 This patch fixes the event type used to log output from the stderr-in-service or output-from-syslogger-in-service code. Previously everything was flagged as ERRORs there, which caused all instances to log "LOG: logger shutting down" as error... Please apply for 8.1. I'd also like it considered for 8.0 since logging non-errors as errors can be cause for alarm amongst people who actually look at their logs... Magnus Hagander 12 August 2005, 21:38:00 UTC
back to top