aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Backpatch fseeko fix for seeking from end of file.Bruce Momjian2005-08-12
|
* Fix crash when reading 'timezone = unknown' from postgresql.conf duringTom Lane2005-08-08
| | | | | SIGHUP; it's not OK for an assign_hook to return a non-malloc'd string. Problem was introduced during timezone library rewrite.
* 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.
* rmtree() reported the wrong pathname if final rmdir failed.Tom Lane2005-08-02
|
* Back-port several small portability fixes to get contrib buildingTom Lane2005-08-02
| | | | cleanly on AIX in the 8.0 branch. Rocco Altier
* Back-patch fix for NOT-below-a-NOT case.Tom Lane2005-07-29
|
* Avoid crashing pg_dump if we can't connect to the database server, andNeil Conway2005-07-27
| | | | no database has been explicitly specified. Per gripe from Omar Kilani.
* Fix compare_fuzzy_path_costs() to behave a bit more sanely. The originalTom Lane2005-07-22
| | | | | | | | | | coding would ignore startup cost differences of less than 1% of the estimated total cost; which was OK for normal planning but highly not OK if a very small LIMIT was applied afterwards, so that startup cost becomes the name of the game. Instead, compare startup and total costs fuzzily but independently. This changes the plan selected for two queries in the regression tests; adjust expected-output files for resulting changes in row order. Per reports from Dawid Kuroczko and Sam Mason.
* Back-patch fix for erroneous backslashing of LIKE pattern.Tom Lane2005-07-18
|
* 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.
* Check for out-of-range varoattno in deparse_context_for_subplan.Tom Lane2005-07-15
| | | | | | | I have seen this case in CVS tip due to new "physical tlist" optimization for subqueries. I believe it probably can't happen in existing releases, but the check is not going to hurt anything, so backpatch to 8.0 just in case.
* Fix overenthusiastic optimization of 'x IN (SELECT DISTINCT ...)' and relatedTom Lane2005-07-15
| | | | | | | cases: we can't just consider whether the subquery's output is unique on its own terms, we have to check whether the set of output columns we are going to use will be unique. Per complaint from Luca Pireddu and test case from Michael Fuhr.
* Fix libpq memory leak during PQreset() --- closePGconn() was notTom Lane2005-07-13
| | | | freeing all transient state of the PGconn object.
* Fix config file lexer to not barf if postgresql.conf ends with a commentTom Lane2005-07-08
| | | | that has no terminating newline. Per report from maps.on at gmx.net.
* Make libpq_gettext save and restore errno in a Windows-compatible way.Tom Lane2005-07-08
| | | | Also, back-patch fix into back branches.
* Fix date_trunct for December dates that are in the next year, e.g.:Bruce Momjian2005-07-04
| | | | | | | | SELECT date_trunc('week', '2002-12-31'::date); Backpatch to 8.0.X. Per report from Nick Johnson.
* Fix memory leak in plperl_hash_from_tuple(), per report from Jean-Max Reymond.Tom Lane2005-07-03
|
* Modify pg_dump to assume that a check constraint is inherited if itsTom Lane2005-06-27
| | | | | | | | | 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.
* Force a checkpoint before committing a CREATE DATABASE command. ThisTom Lane2005-06-25
| | | | | | 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.
* 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.
* Fix a potential backend crash during authentication when parsing aNeil Conway2005-06-21
| | | | | | | 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.
* exec_eval_datum leaks memory when dealing with ROW or REC values.Tom Lane2005-06-20
| | | | | | | 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.
* 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
|
* Use just NULL not NULL::TEXT --- the latter coding is unnecessary andTom Lane2005-06-07
| | | | not schema-safe. Per report from Jochem van Dieten.
* 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.
* Added patch by Gavin Scott <gavin@planetacetech.com> for Intel 64bit hardware.Michael Meskes2005-06-02
| | | | [One half already was committed with the last commit.]
* Fixed memory leak in ecpglib by adding some missing free() commands.Michael Meskes2005-06-02
|
* Fix log_statement to properly recognize SELECT INTO and CREATE TABLE ASBruce Momjian2005-06-01
| | | | | | | | and DDL statements. Backpatch fix to 8.0.X. Per report from Murthy Kambhampaty
* patternsel() was improperly stripping RelabelType from the derivedTom Lane2005-06-01
| | | | | | expressions it constructed, causing scalarineqsel to become confused if the underlying variable was of a domain type. Per report from Kevin Grittner.
* 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.
* Fix typo in PL/Perl Safe.pm initialization that prevented the properNeil Conway2005-05-23
| | | | sharing of %_SHARED. From Andrew Dunstan.
* Guard against duplicate IDs in input file in SortTocFromFile().Tom Lane2005-05-17
| | | | Per report from Brian Hackett.
* Add -N make flag to bcc builds from /src dir.Bruce Momjian2005-05-13
|
* Fix bug in COPY CSV mode: handle consecutive embedded newlines in COPYNeil Conway2005-05-13
| | | | input. Also add a regression test for this bug. From Andrew Dunstan.
* Update release checklist to reflect that HISTORY and INSTALL don'tTom Lane2005-05-08
| | | | need to be created by hand anymore.
* 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.