Duplicate object names in GRANT
Hi all,
I ran across this yesterday on HEAD:
template1=# grant select on foo, foo to swm;
ERROR: tuple already updated by self
We could do away with the error by producing a unique list of object names
-- but that would impose an extra cost on the common case. It seems to me
that producing a useful error message would entail the same cost, however.
Thoughts?
Gavin
Gavin Sherry <swm@linuxworld.com.au> writes:
I ran across this yesterday on HEAD:
template1=# grant select on foo, foo to swm;
ERROR: tuple already updated by self
Seems to fail similarly in every version back to 7.2; probably further,
but that's all I have running at the moment.
We could do away with the error by producing a unique list of object names
-- but that would impose an extra cost on the common case.
CommandCounterIncrement in the GRANT loop would be easier, likely.
I'm having a hard time getting excited about it though...
regards, tom lane
On Wed, 27 Jul 2005, Tom Lane wrote:
Gavin Sherry <swm@linuxworld.com.au> writes:
I ran across this yesterday on HEAD:
template1=# grant select on foo, foo to swm;
ERROR: tuple already updated by selfSeems to fail similarly in every version back to 7.2; probably further,
but that's all I have running at the moment.We could do away with the error by producing a unique list of object names
-- but that would impose an extra cost on the common case.CommandCounterIncrement in the GRANT loop would be easier, likely.
I'm having a hard time getting excited about it though...
Yeah, its not that exciting but that error message would throw your
average user.
I've attached a patch which calls CommandCounterIncrement() in each of the
grant loops.
Thanks,
Gavin
Attachments:
grant.patchtext/plain; charset=US-ASCII; name=grant.patchDownload+12-0
Patch applied. Thanks.
I also added a comment above each one to mention why it is needed.
---------------------------------------------------------------------------
Gavin Sherry wrote:
On Wed, 27 Jul 2005, Tom Lane wrote:
Gavin Sherry <swm@linuxworld.com.au> writes:
I ran across this yesterday on HEAD:
template1=# grant select on foo, foo to swm;
ERROR: tuple already updated by selfSeems to fail similarly in every version back to 7.2; probably further,
but that's all I have running at the moment.We could do away with the error by producing a unique list of object names
-- but that would impose an extra cost on the common case.CommandCounterIncrement in the GRANT loop would be easier, likely.
I'm having a hard time getting excited about it though...Yeah, its not that exciting but that error message would throw your
average user.I've attached a patch which calls CommandCounterIncrement() in each of the
grant loops.Thanks,
Gavin
Content-Description:
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073