- 26 11月, 2005 2 次提交
-
-
由 Tom Lane 提交于
when we first read the page, rather than checking them one at a time. This allows us to take and release the buffer content lock just once per page, instead of once per tuple. Since it's a shared lock the contention penalty for holding the lock longer shouldn't be too bad. We can safely do this only when using an MVCC snapshot; else the assumption that visibility won't change over time is uncool. Therefore there are now two code paths depending on the snapshot type. I also made the same change in nodeBitmapHeapscan.c, where it can be done always because we only support MVCC snapshots for bitmap scans anyway. Also make some incidental cleanups in the APIs of these functions. Per a suggestion from Qingqing Zhou.
-
由 Tom Lane 提交于
qualification when the underlying operator is indexable and useOr is true. That is, indexkey op ANY (ARRAY[...]) is effectively translated into an OR combination of one indexscan for each array element. This only works for bitmap index scans, of course, since regular indexscans no longer support OR'ing of scans. There are still some loose ends to clean up before changing 'x IN (list)' to translate as a ScalarArrayOpExpr; for instance predtest.c ought to be taught about it. But this gets the basic functionality in place.
-
- 24 11月, 2005 1 次提交
-
-
由 Tom Lane 提交于
generate their output tuple descriptors from their target lists (ie, using ExecAssignResultTypeFromTL()). We long ago fixed things so that all node types have minimally valid tlists, so there's no longer any good reason to have two different ways of doing it. This change is needed to fix bug reported by Hayden James: the fix of 2005-11-03 to emit the correct column names after optimizing away a SubqueryScan node didn't work if the new top-level plan node used ExecAssignResultTypeFromOuterPlan to generate its tupdesc, since the next plan node down won't have the correct column labels.
-
- 23 11月, 2005 1 次提交
-
-
由 Bruce Momjian 提交于
comment line where output as too long, and update typedefs for /lib directory. Also fix case where identifiers were used as variable names in the backend, but as typedefs in ecpg (favor the backend for indenting). Backpatch to 8.1.X.
-
- 22 11月, 2005 1 次提交
-
-
由 Andrew Dunstan 提交于
DROP DATABASE IF EXISTS variant
-
- 21 11月, 2005 3 次提交
-
-
由 Alvaro Herrera 提交于
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 提交于
the convenience of tuptoaster.c and is no longer needed, so may as well get rid of some small amount of overhead.
-
由 Tom Lane 提交于
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.
-
- 20 11月, 2005 1 次提交
-
-
由 Andrew Dunstan 提交于
DROP objecttype IF EXISTS for the following objects: table view index sequence schema type domain conversion
-
- 18 11月, 2005 3 次提交
-
-
由 Tom Lane 提交于
contents directly.
-
由 Tom Lane 提交于
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 提交于
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.
-
- 15 11月, 2005 2 次提交
-
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
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.
-
- 08 11月, 2005 1 次提交
-
-
由 Tom Lane 提交于
-
- 07 11月, 2005 2 次提交
-
-
由 Tom Lane 提交于
-
由 Tom Lane 提交于
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.)
-
- 06 11月, 2005 2 次提交
- 05 11月, 2005 2 次提交
-
-
由 Tom Lane 提交于
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.
-
由 Tom Lane 提交于
create circularity of role memberships. This is a minimum-impact fix for the problem reported by Florian Pflug. I thought about removing the superuser_arg test from is_member_of_role() altogether, as it seems redundant for many of the callers --- but not all, and it's way too late in the 8.1 cycle to be making large changes. Perhaps reconsider this later.
-
- 04 11月, 2005 1 次提交
-
-
由 Alvaro Herrera 提交于
those names. (Debug and None were pretty bad names anyway.) I hope I catched all uses of the names in comments too.
-
- 27 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
inFromCl true, meaning that they will list out as explicit RTEs if they are in a view or rule. Update comments about inFromCl to reflect the way it's now actually used. Per recent discussion.
-
- 25 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
to the main thread. This allows removal of WaitForSingleObjectEx() calls from the main thread, thereby allowing us to re-enable Qingqing Zhou's CHECK_FOR_INTERRUPTS performance improvement. Qingqing, Magnus, et al.
-
- 23 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
WaitForSingleObjectEx is always called by CHECK_FOR_INTERRUPTS. This should be reinstated but the setitimer() emulation will have to be redesigned first.
-
- 22 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
a kernel call unless there's some evidence of a pending signal. This should bring its performance on Windows into line with the Unix version. Problem diagnosis and patch by Qingqing Zhou. Minor stylistic tweaks by moi ... if it's broken, it's my fault.
-
- 21 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
of the form nextval('foo'::varchar) doesn't break. Per gripe from Jean-Pierre Pelletier. Initdb forced :-(
-
- 19 10月, 2005 2 次提交
- 18 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
exported routines of ip.c, md5.c, and fe-auth.c to begin with 'pg_'. Also get rid of the vestigial fe_setauthsvc/fe_getauthsvc routines altogether.
-
- 15 10月, 2005 2 次提交
-
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
the facility has been set, the facility gets set to LOCAL0 and cannot be changed later. This seems reasonably plausible to happen, particularly at higher debug log levels, though I am not certain it explains Han Holl's recent report. Easiest fix is to teach the code how to change the value on-the-fly, which is nicer anyway. I made the settings PGC_SIGHUP to conform with log_destination.
-
- 13 10月, 2005 2 次提交
-
-
由 Neil Conway 提交于
that is protected by a spinlock must be volatile, per recent discussion.
-
由 Tom Lane 提交于
pointers, to ensure that compilers won't rearrange accesses to occur while we're not holding the buffer header spinlock. It's probably not necessary to mark volatile in every single place in bufmgr.c, but better safe than sorry. Per trouble report from Kevin Grittner.
-
- 12 10月, 2005 2 次提交
- 11 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
traceable to grant options. As per my earlier proposal, a GRANT made by a role member has to be recorded as being granted by the role that actually holds the grant option, and not the member.
-
- 10 10月, 2005 1 次提交
-
-
由 Tom Lane 提交于
like '23:59:60' because of fractional-second roundoff problems. Trying to control this upstream of the actual display code was hopeless; the right way is to explicitly round fractional seconds in the display code and then refigure the results if the fraction rounds up to 1. Per bug #1927.
-
- 08 10月, 2005 2 次提交
-
-
由 Bruce Momjian 提交于
-
由 Tom Lane 提交于
Per request from Marc Munro.
-