Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > pgsql Hackers

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 05-10-2008, 02:05 PM
Heikki Linnakangas
 
Posts: n/a
Default Bug 3883 revisited

The "TRUNCATE table while we're holding references to it" bug (3883), is
causing an assertion failure on 8.2, when the TRUNCATE is called in a
trigger:

Script:

CREATE TABLE proc(n int);
INSERT INTO proc VALUES (9);

CREATE OR REPLACE FUNCTION deltrig() RETURNS trigger LANGUAGE plpgsql AS $$
BEGIN
EXECUTE 'TRUNCATE TABLE proc';
RETURN OLD;
end;
$$;

CREATE TRIGGER trg_proc BEFORE DELETE ON PROC FOR EACH ROW EXECUTE
PROCEDURE deltrig();

DELETE FROM proc WHERE n=9;


Error message:

TRAP: FailedAssertion("!(( ((void) ((bool) ((! assert_enabled) || !
(!(((void*)(lp) != ((void *)0)))) ||
(ExceptionalCondition("!(((void*)(lp) != ((void *)0)))",
("FailedAssertion"), "heapam.c", 1595))))), (bool) (((lp)->lp_flags &
0x01) != 0) ))", File: "heapam.c", Line: 1595)

With assertions disabled, you get an "attempted to delete invisible
tuple" error, but it seems like good luck that it doesn't lead to a crash.

I think we need to backpatch the fix for this...

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 06:27 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145