Обсуждение: General Bug Report: adding column to table w/ index causes column not to be seen

Поиск
Список
Период
Сортировка

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

От
Unprivileged 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:
---------


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


Re: [BUGS] General Bug Report: adding column to table w/ index causes column not to be seen

От
Bruce Momjian
Дата:
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