https://github.com/postgres/postgres

sort by:
Revision Author Date Message Commit Date
fe88b20 Repair error in description of nonblocking usage of PQgetCopyData(). Per Volkan Yazici. 09 June 2005, 19:08:47 UTC
39c9398 Code for SET/SHOW TIME ZONE with a fixed-interval timezone was not prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin. 05 June 2005, 01:48:55 UTC
b38bcb2 Push enable/disable of notify and catchup interrupts all the way down 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. 02 June 2005, 21:04:08 UTC
e063240 Fixed memory leak in ecpglib by adding some missing free() commands. 02 June 2005, 12:50:30 UTC
1891938 Prevent to divide by zero and range out of 0..1 01 June 2005, 11:46:09 UTC
5205024 Add test to WAL replay to verify that xl_prev points back to the previous WAL record; this is necessary to be sure we recognize stale WAL records when a WAL page was only partially written during a system crash. 31 May 2005, 19:10:57 UTC
3c6bba3 expandRTE and get_rte_attribute_type mistakenly always imputed typmod -1 to columns of an RTE that was a function returning RECORD with a column definition list. Apparently no one has tried to use non-default typmod with a function returning RECORD before. 29 May 2005, 17:10:52 UTC
ab82f60 Adjust datetime parsing to be more robust. We now pass the length of the working buffer into ParseDateTime() and reject too-long input there, rather than checking the length of the input string before calling ParseDateTime(). The old method was bogus because ParseDateTime() can use a variable amount of working space, depending on the content of the input string (e.g. how many fields need to be NUL terminated). This fixes a minor stack overrun -- I don't _think_ it's exploitable, although I won't claim to be an expert. Along the way, fix a bug reported by Mark Dilger: the working buffer allocated by interval_in() was too short, which resulted in rejecting some perfectly valid interval input values. I added a regression test for this fix. 26 May 2005, 02:14:32 UTC
d1d5c0f Translation updates 25 May 2005, 08:32:14 UTC
05a07af Fix previous patch to exprTypmod. 25 May 2005, 02:13:48 UTC
de212f4 Inserting 5 characters into char(10) does not produce 5 padding spaces if they are two-byte multibyte characters. Same thing can be happen if octet_length(multibyte_chars) == n where n is char(n). Long standing bug since 7.3 days. Per report and fix from Yoshiyuki Asaba. 24 May 2005, 23:15:05 UTC
0a7b3a3 Previous fix for "x FULL JOIN y ON true" failed to handle the case where there was also a WHERE-clause restriction that applied to the join. The check on restrictlist == NIL is really unnecessary anyway, because select_mergejoin_clauses already checked for and complained about any unmergejoinable join clauses. So just take it out. 24 May 2005, 18:03:24 UTC
88c59ae Guard against duplicate IDs in input file in SortTocFromFile(). Per report from Brian Hackett. 17 May 2005, 17:30:53 UTC
103376e Update release notes for upcoming re-releases. 09 May 2005, 00:10:22 UTC
775fec1 Update release checklist to reflect that HISTORY and INSTALL don't need to be created by hand anymore. 08 May 2005, 23:34:32 UTC
43418e8 In Blob.getBytes(long position, int length) position is an offset starting at 1, not zero as the driver was previously doing. Thanks to Emmanuel Bernard for the report. 08 May 2005, 23:16:58 UTC
0053e29 Repair very-low-probability race condition between relation extension and VACUUM: in the interval between adding a new page to the relation and formatting it, it was possible for VACUUM to come along and decide it should format the page too. Though not harmful in itself, this would cause data loss if a third transaction were able to insert tuples into the vacuumed page before the original extender got control back. 07 May 2005, 21:33:21 UTC
501ec7b Adjust time qual checking code so that we always check TransactionIdIsInProgress before we check commit/abort status. Formerly this was done in some paths but not all, with the result that a transaction might be considered committed for some purposes before it became committed for others. Per example found by Jan Wieck. 07 May 2005, 21:23:02 UTC
26f64e4 Stamp release 7.4.8. 05 May 2005, 20:08:35 UTC
d9088d3 Make standalone backends ignore pg_database.datallowconn, so that there is a way to recover from disabling connections to all databases at once. 05 May 2005, 19:53:49 UTC
6067403 Add WSACleanup() for Win32 socket cleanup. Backpatch to 7.4.X. Jason Erickson 05 May 2005, 16:37:04 UTC
cff25fa Alter the signature for encoding conversion functions to declare the output area as INTERNAL not CSTRING. This is to prevent people from calling the functions by hand. This is a permanent solution for the back branches but I hope it is just a stopgap for HEAD. 03 May 2005, 19:18:31 UTC
308f01c Change tsearch2 to not use the unsafe practice of creating functions that return INTERNAL without also having INTERNAL arguments. Since the functions in question aren't meant to be called by hand anyway, I just redeclared them to take 'internal' instead of 'text'. Also add code to ProcedureCreate() to enforce the restriction, as I should have done to start with :-( 03 May 2005, 16:51:45 UTC
a935e36 GCC 4.0 includes a new warning option, -Wformat-literal, that emits a warning when a variable is used as a format string for printf() and similar functions (if the variable is derived from untrusted data, it could include unexpected formatting sequences). This emits too many warnings to be enabled by default, but it does flag a few dubious constructs in the Postgres tree. This patch fixes up the obvious variants: functions that are passed a variable format string but no additional arguments. Most of these are harmless (e.g. the ruleutils stuff), but there is at least one actual bug here: if you create a trigger named "%sfoo", pg_dump will read uninitialized memory and fail to dump the trigger correctly. 30 April 2005, 08:36:18 UTC
15ea6d5 This patch fixes a bug in the error message emitted by pg_restore on an incorrect -F argument: write_msg() expects its first parameter to be a "module name", not the format string. 30 April 2005, 08:00:55 UTC
3b15457 Repair two TIME WITH TIME ZONE bugs found by Dennis Vshivkov. Comparison of timetz values misbehaved in --enable-integer-datetime cases, and EXTRACT(EPOCH) subtracted the zone instead of adding it in all cases. Backpatch to all supported releases (except --enable-integer-datetime code does not exist in 7.2). 23 April 2005, 22:53:44 UTC
c7b94bb int_aggregate's int_enum() doesn't work correctly with arrays that aren't 1-D, so give an error message instead of failing. Per report from Ron Mayer. 23 April 2005, 05:39:01 UTC
5eed8ce Release build 216. 22 April 2005, 15:10:52 UTC
a44f990 Updatable ResultSets need to check for an empty ResultSet because isBeforeFirst and isAfterLast both return false for an empty result so the checking to make sure the user is on a valid row wasn't working. Also don't allow an insert without specifying at least one column value because INSERT INTO tab() values() is a syntax error. 22 April 2005, 14:48:18 UTC
f5517dd When moveToCurrentRow is called and the current row is off the end of the ResultSet we can't try to load that row because it doesn't exist and will throw an Exception. Reported by Prasanth. 22 April 2005, 14:36:48 UTC
08008de Don't try to run clauseless index scans on index types that don't support it. Per report from Marinos Yannikos. 20 April 2005, 21:48:22 UTC
387c398 Fix mis-display of negative fractional seconds in interval values for --enable-integer-datetimes case. Per report from Oliver Siegmar. 20 April 2005, 17:15:09 UTC
6091d62 Add comment about permissions on pg_ts* tables 19 April 2005, 13:59:06 UTC
e1d55f7 When positioned before the start of a ResultSet issuing relative(0) results in an exception being thrown when it really should be a no-op. 18 April 2005, 18:25:11 UTC
2a35291 Don't try to constant-fold functions returning RECORD, since the optimizer isn't presently set up to pass them an expected tuple descriptor. Bug has been there since 7.3 but was just recently reported by Thomas Hallgren. 14 April 2005, 21:44:35 UTC
2902876 Make constant-folding produce sane output for COALESCE(NULL,NULL), that is a plain NULL and not a COALESCE with no inputs. Fixes crash reported by Michael Williamson. 10 April 2005, 20:58:03 UTC
5c5c797 In cost_mergejoin, the early-exit effect should not apply to the outer side of an outer join. Per andrew@supernews. 04 April 2005, 01:43:33 UTC
3ea32d7 Flush any remaining statistics counts out to the collector at process exit. Without this, operations triggered during backend exit (such as temp table deletions) won't be counted ... which given heavy usage of temp tables can lead to pg_autovacuum falling way behind on the need to vacuum pg_class and pg_attribute. Per reports from Steve Crawford and others. 31 March 2005, 23:21:32 UTC
7d19650 Fix various comparing functions 31 March 2005, 15:12:08 UTC
12fa5c5 Prevent to_char(interval) from dumping core on month-related formats when a zero-month interval is given. Per discussion with Karel. 26 March 2005, 00:42:21 UTC
3e65431 array_map can't use the fn_extra field of the provided fcinfo struct as its private storage, because that belongs to the function that it is supposed to call. Per report from Ezequiel Tolnay. 24 March 2005, 21:51:04 UTC
b4fd104 Previous "64-bit fix" for intagg didn't actually work. This is already fixed properly in CVS tip, but we need a band-aid for back branches. Per report from Ron Mayer. 23 March 2005, 19:07:03 UTC
80fba0f Fix ALTER DATABASE RENAME to allow the operation if user is a superuser who for some reason isn't marked usecreatedb. Per report from Alexander Pravking. Also fix sloppy coding in have_createdb_privilege(). 12 March 2005, 21:12:18 UTC
2450224 Some builds (depends on crypto engine support?) of OpenSSL 0.9.7x have EVP_DigestFinal function which which clears all of EVP_MD_CTX. This makes pgcrypto crash in functions which re-use one digest context several times: hmac() and crypt() with md5 algorithm. Following patch fixes it by carring the digest info around EVP_DigestFinal and re-initializing cipher. Marko Kreen. 12 March 2005, 06:55:14 UTC
989a17a Prevent rank change in case of duplicate search terms 05 March 2005, 16:19:33 UTC
89dcff5 Release proclock immediately in RemoveFromWaitQueue() if it represents no held locks. This maintains the invariant that proclocks are present only for procs that are holding or awaiting a lock; when this is not true, LockRelease will fail. Per report from Stephen Clouse. 01 March 2005, 21:15:26 UTC
510f058 Document that only a table's owner may TRUNCATE it. Per Keith Worthington. 22 February 2005, 19:06:49 UTC
2df2c3d Ensure that the resolved datatype of any unknown Param is propagated into the sub-SELECT targetlist when it appears in the context INSERT INTO foo SELECT $1 ... Per report from Abhijit Menon-Sen. 19 February 2005, 19:33:42 UTC
42e386f ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich. 14 February 2005, 06:18:09 UTC
6d28a8f Back-patch fix for a typo that unintentionally disabled backward scans for all SPI-created cursors. 10 February 2005, 20:37:15 UTC
d60b1f5 If we're gonna check for array overrun, we really should do so before overrunning the array, not after. 08 February 2005, 18:22:11 UTC
5c057d4 Prevent 4 more buffer overruns in the PL/PgSQL parser. This is just a minimally-invasive fix for stable branches; a cleaner fix will be committed to HEAD soon. 07 February 2005, 03:55:28 UTC
3f8235b Repair CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. Turns out there are corner cases involving dropping toasted columns in which the previous coding would fail, too: the new version of the table might not have any TOAST table, but we'd still propagate possibly-wide values of dropped columns forward. 06 February 2005, 20:19:42 UTC
5bb3845 Back-port heap_deformtuple() into 7.4 branch; needed for planned fix for CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. 06 February 2005, 20:15:32 UTC
6508888 Recommend security@postgresql.org as the contact point for security-related bugs. 30 January 2005, 21:32:10 UTC
9c1bb68 Stamp release 7.4.7. 30 January 2005, 19:32:22 UTC
f361057 We haven't had a fixed limit on rule recursion depth since 7.3 ... but the documentation still said so. 29 January 2005, 23:46:16 UTC
ae8db9a Make sure contrib C functions are marked strict where needed. Kris Jurka 29 January 2005, 22:35:30 UTC
2fd184b Check that aggregate creator has the right to execute the transition functions of the aggregate, at both aggregate creation and execution times. 27 January 2005, 23:43:16 UTC
b9fccbb Now that I look at it, int_array_enum() didn't work either. 27 January 2005, 21:50:15 UTC
3393e65 Fix security and 64-bit issues in contrib/intagg. This code could stand to be rewritten altogether, but for now just stick a finger in the dike. 27 January 2005, 21:35:56 UTC
03a7dd0 Back-patch 8.0 version of plperl_hash_from_tuple() into prior releases to fix failure to cope with quote marks in field values; not to mention that it is shorter and faster. Per report from Charles Haron. 26 January 2005, 17:09:21 UTC
db78e53 Mark the text_soundex() function as "strict", to avoid crashing on NULL input. Also, may as well mark it "cacheable" as well. From Kris Jurka. 26 January 2005, 08:10:08 UTC
6508bf5 Disallow LOAD to non-superusers. Per report from John Heasman. 24 January 2005, 17:46:41 UTC
bb4b504 Fix memory leak in rtdosplit, per report from Clive Page. 24 January 2005, 02:48:15 UTC
dddc2af The result of a FULL or RIGHT join can't be assumed to be sorted by the left input's sorting, because null rows may be inserted at various points. Per report from Ferenc Lutischá¸n. 23 January 2005, 02:23:30 UTC
3b01217 Prevent overrunning a heap-allocated buffer if more than 1024 parameters to a refcursor declaration are specified. This is a minimally-invasive fix for the buffer overrun -- a more thorough cleanup will be checked into HEAD. 21 January 2005, 00:31:21 UTC
ce69fa9 Fix mapping infinite timestamp values to arbitrary dates. Report from Oliver Siegmar. 13 January 2005, 14:22:23 UTC
0c8b52b interval_out failed to mention 'ago' for negative intervals in SQL and GERMAN datestyles. Ancient bug reported by Terry Lee Tucker. 11 January 2005, 18:34:01 UTC
715a734 Avoid memory leakage during VACUUM FULL when an index expression or index predicate uses temporary memory for evaluation. Per example from Jean-Gerard Pailloncy. 23 December 2004, 22:42:32 UTC
b6c56b7 Make array_cat more paranoid about checking datatypes in empty arrays. 17 December 2004, 21:00:07 UTC
9ab182c array_map failed to insert correct result type in an empty array. Per example from Florian Pflug. 17 December 2004, 20:58:36 UTC
1d3ee97 Avoid generating excess (and illegal) parentheses around an aliased JOIN in prettyprint mode. Andreas Pflug 13 December 2004, 00:33:18 UTC
9206545 Back-patch copyOject fix for EXPLAIN/PREPARE. 13 December 2004, 00:17:52 UTC
79c1011 Translation update 11 December 2004, 20:08:49 UTC
b9f69d0 Translation update 11 December 2004, 19:51:53 UTC
de68155 Use StrNCpy not strncpy to fill hash key, to ensure the resulting key is null-terminated. I think this is not a real bug because the parser would always have truncated the identifier to NAMEDATALEN-1 already, but let's be safe. Per report from Klocwork. 03 December 2004, 21:26:52 UTC
8d424b3 Translation fix by Julien Cristau 03 December 2004, 19:52:10 UTC
6ba32b2 Teach regex_fixed_prefix() the correct handling of advanced regex escapes --- they aren't simply quoted characters. Problem noted by Antti Salmela. Also fix problem with incorrect handling of multibyte characters when followed by a quantifier. 02 December 2004, 02:45:24 UTC
d237a12 Fix timestamptz_age() to do calculation in local timezone not GMT, per bug 1332. 01 December 2004, 19:57:56 UTC
0b9f48d Avoid scribbling on original parsetree during DECLARE CURSOR. This prevents problems when the DECLARE is in a portal and is executed repeatedly, as is possible in v3 protocol. Per analysis by Oliver Jowett, though I didn't use his patch exactly. 28 November 2004, 22:16:49 UTC
f5778c6 Install Tcl regex fixes to sync our regex engine with Tcl 8.4.8 (up from 8.4.1). This corrects some curious regex bugs, though not the greediness issue I was hoping to find a solution for :-( 24 November 2004, 22:57:09 UTC
38929bc Our interface code for Spencer's regexp package was checking for regexp error conditions during regexp compile, but not during regexp execution; any sort of "can't happen" errors would be treated as no-match instead of being reported as they should be. Noticed while trying to duplicate a reported Tcl bug. 24 November 2004, 22:44:27 UTC
a007dd1 Back-patch fix for ALTER DATABASE failing to flush pg_database changes to disk right away. This is just a one-liner change rather than trying to use FlushRelationBuffers(). 18 November 2004, 01:19:40 UTC
aed7855 Fix off-by-one memory allocation, as reported by Rod Taylor. Also avoid repalloc'ing twice when once is sufficient. 17 November 2004, 19:54:34 UTC
b990232 Backpatch fix from HEAD: Prevent a backend crash when processing CREATE TABLE commands with more than 65K columns, or when the created table has more than 65K columns due to adding inherited columns from parent relations. Fix a similar crash when processing SELECT queries with more than 65K target list entries. In all three cases we would eventually detect the error and elog, but the check was being made too late. 17 November 2004, 00:18:26 UTC
a2e1b14 Translation update 16 November 2004, 22:49:24 UTC
143d152 List VALUE as a keyword. 10 November 2004, 13:49:17 UTC
176bb08 In PGSharedMemoryIsInUse, assume that EACCES indicates a shmem segment that is of no concern to us --- it must belong to a different userid, which means it is not a Postgres shmem segment (or at least, not one that is relevant to our data directory). I plan a more extensive fix in HEAD, but this is a simple change that prevents failure-to-reboot problems for single-postmaster installations. 09 November 2004, 20:35:16 UTC
3392959 Fix unportable code in SockAddr_cidr_mask: you can't assume that shifting left by full word width gives zero. Per bug report from Tyson Thomson. 08 November 2004, 01:54:58 UTC
5a57bec fixed bug in REVOKE statement cat_str only has 8 arguments 01 November 2004, 13:35:54 UTC
5328b5e New translations 30 October 2004, 08:22:17 UTC
61fbe85 Rearrange order of pre-commit operations: must close cursors before doing ON COMMIT actions. Per bug report from Michael Guerin. 29 October 2004, 22:20:03 UTC
c23f808 Translation update 27 October 2004, 11:52:05 UTC
7447537 Stamp release 7.4.6. 22 October 2004, 00:26:24 UTC
5b7e88d Prevent pg_ctl from being run as root. Since it uses configuration files owned by postgres, doing "pg_ctl start" as root could allow a privilege escalation attack, as pointed out by iDEFENSE. Of course the postmaster would fail, but we ought to fail a little sooner to protect sysadmins unfamiliar with Postgres. The chosen fix is to disable root use of pg_ctl in all cases, just to be confident there are no other holes. 22 October 2004, 00:24:27 UTC
25d1755 Update obsolete comments about COPY vs INSERT options, per Uwe Schroeder. 21 October 2004, 22:49:04 UTC
d06384c Correctly cast the return value of a CallableStatement when getShort is called. getByte presents a can't happen situation as no function can return a TINYINT because pg doesn't have an equivalent type. Make this throw an exception if we get to this point. Thanks to Christian Niles. 21 October 2004, 19:13:55 UTC
62a6019 Back-patch make_oidjoins_check security improvement. 21 October 2004, 17:12:19 UTC
2d46f0e Repair possible failure to update hint bits back to disk, per http://archives.postgresql.org/pgsql-hackers/2004-10/msg00464.php. I plan a more permanent fix in HEAD, but for the back branches it seems best to just touch the places that actually have a problem. 13 October 2004, 22:22:03 UTC
back to top