General Bug Report: adding column to table w/ index causes column not to be seen

Started by Unprivileged user <>almost 27 years ago2 messagesbugs
Jump to latest
#1Unprivileged user <>
unprivileged_user___@unknown.user

============================================================================
POSTGRESQL BUG REPORT TEMPLATE
============================================================================

Your name : Diab Jerius
Your email address : djerius@cfa.harvard.edu

Category : runtime: back-end
Severity : serious

Summary: adding column to table w/ index causes column not to be seen

System Configuration
--------------------
Operating System : Solaris 2.6

PostgreSQL version : 6.4.2

Compiler used : SunCC 4.2

Hardware:
---------
SunOS fondue 5.6 Generic_105181-12 sun4m sparc SUNW,SPARCstation-20

Versions of other tools:
------------------------
flex 2.5.4

--------------------------------------------------------------------------

Problem Description:
--------------------
It seems that if a column is created in a table with an existant index,
and an attempt is made to use that index, the backend doesn't
see the new column.

--------------------------------------------------------------------------

Test Case:
----------
The following SQL illustrates the problem:

======================================
drop table snafu;
create table snafu ( a1 text, a2 text );
insert into snafu values ( 'snark', 'fido' );
create index snafu_i1 on snafu using hash ( a1 );
alter table snafu add column a3 text;
update snafu set a3 = 'snzay' where a1 = 'snark';
=========================================

This results in

drop table snafu;
DROP

create table snafu ( a1 text, a2 text );
CREATE

insert into snafu values ( 'snark', 'fido' );
INSERT 156996266 1

create index snafu_i1 on snafu using hash ( a1 );
CREATE

alter table snafu add column a3 text;
ADD

update snafu set a3 = 'snzay' where a1 = 'snark';
ERROR: Relation snafu does not have attribute a3

Removing the "create index ..." line causes the problem to
go away.

--------------------------------------------------------------------------

Solution:
---------

--------------------------------------------------------------------------

#2Bruce Momjian
bruce@momjian.us
In reply to: Unprivileged user <> (#1)
Re: [BUGS] General Bug Report: adding column to table w/ index causes column not to be seen

I think we fixed this in 6.5 beta. Can you try that one from our ftp
site?

--------------------
It seems that if a column is created in a table with an existant index,
and an attempt is made to use that index, the backend doesn't
see the new column.

--------------------------------------------------------------------------

Test Case:
----------
The following SQL illustrates the problem:

======================================
drop table snafu;
create table snafu ( a1 text, a2 text );
insert into snafu values ( 'snark', 'fido' );
create index snafu_i1 on snafu using hash ( a1 );
alter table snafu add column a3 text;
update snafu set a3 = 'snzay' where a1 = 'snark';
=========================================

This results in

drop table snafu;
DROP

create table snafu ( a1 text, a2 text );
CREATE

insert into snafu values ( 'snark', 'fido' );
INSERT 156996266 1

create index snafu_i1 on snafu using hash ( a1 );
CREATE

alter table snafu add column a3 text;
ADD

update snafu set a3 = 'snzay' where a1 = 'snark';
ERROR: Relation snafu does not have attribute a3

Removing the "create index ..." line causes the problem to
go away.

--------------------------------------------------------------------------

Solution:
---------

--------------------------------------------------------------------------

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026