![]() | ![]() | ![]() | ![]() | ![]() |
If you execute a parallel JOIN with SAS® Scalable Performance Data Server and you have multiple JOIN variables, and if the order of the JOIN variables listed on the EQUIJOIN predicate is different from the order of the variables listed on the FROM cause, you may receive a "broken pipe" error.
Here is an example of code that will cause the error:
PROC SQL; CREATE TABLE WORK.VIEW3 AS SELECT SUM(table1.CONTACTCONF) AS CONTACTCONF LABEL='Contactconf' FORMAT=F20.5, table0.HHID AS HHID LABEL='Hhid' FORMAT=F10.0 FROM MAFSSPDS.HH1 table0 Inner join MAFSSPDS.CUSTOMER1 table1 on table1.HHID = table0.HHID and table1.HHID = table0.HHID GROUP BY 2 ; QUIT; |
In the example code, the FROM clause order is table0 following by table1, but there are multiple variables on the EQUIJOIN clause, and the order of the variables is table1.HHID = table0.HHID. This results in table1 being accessed before table0, and it causes the "broken pipe" error.
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SPDS | Scalable Performance Data Server | Microsoft Windows Server 2003 Datacenter Edition | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 |
Microsoft Windows Server 2003 Enterprise Edition | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
Microsoft Windows Server 2003 Standard Edition | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
Microsoft Windows XP Professional | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
64-bit Enabled AIX | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
64-bit Enabled HP-UX | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
64-bit Enabled Solaris | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
HP-UX IPF | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
Linux | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
Linux for x64 | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 | ||
Solaris for x64 | 4.5 | 4.52 | 9.2 TS2M0 | 9.2 TS2M0 |