Skip site navigation (1) Skip section navigation (2)

int2 unique index malfunction (btree corrupt)

From: Christof Petig <christof(dot)petig(at)wtal(dot)de>
To: pgsql-bugs(at)postgresql(dot)org
Subject: int2 unique index malfunction (btree corrupt)
Date: 1999-08-18 14:38:53
Message-ID: 37BAC57D.4399C9E5@wtal.de (view raw or flat)
Thread:
Lists: pgsql-bugs
Your name               : Christof Petig
Your email address      : christof(dot)petig(at)wtal(dot)de


System Configuration
---------------------
  Architecture (example: Intel Pentium)         : Intel dual-Pentium II

  Operating System (example: Linux 2.0.26 ELF)  : Linux 2.2.11 ELF

  PostgreSQL version (example: PostgreSQL-6.5.1):   PostgreSQL-6.5,
6.5.1, 6.6

  Compiler used (example:  gcc 2.8.0)           : egcs-1.1.1


Dear PostgreSQL wizards,

During development of a CIM program I frequently updated a table by its
primary key (int2 or numeric(3)). A lot of strange messages
'NOTICE:  (transaction aborted): queries ignored until END' alerted me
that something is going wrong.

update foo set val=val+1 where key=:n
generated 'Cannot insert a duplicate key into a unique index'
which is definitely wrong.

Included is a very small (C++) program (Linux, egcs-1.1.1) which
generates the mentioned errors. If it helps debugging, I might port it
to
plain C (contact me).

It occured with V6.5 as well as with August 2nd's CVS tree.

Sometimes even the initial 'insert's fail, one time (with August 2nd's
CVS tree)
I got an
'FATAL 1:  btree: items are out of order (leftmost 0, stack 10, update
1)' error.

Now with 6.5.1, I don't get the NOTICE messages but straight an
FATAL 1:  btree: items are out of order (leftmost 0, stack 3, update 1)
FATAL 1:  btree: items are out of order (leftmost 0, stack 2, update 1)

It seems there is something wrong with PostgreSQL's internals. Perhaps
this program helps tracking it.

Best Regards,
    Christof

PS: vacuum after the FATAL (6.6):
DEBUG:  --Relation test--
DEBUG:  Pages 13: Changed 2, Reapped 13, Empty 0, New 0; Tup 128: Vac
1823, Keep/VTL 0/0, Crash 0, UnUsed 0, MinLen 48, MaxLen 48; Re-using:
Free/Avail. Space 92444/86784; EndEmpty/Avail. Pages 0/12. Elapsed 0/0
sec.
DEBUG:  Index test_pkey: Pages 13; Tuples 128: Deleted 1819. Elapsed 0/0
sec.
DEBUG:  Rel test: Pages: 13 --> 1; Tuple(s) moved: 128. Elapsed 0/0 sec.

DEBUG:  Index test_pkey: Pages 13; Tuples 128: Deleted 128. Elapsed 0/0
sec.

I haven't seen the corruption on 6.5.

Attachment: test.tgz
Description: application/octet-stream (948 bytes)

pgsql-bugs by date

Next:From: stephane.dacremont@libertysurf.frDate: 1999-08-18 17:00:26
Subject: libpq.so.2.0 brings compilation problems
Previous:From: Norman StevensDate: 1999-08-15 21:54:10
Subject: postgres bug

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group