[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::rdb_60

Title:Oracle Rdb - Still a strategic database for DEC on Alpha AXP!
Notice:RDB_60 is archived, please use RDB_70..
Moderator:NOVA::SMITHISON
Created:Fri Mar 18 1994
Last Modified:Fri May 30 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:5118
Total number of notes:28246

5094.0. "Select gives wrong results in 6.1" by 10245::COBROWN (Colin from Danmark) Mon Mar 03 1997 11:53

    I will post this here as although it looks like a bug to me, I could be
    mistaken.
    
    User is testing on AXP. I have tested on AXP with OpenVMS 6.2.
    We have a problem that a select returns no records (for me) and the
    incorrect number of records (for CT) under rdb version 6.1, but works
    under Rdb 6.0 and 7.0-00.
    
    I will include a script to reproduce the problem in .1
    
    We seem to have a work arround as you will see from the script so this
    should not be urgent:-)
    
    Colin - Danmark
T.RTitleUserPersonal
Name
DateLines
5094.1...and the script.10245::COBROWNColin from DanmarkMon Mar 03 1997 11:54168
-- PMS60019.SQL
-- Script to demonstrate problem apparently introduced by version 6.1 of Rdb.
-- Problem has been reproduced with 6.1-02, 6.1-04 and 6.1-10.
-- This is fixed again in 7.0-00.
-- Script defines a small DB, with one table and inserts some test data into it.
-- The problem select and a workarround appear at the end of the script.
--
discon all;
drop database filename pms60019.rdb;
create database filename pms60019.rdb;
create domain PLANTYPENR
    INTEGER;
    comment on domain PLANTYPENR is '  identifikation af en planlaegningstype';
create domain PLANOMRNR
    INTEGER;
    comment on domain PLANOMRNR is
     ' entydig identifikation af et planlaegningsomraade';
create domain DISTRIKTSNR
    INTEGER;
    comment on domain DISTRIKTSNR is ' Distriktsnummer';

create table PLOMRTYDISTRIKT (
    PLANTYPENR PLANTYPENR
        default 0,
    PLANOMRNR PLANOMRNR
        default 0,
    DISTRIKTSNR DISTRIKTSNR
        default 0,
    constraint CN_PLOMRTYDISTRIKT_PK
        primary key (PLANTYPENR, PLANOMRNR, DISTRIKTSNR)
        deferrable);
comment on table PLOMRTYDISTRIKT is
 ' sammenhaeng mellem planlaegningstyper og plomraader/distrikter';

create unique index PLOMRTYDISTRIKT_PLTYPE_IDX
    on PLOMRTYDISTRIKT (
    PLANTYPENR
        asc,
    DISTRIKTSNR
        asc,
    PLANOMRNR
        asc)
    type is SORTED
    node size 1970
    disable compression;
commit;
--
-- set up some data.
--
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,109,10100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,109,20100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,109,20100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,109,20100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,109,21300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,109,21500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,109,21700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,109,20100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,109,22300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,109,22500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,109,22700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,109,20500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,109,20700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,109,20800);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,109,20900);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,132,14700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,132,10100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,132,14700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,132,10100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,132,14700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,132,15500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,132,15700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,132,16500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,132,16700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,132,16900);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,132,14700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,132,14700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,132,14700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,132,15100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,132,15500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,132,15300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,198,25100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (10,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (20,198,25700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (30,198,25700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,198,25100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (40,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,198,25100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (50,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (60,198,25700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,198,25700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (70,198,25900);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,198,25100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (80,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,198,25100);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (90,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (100,198,25700);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,198,25300);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,198,25500);
insert into plomrtydistrikt (PLANTYPENR, PLANOMRNR, DISTRIKTSNR) values (110,198,25700);
commit work;
set verify;
--
-- This does not work as we expect under 6.1, but was okay with 6.0.
--
select plantypenr, planomrnr, distriktsnr from plomrtydistrikt p1
  where p1.distriktsnr in (select min(p2.distriktsnr) from plomrtydistrikt p2
          where p1.plantypenr = p2.plantypenr and p1.planomrnr = p2.planomrnr)
  and (planomrnr = 198)
  order by planomrnr, plantypenr;
-- 
-- This does work and gives the expected results.
--
select plantypenr, planomrnr, distriktsnr from plomrtydistrikt p1
  where p1.distriktsnr in (select min(p2.distriktsnr) from plomrtydistrikt p2
          where p1.plantypenr = p2.plantypenr and p1.planomrnr = p2.planomrnr
            and (planomrnr = 198))
  order by planomrnr, plantypenr;
-- 
-- Goal is for each distinct pair of planomrnr and plantypenr we wish to
-- select the lowest distriktsnr.
--
    
5094.2Perhaps a little more urgent than I first thought...10245::COBROWNColin from DanmarkThu Mar 06 1997 06:018
    On the other hand as this problem gives some results, but not always
    all those expected it could exist, undetected all over the place and
    this is pretty frightening. Not just for me but for the customer too.
    
    I would like to revoke my statement in .0 that this is not urgent. It
    is important and is certainly not for the bottom of the in tray:-)
    
    Colin
5094.3ukvms3.uk.oracle.com::PJACKSONOracle UK Rdb SupportThu Mar 06 1997 06:356
>    I would like to revoke my statement in .0 that this is not urgent. It
>    is important and is certainly not for the bottom of the in tray:-)
   
   So what's the bug number?
   
   Peter
5094.4Bug 46768710245::COBROWNColin from DanmarkWed Mar 19 1997 07:267
    Bugged as 467687.
    
    A simple script to demonstrate the problem has been copied to                   
    NOMAHS::ORAREP::BUG467687.SQL                                                  
    
    
    Colin