Problem Note 41656: SAS® Scalable Performance Data Server WHERE constraints not honored in Viewtable window
The example code
found in the Full Code tab in this note
demonstrates how WHERE constraints are not
honored in the Viewtable window. This behavior is incorrect.
Note that the example code assumes
that you have users BOSSMAN and GUY defined in the SAS® Scalable Performance Data Server password database.
When you submit the code, PROC PRINT correctly reports only one table row for user GUY in the SAS Output window, as seen in the Output tab.
However, when user GUY opens the EMPLOYEES table in the Viewtable window,
the WHERE constraints are not honored, and he can see all table rows.
Click the Hot Fix tab in this note to access the hot fix for this issue.
Operating System and Release Information
SPDS | Scalable Performance Data Server | Solaris for x64 | 4.52 HF3 | 4.52 HF6 | | |
Linux for x64 | 4.52 HF3 | 4.52 HF6 | | |
HP-UX IPF | 4.52 HF3 | 4.52 HF6 | | |
64-bit Enabled Solaris | 4.52 HF3 | 4.52 HF6 | | |
64-bit Enabled HP-UX | 4.52 HF3 | 4.52 HF6 | | |
64-bit Enabled AIX | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2008 for x64 | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2003 for x64 | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2003 Standard Edition | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2003 Enterprise Edition | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2003 Datacenter Edition | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows 2000 Server | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows 2000 Datacenter Server | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2003 Datacenter 64-bit Edition | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows Server 2003 Enterprise 64-bit Edition | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows XP 64-bit Edition | 4.52 HF3 | 4.52 HF6 | | |
Microsoft® Windows® for x64 | 4.52 HF3 | 4.52 HF6 | | |
Microsoft Windows 2000 Advanced Server | 4.52 HF3 | 4.52 HF6 | | |
*
For software releases that are not yet generally available, the Fixed
Release is the software release in which the problem is planned to be
fixed.
libname foo sasspds 'tmp' server=localhost.5400 user='bossman'
password='spds123' IP=YES LIBGEN=YES;
DATA foo.employees;
input user $ grp $ salary $ position $ state $ region $;
cards;
WILLIAM GROUP1 70000 Engr1 CA W
GUY GROUP1 60000 Engr1 CA W
ED GROUP1 50000 Engr2 NJ E
FRANK GROUP2 80000 Engr2 TX S
TOM GROUP2 65000 Engr3 WA W
BOSSMAN GROUP2 80000 Mgr NJ E
;
run;
/* Grant read access for PUBLIC for table EMPLOYEES */
PROC SPDO lib=foo;
SET ACLUSER;
ADD ACL employees;
MODIFY ACL employees / read;
quit;
/*
The following code creates a table WHERE constraint that allows BOSSMAN to read any
row of table EMPLOYEES, but any other user can read only rows where the value in the User column
matches the user's user ID.
*/
PROC SPDO lib=foo;
SET ACLUSER;
constraint add employees;
WHERE (User = "@SPDSUSR")
or ("@SPDSUSR" = "BOSSMAN");
constraint describe employees;
quit;
/* user GUY can read only rows where the value in the User column matches his user ID */
libname guy sasspds 'tmp' server=localhost.5400 user='guy'
password='spds123' IP=YES LIBGEN=YES;
proc print data=guy.employees; run;
Obs user grp salary position state region
2 GUY GROUP1 60000 Engr1 CA W
Type: | Problem Note |
Priority: | alert |
Topic: | System Administration ==> Servers ==> SPDS
|
Date Modified: | 2012-02-01 08:51:49 |
Date Created: | 2010-11-22 10:04:41 |