Bug in Oracle
From: Vijay Raghavan <raghavav_at_cs.rpi.edu>
Date: 29 Jan 92 00:18:19 GMT
Message-ID: <x_9rr9#_at_rpi.edu>
Date: 29 Jan 92 00:18:19 GMT
Message-ID: <x_9rr9#_at_rpi.edu>
I had created a small test database with the following tables.
create table BOOK
(
TITLE char(50) not null, ISBN char(15) not null primary key, PUBLISHER char(50) not null, YEAR char(4) not null, CUR_PRICE number not null ); create table BORROWER
(
FNAME char(10), MINIT char(1), LNAME char(10) not null, SSN number(9) not null primary key, ADDRESS char(50), BR_TYPE char(5) not null references LIMIT(TYPE) ); create table COPY
(
ACCESSION char(15) not null primary key, COPY_ISBN char(15) not null references BOOK(ISBN), COPY_PRICE number not null ); create table COPY_BR
(
COPY_AC char(15) not null primary key references COPY(ACCESSION), BSSN number(9) not null references BORROWER(SSN), DATE_BR date not null );
On issuing the following query Oracle failed to give an error. Note that ISBN is an attribute of BOOK which is absent in the inner SELECT.
SELECT FNAME,LNAME, TITLE
FROM BOOK,BORROWER,COPY,COPY_BR
WHERE (
BOOK.ISBN = COPY.COPY_ISBN AND BORROWER.SSN = COPY_BR.BSSN AND COPY.ACCESSION = COPY_BR.COPY_AC AND BORROWER.FNAME != 'Sylvester' AND BORROWER.LNAME != 'McCoy' AND BOOK.ISBN IN ( SELECT ISBN ^^^^^^^^ FROM BORROWER,COPY_BR WHERE ( BORROWER.SSN = COPY_BR.BSSN AND BORROWER.FNAME = 'Sylvester' AND BORROWER.LNAME = 'McCoy' ) ) );
Vijay
-- =============================================================================== Vijay Raghavan | We can sort things out together. Dept of Comp Sc | Rensselaer Polytechnic Institute | Ph:(518)-276-4838Received on Wed Jan 29 1992 - 01:18:19 CET