FIX: SELECT with Outer Join and a GROUP BY Can GP-Fault Server
  
PSS ID Number: Q103679
Article last modified on 10-31-1994
 
4.20
 
OS/2
 

----------------------------------------------------------------------
The information in this article applies to:
 
  - Microsoft SQL Server version 4.2 for OS/2
----------------------------------------------------------------------
 
BUG# OS/2: 1749 (4.2)
 
SYMPTOMS
========
 
A SELECT statement with an OUTER JOIN and a GROUP BY involving two
tables can cause a ring 3 trap with the following error message:
 
   SYS1943: A Program Caused a Protection Violation.
 
1. The first table should have three columns, at least two of which
   should be VARCHAR or CHAR.
 
2. The first table should have at least 580 rows.
 
3. The second table should have at least one CHAR and a FLOAT column
   and zero or more rows.
 
4. There should be at least one outer join between the tables.
 
5. The group by should contain a minimum of at least two CHAR or
   VARCHAR columns from the first table and the float column from
   second table.
 
NOTE: The error occurrence is data specific and cannot be reproduced
through random set of data.
 
STATUS
======
 
Microsoft has confirmed this to be a problem in SQL Server version 4.2 for
OS/2. This problem was corrected in SQL Server version 4.2bK15. For more
information, contact your primary support provider.
 
MORE INFORMATION
================
 
Steps to Reproduce Problem
--------------------------
 
use pubs
go
dump tran pubs with no_log
go
 
drop table t1
go
 
create table t1
(c1        char(2) null,
 c2        varchar(10) null,
 c3        varchar(10) null)
go
 
drop table t2
go
 
create table t2 (c4 char(2),
           c5 float)
go
 
Select c2, c3, c5
from
    t1, t2
where
    t1.c1 *= t2.c4
group by
    c2, c3, c5
go
 
Additional reference words: 4.20 kernel
KBCategory: kbprg kberrmsg
KBSubcategory: SSrvServer SSrvTrans
 
=============================================================================
 
Copyright Microsoft Corporation 1994.
