- 22 Apr, 2008 2 commits
-
-
Magnus Hagander authored
it now lives (per discussion). Leave the other FAQs alone for now.
-
Tom Lane authored
ordinary expressions. This probably doesn't catch every single case where you might get "cache lookup failed for function 0" for use of a shell operator, but it will catch most. Per bug #4120 from Pedro Gimeno. This patch incidentally folds make_op_expr() into its sole remaining caller --- the alternative was to give it yet more arguments, which didn't seem an improvement.
-
- 21 Apr, 2008 9 commits
-
-
Tom Lane authored
output is not of the same type that's needed for the IN comparison (ie, where the parser inserted an implicit coercion above the subselect result). We should record the coerced expression, not just a raw Var referencing the subselect output, as the quantity that needs to be unique-ified if we choose to implement the IN as Unique followed by a plain join. As of 8.3 this error was causing crashes, as seen in bug #4113 from Javier Hernandez, because the executor was being told to hash or sort the raw subselect output column using operators appropriate to the coerced type. In prior versions there was no crash because the executor chose the hash or sort operators for itself based on the column type it saw. However, that's still not really right, because what's unique for one data type might not be unique for another. In corner cases we could get multiple outputs of a row that should appear only once, as demonstrated by the regression test case included in this commit. However, this patch doesn't apply cleanly to 8.2 or before, and the code involved has shifted enough over time that I'm hesitant to try to back-patch. Given the lack of complaints from the field about such corner cases, I think the bug may not be important enough to risk breaking other things with a back-patch.
-
Magnus Hagander authored
from inside the build script.
-
Magnus Hagander authored
-
Magnus Hagander authored
-
Magnus Hagander authored
version ones, to make it clear to users just browsing the notes that there are a lot more changes available from whatever version they are at than what's in the minor version release notes.
-
Tom Lane authored
UPDATE/SHARE couldn't occur as a subquery in a query with a non-SELECT top-level operation. Symptoms included outright failure (as in report from Mark Mielke) and silently neglecting to take the requested row locks. Back-patch to 8.3, because the visible failure in the INSERT ... SELECT case is a regression from 8.2. I'm a bit hesitant to back-patch further given the lack of field complaints.
-
Tom Lane authored
measure to get the Windows buildfarm members working again. I don't know if it's worth exposing these as configurables, or exactly how to do it in the MSVC build system ...
-
Tom Lane authored
and version-1 if USE_FLOAT8_BYVAL. This might seem a bit pointless, but the idea is to have at least one regression test that will fail if we ever accidentally break version-0 functions that return float8. However, they're already broken, or at least hopelessly unportable, in the USE_FLOAT8_BYVAL case. Per a recent suggestion from Greg Stark.
-
Tom Lane authored
where Datum is 8 bytes wide. Since this will break old-style C functions (those still using version 0 calling convention) that have arguments or results of these types, provide a configure option to disable it and retain the old pass-by-reference behavior. Likewise, provide a configure option to disable the recently-committed float4 pass-by-value change. Zoltan Boszormenyi, plus configurability stuff by me.
-
- 20 Apr, 2008 2 commits
-
-
Teodor Sigaev authored
I never understood why initial authors GiST in pgsql choose so stgrange signature for 'same' method: bool *sameFn(Datum a, Datum b, bool* result) instead of simple, logical bool sameFn(Datum a, Datum b) This change will break any existing GiST extension, so we still live with it and will live.
-
Tom Lane authored
to future-proof it against pass-by-value float8.
-
- 19 Apr, 2008 7 commits
-
-
Tom Lane authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Bruce Momjian authored
archives. We have been using URLs for a while for new items.
-
- 18 Apr, 2008 6 commits
-
-
Alvaro Herrera authored
conventions. I also changed seg_in and seg_out, which was probably unnecessary, but it can't harm.
-
Tom Lane authored
-
Alvaro Herrera authored
uses of the long-deprecated float32 in contrib/seg; the definitions themselves are still there, but no longer used. fmgr/README updated to match. I added a CREATE FUNCTION to account for existing seg_center() code in seg.c too, and some tests for it and the neighbor functions. At the same time, remove checks for NULL which are not needed (because the functions are declared STRICT). I had to do some adjustments to contrib's btree_gist too. The choices for representation there are not ideal for changing the underlying types :-( Original patch by Zoltan Boszormenyi, with some adjustments by me.
-
Tom Lane authored
file; the idea is that we should clean up as much as we can, even if there's some problem removing one file. Make the error messages a bit less misleading, too. In passing, const-ify function arguments.
-
Heikki Linnakangas authored
place to prevent reusing relation OIDs before next checkpoint, and DROP DATABASE. First, if a database was dropped, bgwriter would still try to unlink the files that the rmtree() call by the DROP DATABASE command has already deleted, or is just about to delete. Second, if a database is dropped, and another database is created with the same OID, bgwriter would in the worst case delete a relation in the new database that happened to get the same OID as a dropped relation in the old database. To fix these race conditions: - make rmtree() ignore ENOENT errors. This fixes the 1st race condition. - make ForgetDatabaseFsyncRequests forget unlink requests as well. - force checkpoint on in dropdb on all platforms Since ForgetDatabaseFsyncRequests() is asynchronous, the 2nd change isn't enough on its own to fix the problem of dropping and creating a database with same OID, but forcing a checkpoint on DROP DATABASE makes it sufficient. Per Tom Lane's bug report and proposal. Backpatch to 8.3.
-
Tom Lane authored
of each plan node, instead of its former behavior of dumping the internal representation of the plan tree. The latter display is still available for those who really want it (see debug_print_plan), but uses for it are certainly few and and far between. Per discussion. This patch also removes the explain_pretty_print GUC, which is obsoleted by the change.
-
- 17 Apr, 2008 5 commits
-
-
Alvaro Herrera authored
versa) without going through DatumGetPointer. Gavin Sherry, with Feng Tian.
-
Tom Lane authored
we had several code paths where a physical tlist could be used for the input to a Sort node, which is a dumb idea because any unneeded table columns will increase the volume of data the sort has to push around. (Unfortunately the easy-looking fix of calling disuse_physical_tlist during make_sort_xxx doesn't work because in most cases we're already committed to the current input tlist --- it's been marked with sort column numbers, or we've built grouping column numbers using it, etc. The tlist has to be selected properly at the calling level before we start constructing sort-col information. This is easy enough to do, we were just failing to take the point into consideration.) Back-patch to 8.3. I believe the problem probably exists clear back to 7.4 when the physical tlist optimization was added, but I'm afraid to back-patch further than 8.3 without a great deal more study than I want to put into it. The code in this area has drifted a lot over time. The real-world importance of these code paths is uncertain anyway --- I think in many cases we'd probably prefer hash-based methods.
-
Bruce Momjian authored
> * -Allow administrators to safely terminate individual sessions
-
Bruce Momjian authored
needed.
-
Tom Lane authored
of each plan node. For the moment this is debug support only and is not enabled unless EXPLAIN_PRINT_TLISTS is defined at build time. Later I'll see about the idea of letting EXPLAIN VERBOSE do it.
-
- 16 Apr, 2008 9 commits
-
-
Tom Lane authored
corrupted. (Neither is very important if SIGTERM is used to shut down the whole database cluster together, but there's a problem if someone tries to SIGTERM individual backends.) To do this, introduce new infrastructure macros PG_ENSURE_ERROR_CLEANUP/PG_END_ENSURE_ERROR_CLEANUP that take care of transiently pushing an on_shmem_exit cleanup hook. Also use this method for createdb cleanup --- that wasn't a shared-memory-corruption problem, but SIGTERM abort of createdb could leave orphaned files lying around. Backpatch as far as 8.2. The shmem corruption cases don't exist in 8.1, and the createdb usage doesn't seem important enough to risk backpatching further.
-
Andrew Dunstan authored
-
Bruce Momjian authored
-
Bruce Momjian authored
-
Tom Lane authored
it is trying to build a relcache entry for. This is an oversight in my 8.2 patch that tried to ensure we always took a lock on a relation before trying to build its relcache entry. The implication is that if someone committed a reindex of a critical system index at about the same time that some other backend were starting up without a valid pg_internal.init file, the second one might PANIC due to not seeing any valid version of the index's pg_class row. Improbable case, but definitely not impossible.
-
Bruce Momjian authored
Bryce Nesbitt
-
Bruce Momjian authored
-
Bruce Momjian authored
> * Implement the non-threaded Avahi service discovery protocol > http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php > http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php > http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php > http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php
-
Andrew Dunstan authored
-