summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2005-07-04Fix date_trunct for December dates that are in the next year, e.g.:Bruce Momjian
SELECT date_trunc('week', '2002-12-31'::date); Backpatch to 8.0.X. Per report from Nick Johnson.
2005-07-03Fix memory leak in plperl_hash_from_tuple(), per report from Jean-Max Reymond.Tom Lane
2005-06-27Modify pg_dump to assume that a check constraint is inherited if itsTom Lane
name matches the name of any parent-table constraint, without looking at the constraint text. This is a not-very-bulletproof workaround for the problem exhibited by Berend Tober last month. We really ought to record constraint inheritance status in pg_constraint, but it's looking like that may not get done for 8.1 --- and even if it does, we will need this kluge for dumping from older servers.
2005-06-25Force a checkpoint before committing a CREATE DATABASE command. ThisTom Lane
should fix the recent reports of "index is not a btree" failures, as well as preventing a more obscure race condition involving changes to a template database just after copying it with CREATE DATABASE.
2005-06-25Fix ancient memory leak in index_create(): RelationInitIndexAccessInfoTom Lane
was being called twice in normal operation, leading to a leak of one set of relcache subsidiary info. Per report from Jeff Gold.
2005-06-22Correct some code in pg_restore when reading the header of a tar archive:Neil Conway
(1) The code doesn't initialize `sum', so the initial "does the checksum match?" test is wrong. (2) The loop that is intended to check for a "null block" just checks the first byte of the tar block 512 times, rather than each of the 512 bytes one time (!), which I'm guessing was the intent. It was only through sheer luck that this worked in the first place. Per Coverity static analysis performed by EnterpriseDB.
2005-06-21Fix a potential backend crash during authentication when parsing aNeil Conway
malformed ident map file. This was introduced by the linked list rewrite in 8.0 -- mea maxima culpa. Per Coverity static analysis performed by EnterpriseDB.
2005-06-20exec_eval_datum leaks memory when dealing with ROW or REC values.Tom Lane
It never leaked memory before PG 8.0, so none of the callers are expecting this. Cleanest fix seems to be to make it allocate the needed memory in estate->eval_econtext, where it will be cleaned up by the next exec_eval_cleanup. Per report from Bill Rugolsky.
2005-06-20plpgsql's exec_assign_value() freed the old value of a variable beforeTom Lane
copying/converting the new value, which meant that it failed badly on "var := var" if var is of pass-by-reference type. Fix this and a similar hazard in exec_move_row(); not sure that the latter can manifest before 8.0, but patch it all the way back anyway. Per report from Dave Chapeskie.
2005-06-18When using C-string lookup keys in a dynahash.c hash table, use strncpy()Tom Lane
not memcpy() to copy the offered key into the hash table during HASH_ENTER. This avoids possible core dump if the passed key is located very near the end of memory. Per report from Stefan Kaltenbrunner.
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-07Use just NULL not NULL::TEXT --- the latter coding is unnecessary andTom Lane
not schema-safe. Per report from Jochem van Dieten.
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-02Added patch by Gavin Scott <gavin@planetacetech.com> for Intel 64bit hardware.Michael Meskes
[One half already was committed with the last commit.]
2005-06-02Fixed memory leak in ecpglib by adding some missing free() commands.Michael Meskes
2005-06-01Fix log_statement to properly recognize SELECT INTO and CREATE TABLE ASBruce Momjian
and DDL statements. Backpatch fix to 8.0.X. Per report from Murthy Kambhampaty
2005-06-01patternsel() was improperly stripping RelabelType from the derivedTom Lane
expressions it constructed, causing scalarineqsel to become confused if the underlying variable was of a domain type. Per report from Kevin Grittner.
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-23Fix typo in PL/Perl Safe.pm initialization that prevented the properNeil Conway
sharing of %_SHARED. From Andrew Dunstan.
2005-05-17Guard against duplicate IDs in input file in SortTocFromFile().Tom Lane
Per report from Brian Hackett.
2005-05-13Add -N make flag to bcc builds from /src dir.Bruce Momjian
2005-05-13Fix bug in COPY CSV mode: handle consecutive embedded newlines in COPYNeil Conway
input. Also add a regression test for this bug. From Andrew Dunstan.
2005-05-08Update release checklist to reflect that HISTORY and INSTALL don'tTom Lane
need to be created by hand anymore.
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 8.0.3.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
Jason Erickson
2005-05-04Use postmaster_is_alive() check in pg_ctl restart as well as pg_ctl status,Tom Lane
so that restart doesn't fail when old postmaster died unbetimes.
2005-05-04Spell DELIMITER correctly, per Seamus Dean.Tom Lane
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-05-03Fix a whitespace problem. From Alvaro Herrera.Dennis Bjorklund
2005-04-30Make record_out and record_send extract type information from the passedTom Lane
record object itself, rather than relying on a second OID argument to be correct. This patch just changes the function behavior and not the catalogs, so it's OK to back-patch to 8.0. Will remove the now-redundant second argument in pg_proc in a separate patch in HEAD only.
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-29Improve cleanup from win32 client-only build.Bruce Momjian
2005-04-29Backpatch BCC compile changes to 8.0.X for psql.Bruce Momjian
2005-04-29Fix Borland makefile for libpq and improve it for psql.Bruce Momjian
Reorder MSC makefile to be more consistent and easier to maintain.
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-20Make pg_ctl status do a kill() test to verify that the PID found inTom Lane
postmaster.pid still represents a live postmaster.