aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* int_array_enum function should be using fcinfo->flinfo->fn_extra forTom Lane2005-08-15
| | | | | working state, not fcinfo->context. Silly oversight on my part in last go-round of fixes.
* Fix count_usable_fds() to stop trying to open files once it reachesTom Lane2005-08-07
| | | | | | max_files_per_process. Going further than that is just a waste of cycles, and it seems that current Cygwin does not cope gracefully with deliberately running the system out of FDs. Per Andrew Dunstan.
* MemSet() must not cast its pointer argument to int32* until after it hasTom Lane2005-07-18
| | | | | | | 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.
* Make pg_regress accept a command-line option for the temporary installation'sTom Lane2005-07-17
| | | | | | | port number, and use a default value for it that is dependent on the configuration-time DEF_PGPORT. Should make the world safe for running parallel 'make check' in different branches. Back-patch as far as 7.4 so that this actually is useful.
* Back-patch recent changes to alter the order of -L flags inserted fromTom Lane2005-07-17
| | | | | LDFLAGS versus those built into the Makefiles. This looks like it will fix several buildfarm failures in the back branches.
* ecpglib depends on last_path_separator from src/port/path.c, so we'dTom Lane2005-07-16
| | | | | better include that in the library build. This was fixed in 8.0 and later, backport to 7.4 to fix buildfarm failure.
* Back-patch 8.0's tightening of ORDER BY clauses in join regression test,Tom Lane2005-07-16
| | | | | in hopes of eliminating buildfarm regression failure. (Not clear if we will need a join_1.out variant in this branch.)
* cube_1 variant is needed in 7.4 branch, per results from buildfarmTom Lane2005-07-16
| | | | machine 'kudu'.
* The geometry_2 variant appears to be needed in 7.4 branch as well asTom Lane2005-07-16
| | | | later, per results from buildfarm member 'wallaroo'.
* Fix bogus "extern int errno;" in back branches, per Andrew Dunstan.Tom Lane2005-07-16
|
* Fix mis-backport of libpq memory leak fix. Per Michael Fuhr.Tom Lane2005-07-14
|
* Fix libpq memory leak during PQreset() --- closePGconn() was notTom Lane2005-07-13
| | | | freeing all transient state of the PGconn object.
* Make libpq_gettext save and restore errno in a Windows-compatible way.Tom Lane2005-07-08
| | | | Also, back-patch fix into back branches.
* Fix ancient memory leak in index_create(): RelationInitIndexAccessInfoTom Lane2005-06-25
| | | | | was being called twice in normal operation, leading to a leak of one set of relcache subsidiary info. Per report from Jeff Gold.
* Correct some code in pg_restore when reading the header of a tar archive:Neil Conway2005-06-22
| | | | | | | | | | | | | (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.
* plpgsql's exec_assign_value() freed the old value of a variable beforeTom Lane2005-06-20
| | | | | | | 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.
* When using C-string lookup keys in a dynahash.c hash table, use strncpy()Tom Lane2005-06-18
| | | | | | 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.
* Translation updatesPeter Eisentraut2005-06-17
|
* The random selection in function linear() could deliver a value equal to maxTom Lane2005-06-14
| | | | | | | 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.
* Fix bug in MIC -> EUC_JP conversion. Per Atsushi Ogawa.Tatsuo Ishii2005-06-11
|
* Repair error in description of nonblocking usage of PQgetCopyData().Tom Lane2005-06-09
| | | | Per Volkan Yazici.
* Code for SET/SHOW TIME ZONE with a fixed-interval timezone was notTom Lane2005-06-05
| | | | prepared for HAVE_INT64_TIMESTAMP. Per report from Guillaume Beaudoin.
* Push enable/disable of notify and catchup interrupts all the way downTom Lane2005-06-02
| | | | | | | 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.
* Fixed memory leak in ecpglib by adding some missing free() commands.Michael Meskes2005-06-02
|
* Prevent to divide by zero and range out of 0..1Teodor Sigaev2005-06-01
|
* Add test to WAL replay to verify that xl_prev points back to the previousTom Lane2005-05-31
| | | | | 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.
* expandRTE and get_rte_attribute_type mistakenly always imputed typmod -1Tom Lane2005-05-29
| | | | | | 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.
* Adjust datetime parsing to be more robust. We now pass the length of theNeil Conway2005-05-26
| | | | | | | | | | | | | | | 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.
* Translation updatesPeter Eisentraut2005-05-25
|
* Fix previous patch to exprTypmod.Tatsuo Ishii2005-05-25
|
* Inserting 5 characters into char(10) does not produce 5 padding spacesTatsuo Ishii2005-05-24
| | | | | | 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.
* Previous fix for "x FULL JOIN y ON true" failed to handle the caseTom Lane2005-05-24
| | | | | | | 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.
* Guard against duplicate IDs in input file in SortTocFromFile().Tom Lane2005-05-17
| | | | Per report from Brian Hackett.
* Update release notes for upcoming re-releases.REL7_4_8Tom Lane2005-05-09
|
* Update release checklist to reflect that HISTORY and INSTALL don'tTom Lane2005-05-08
| | | | need to be created by hand anymore.
* In Blob.getBytes(long position, int length) position is an offsetKris Jurka2005-05-08
| | | | | | starting at 1, not zero as the driver was previously doing. Thanks to Emmanuel Bernard for the report.
* Repair very-low-probability race condition between relation extensionTom Lane2005-05-07
| | | | | | | | 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.
* Adjust time qual checking code so that we always check TransactionIdIsInProgressTom Lane2005-05-07
| | | | | | | 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.
* Stamp release 7.4.8.Tom Lane2005-05-05
|
* Make standalone backends ignore pg_database.datallowconn, so that thereTom Lane2005-05-05
| | | | is a way to recover from disabling connections to all databases at once.
* Add WSACleanup() for Win32 socket cleanup.Bruce Momjian2005-05-05
| | | | | | Backpatch to 7.4.X. Jason Erickson
* Alter the signature for encoding conversion functions to declare theTom Lane2005-05-03
| | | | | | 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.
* Change tsearch2 to not use the unsafe practice of creating functionsTom Lane2005-05-03
| | | | | | | | 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 :-(
* GCC 4.0 includes a new warning option, -Wformat-literal, that emitsNeil Conway2005-04-30
| | | | | | | | | | | | | | | 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.
* This patch fixes a bug in the error message emitted by pg_restore on anNeil Conway2005-04-30
| | | | | incorrect -F argument: write_msg() expects its first parameter to be a "module name", not the format string.
* Repair two TIME WITH TIME ZONE bugs found by Dennis Vshivkov. ComparisonTom Lane2005-04-23
| | | | | | | 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).
* int_aggregate's int_enum() doesn't work correctly with arrays thatTom Lane2005-04-23
| | | | | aren't 1-D, so give an error message instead of failing. Per report from Ron Mayer.
* Release build 216.Kris Jurka2005-04-22
|
* Updatable ResultSets need to check for an empty ResultSet becauseKris Jurka2005-04-22
| | | | | | | | | 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.
* When moveToCurrentRow is called and the current row is off theKris Jurka2005-04-22
| | | | | | | 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.