summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2005-06-17Translation updatesPeter Eisentraut
2005-06-14The random selection in function linear() could deliver a value equal to maxTom Lane
if geqo_rand() returns exactly 1.0, resulting in failure due to indexing off the end of the pool array. Also, since this is using inexact float math, it seems wise to guard against roundoff error producing values slightly outside the expected range. Per report from bug@zedware.org.
2005-06-11Fix bug in MIC -> EUC_JP conversion. Per Atsushi Ogawa.Tatsuo Ishii
2005-06-05Code for SET/SHOW TIME ZONE with a fixed-interval timezone was notTom Lane
prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin.
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-06-02Fixed memory leak in ecpglib by adding some missing free() commands.Michael Meskes
2005-05-31Add test to WAL replay to verify that xl_prev points back to the previousTom Lane
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.
2005-05-29expandRTE and get_rte_attribute_type mistakenly always imputed typmod -1Tom Lane
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.
2005-05-26Adjust datetime parsing to be more robust. We now pass the length of theNeil Conway
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.
2005-05-25Translation updatesPeter Eisentraut
2005-05-25Fix previous patch to exprTypmod.Tatsuo Ishii
2005-05-24Inserting 5 characters into char(10) does not produce 5 padding spacesTatsuo Ishii
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.
2005-05-24Previous fix for "x FULL JOIN y ON true" failed to handle the caseTom Lane
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.
2005-05-17Guard against duplicate IDs in input file in SortTocFromFile().Tom Lane
Per report from Brian Hackett.
2005-05-08Update release checklist to reflect that HISTORY and INSTALL don'tTom Lane
need to be created by hand anymore.
2005-05-08In Blob.getBytes(long position, int length) position is an offsetKris Jurka
starting at 1, not zero as the driver was previously doing. Thanks to Emmanuel Bernard for the report.
2005-05-07Repair very-low-probability race condition between relation extensionTom Lane
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.
2005-05-07Adjust time qual checking code so that we always check TransactionIdIsInProgressTom Lane
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.
2005-05-05Stamp release 7.4.8.Tom Lane
2005-05-05Make standalone backends ignore pg_database.datallowconn, so that thereTom Lane
is a way to recover from disabling connections to all databases at once.
2005-05-05Add WSACleanup() for Win32 socket cleanup.Bruce Momjian
Backpatch to 7.4.X. Jason Erickson
2005-05-03Alter the signature for encoding conversion functions to declare theTom Lane
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.
2005-05-03Change tsearch2 to not use the unsafe practice of creating functionsTom Lane
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 :-(
2005-04-30GCC 4.0 includes a new warning option, -Wformat-literal, that emitsNeil Conway
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.
2005-04-30This patch fixes a bug in the error message emitted by pg_restore on anNeil Conway
incorrect -F argument: write_msg() expects its first parameter to be a "module name", not the format string.
2005-04-23Repair two TIME WITH TIME ZONE bugs found by Dennis Vshivkov. ComparisonTom Lane
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).
2005-04-22Release build 216.Kris Jurka
2005-04-22Updatable ResultSets need to check for an empty ResultSet becauseKris Jurka
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.
2005-04-22When moveToCurrentRow is called and the current row is off theKris Jurka
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.
2005-04-20Don't try to run clauseless index scans on index types that don't supportTom Lane
it. Per report from Marinos Yannikos.
2005-04-20Fix mis-display of negative fractional seconds in interval values forTom Lane
--enable-integer-datetimes case. Per report from Oliver Siegmar.
2005-04-18When positioned before the start of a ResultSet issuing relative(0)Kris Jurka
results in an exception being thrown when it really should be a no-op.
2005-04-14Don't try to constant-fold functions returning RECORD, since the optimizerTom Lane
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.
2005-04-10Make constant-folding produce sane output for COALESCE(NULL,NULL),Tom Lane
that is a plain NULL and not a COALESCE with no inputs. Fixes crash reported by Michael Williamson.
2005-04-04In cost_mergejoin, the early-exit effect should not apply to theTom Lane
outer side of an outer join. Per andrew@supernews.
2005-03-31Flush any remaining statistics counts out to the collector at processTom Lane
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.
2005-03-26Prevent to_char(interval) from dumping core on month-related formatsTom Lane
when a zero-month interval is given. Per discussion with Karel.
2005-03-24array_map can't use the fn_extra field of the provided fcinfo struct asTom Lane
its private storage, because that belongs to the function that it is supposed to call. Per report from Ezequiel Tolnay.
2005-03-12Fix ALTER DATABASE RENAME to allow the operation if user is a superuserTom Lane
who for some reason isn't marked usecreatedb. Per report from Alexander Pravking. Also fix sloppy coding in have_createdb_privilege().
2005-03-01Release proclock immediately in RemoveFromWaitQueue() if it representsTom Lane
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.
2005-02-19Ensure that the resolved datatype of any unknown Param is propagatedTom Lane
into the sub-SELECT targetlist when it appears in the context INSERT INTO foo SELECT $1 ... Per report from Abhijit Menon-Sen.
2005-02-14ALTER LANGUAGE RENAME has never worked. Per Sergey Yatskevich.Tom Lane
2005-02-10Back-patch fix for a typo that unintentionally disabled backward scansTom Lane
for all SPI-created cursors.
2005-02-08If we're gonna check for array overrun, we really should do so beforeTom Lane
overrunning the array, not after.
2005-02-07Prevent 4 more buffer overruns in the PL/PgSQL parser. This is just aNeil Conway
minimally-invasive fix for stable branches; a cleaner fix will be committed to HEAD soon.
2005-02-06Repair CLUSTER failure after ALTER TABLE SET WITHOUT OIDS. Turns outTom Lane
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.
2005-02-06Back-port heap_deformtuple() into 7.4 branch; needed for planned fix forTom Lane
CLUSTER failure after ALTER TABLE SET WITHOUT OIDS.
2005-01-30Stamp release 7.4.7.Tom Lane
2005-01-27Check that aggregate creator has the right to execute the transitionTom Lane
functions of the aggregate, at both aggregate creation and execution times.
2005-01-26Back-patch 8.0 version of plperl_hash_from_tuple() into prior releasesTom Lane
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.