aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Another try at the inlined MIPS spinlock code. Can't test this myself,Tom Lane2005-08-26
| | | | but for sure it's not any more broken than the prior version.
* Back-port recent MIPS and M68K spinlock improvements to 8.0 branch.Tom Lane2005-08-26
|
* Back-patch fixes for problems with VACUUM destroying t_ctid chains too soon,Tom Lane2005-08-25
| | | | | and with insufficient paranoia in code that follows t_ctid links. This patch covers the 8.0 branch.
* - Check for NULL before checking whether argument is an array.Michael Meskes2005-08-24
| | | | | - Removed stray character from string quoting. - Fixed check to report missing varchar pointer implementation.
* Fix broken lrand48() implementation, per Merlin Moncure.Tom Lane2005-08-23
|
* Invoke mksafefunc and mkunsafefunc with :: decoration. This seems a goodTom Lane2005-08-20
| | | | | idea on consistency grounds, whether or not it really fixes bug #1831. Michael Fuhr
* Reject operator names >= NAMEDATALEN characters. These will not workTom Lane2005-08-16
| | | | | anyway, and in assert-enabled builds you are likely to get an assertion failure. Backpatch as far as 7.3; 7.2 seems not to have the problem.
* array_in() and array_recv() need to be more paranoid about validatingTom Lane2005-08-15
| | | | | | | | | their OID parameter. It was possible to crash the backend with select array_in('{123}',0,0); because that would bypass the needed step of initializing the workspace. These seem to be the only two places with a problem, though (record_in and record_recv don't have the issue, and the other array functions aren't depending on user-supplied input). Back-patch as far as 7.4; 7.3 does not have the bug.
* This patch fixes the event type used to log output from theBruce Momjian2005-08-12
| | | | | | | | | | | | stderr-in-service or output-from-syslogger-in-service code. Previously everything was flagged as ERRORs there, which caused all instances to log "LOG: logger shutting down" as error... Please apply for 8.1. I'd also like it considered for 8.0 since logging non-errors as errors can be cause for alarm amongst people who actually look at their logs... Magnus Hagander
* [ backpatched to 8.0.X.]Bruce Momjian2005-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > >> 3) I restarted the postmaster both times. I got this error > both times. > >> :25: ERROR: could not load library "C:/Program > >> Files/PostgreSQL/8.0/lib/testtrigfuncs.dll": dynamic load error > > > Yes. We really need to look at fixing that error message. I had > > forgotten it completely :-( > > > Bruce, you think we can sneak that in after feature freeze? I would > > call it a bugfix :-) > > Me too. That's been on the radar for awhile --- please do > send in a patch. Here we go, that wasn't too hard :-) Apart from adding the error handling, it does one more thing: it changes the errormode when loading the DLLs. Previously if a DLL was broken, or referenced other DLLs that couldn't be found, a popup dialog box would appear on the screen. Which had to be clicked before the backend could continue. This patch also disables the popup error message for DLL loads. I think this is something we should consider doing for the entire backend - disable those popups, and say we deal with it ourselves. What do you other win32 hackers thinnk about this? In the meantime, this patch fixes the error msgs. Please apply for 8.1 and please consider a backpatch to 8.0. Magnus Hagander
* 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.