- Nov 21, 2005
-
-
Alvaro Herrera authored
process of dropping roles by dropping objects owned by them and privileges granted to them, or giving the owned objects to someone else, through the use of the data stored in the new pg_shdepend catalog. Some refactoring of the GRANT/REVOKE code was needed, as well as ALTER OWNER code. Further cleanup of code duplication in the GRANT code seems necessary. Implemented by me after an idea from Tom Lane, who also provided various kind of implementation advice. Regression tests pass. Some tests for the new functionality are also added, as well as rudimentary documentation.
-
Tom Lane authored
-
- Nov 20, 2005
-
-
Tom Lane authored
the convenience of tuptoaster.c and is no longer needed, so may as well get rid of some small amount of overhead.
-
Tom Lane authored
tuple in-place, but instead passes back an all-new tuple structure if any changes are needed. This is a much cleaner and more robust solution for the bug discovered by Alexey Beschiokov; accordingly, revert the quick hack I installed yesterday. With this change, HeapTupleData.t_datamcxt is no longer needed; will remove it in a separate commit in HEAD only.
-
- Nov 19, 2005
-
-
Tom Lane authored
doing heap_insert or heap_update, wipe out any extracted fields in the TupleTableSlot containing the tuple, because they might not be valid anymore if tuptoaster.c changed the tuple. Safe because slot must be in the materialized state, but mighty ugly --- find a better answer!
-
Tom Lane authored
not only the array contents, before claiming two arrays are equal. Per recent discussion.
-
Andrew Dunstan authored
DROP objecttype IF EXISTS for the following objects: table view index sequence schema type domain conversion
-
Tom Lane authored
the array (for array_push) or higher-dimensional array (for array_cat) rather than decrementing it as before. This avoids generating lower bounds other than one for any array operation within the SQL spec. Per recent discussion. Interestingly, this seems to have been the original behavior, because while updating the docs I noticed that a large fraction of relevant examples were *wrong* for the old behavior and are now right. Is it worth correcting this in the back-branch docs?
-
Tom Lane authored
recursed twice on its first argument, leading to exponential time spent on a deep nest of COALESCEs ... such as a deeply nested FULL JOIN would produce. Per report from Matt Carter.
-
- Nov 18, 2005
-
-
Andrew Dunstan authored
translate undef to NULL for result arrayref, now that we allow NULLs in arrays. Update plperl regression test accordingly.
-
Alvaro Herrera authored
-
Neil Conway authored
-
Tom Lane authored
contents directly.
-
Andrew Dunstan authored
make psql honor explicit database parameter in -l mode, in case "postgres" database is missing - per complaint from Philip Yarra.
-
- Nov 17, 2005
-
-
Tom Lane authored
functionality, but I still need to make another pass looking at places that incidentally use arrays (such as ACL manipulation) to make sure they are null-safe. Contrib needs work too. I have not changed the behaviors that are still under discussion about array comparison and what to do with lower bounds.
-
Tom Lane authored
that was added to localbuf.c in 8.1; therefore, applying it to a temp table left corrupt lookup state in memory. The only case where this had a significant chance of causing problems was an ON COMMIT DELETE ROWS temp table; the other possible paths left bogus state that was unlikely to be used again. Per report from Csaba Nagy.
-
- Nov 16, 2005
-
-
Tom Lane authored
its result when the clause was an OR clause. Brain fade exposed by example from Sebastian BÎck.
-
Bruce Momjian authored
-
Bruce Momjian authored
-
- Nov 15, 2005
-
-
Bruce Momjian authored
names from being added to pgindent's typedef list. The existance of them caused weird formatting in the date/type files, and in keywords.c. Backpatch to 8.1.X.
-
Bruce Momjian authored
columns, shifting comment to the right when more than 150 'else if' clauses were used, and update typedefs for 8.1.X. NetBSD patched updated, with documentation.
-
Tom Lane authored
sense and rename to "outerjoin_delayed" to more clearly reflect what it means). I had decided that it was redundant in 8.1, but the folly of this is exposed by a bug report from Sebastian Böck. The place where it's needed is to prevent orindxpath.c from cherry-picking arms of an outer-join OR clause to form a relation restriction that isn't actually legal to push down to the relation scan level. There may be some legal cases that this forbids optimizing, but we'd need much closer analysis to determine it.
-
- Nov 14, 2005
-
-
Alvaro Herrera authored
-
Bruce Momjian authored
Cosmetic fix only.
-
Tom Lane authored
slot of the topmost plan node when a trigger returns a modified tuple. These appear to be the only places where a plan node's caller did not treat the result slot as read-only, which is an assumption that nodeUnique makes as of 8.1. Fixes trigger-vs-DISTINCT bug reported by Frank van Vugt.
-
- Nov 13, 2005
-
-
Tom Lane authored
surprising results when it's some other numeric type. This doesn't solve the generic problem of surprising implicit casts to text, but it's a low-impact way of making sure this particular case behaves sanely. Per gripe from Harald Fuchs and subsequent discussion.
-
Bruce Momjian authored
indent bug.
-
- Nov 10, 2005
-
-
Andrew Dunstan authored
add missing quote mark to ident_file sample line - per Hiroshi Saito
-
Tom Lane authored
anything but transaction-exiting commands (ROLLBACK etc). We already rejected Parse and Execute in such cases, so there seems little point in allowing Bind. This prevents at least an Assert failure, and probably worse things, since there's a lot of infrastructure that doesn't work when not in a live transaction. We can also simplify the Bind logic a bit by rejecting messages with a nonzero number of parameters, instead of the former kluge to silently substitute NULL for each parameter. Per bug #2033 from Joel Stevenson.
-
- Nov 09, 2005
-
-
Tom Lane authored
-
- Nov 08, 2005
-
-
Bruce Momjian authored
-
- Nov 07, 2005
-
-
Bruce Momjian authored
-
Tom Lane authored
-
Alvaro Herrera authored
-
- Nov 06, 2005
-
-
Tom Lane authored
-
Tom Lane authored
on every index page they read; in particular to catch the case of an all-zero page, which PageHeaderIsValid allows to pass. It turns out hash already had this idea, but it was just Assert()ing things rather than doing a straight error check, and the Asserts were partially redundant with PageHeaderIsValid anyway. Per recent failure example from Jim Nasby. (gist still needs the same treatment.)
-
- Nov 05, 2005
-
-
Tom Lane authored
for the SLRU race condition that I posted a few days ago, but we decided not to use in 8.1 and older branches.
-
Tom Lane authored
-
Tom Lane authored
to assume that the string pointer passed to set_ps_display is good forever. There's no need to anyway since ps_status.c itself saves the string, and we already had an API (get_ps_display) to return it. I believe this explains Jim Nasby's report of intermittent crashes in elog.c when %i format code is in use in log_line_prefix. While at it, repair a previously unnoticed problem: on some platforms such as Darwin, the string returned by get_ps_display was blank-padded to the maximum length, meaning that lock.c's attempt to append " waiting" to it never worked.
-
Bruce Momjian authored
-