|
From: Jerry A. <Jer...@sa...> - 2008-05-27 22:51:21
|
Hello!
I'm seeing a bug with SAS Vulcan - I was hoping that the community might remember a fix applied to the main stream. The problem does not reproduce against 2.5. It's been very hard to track down, so any hints would be welcome.
The (incorrect) error message we see is "Inappropriate self-reference of column". This message should not occur. This is generated by a test program that creates/drops tables with many concurrent threads. One thread is fine, of course!
It appears that the problem occurs b/c the table is created but its metadata hasn't yet been completely committed. The error is raised in MAKE_desc() in dsql/make.cpp, specifically in line 1178 in the SourceForge version of Vulcan. The node's descriptor has an unknown type (e.g. dtype==0), eventhough the type of the node itself is nod_field.
We believe that the problem is occurring because the metadata for this table is "not being hidden well enough after being created but not committed" such that Vulcan thinks the table exists, goes to look for it (e.g. attempts to retrieve the metadata from disk), can't find it, and when the resulting field descriptor is found to be of dtype_unknown, the self-reference error is thrown. Usually this error will be accompanied by another error stating that the table in question does not exist. The pseudo code for the test we are running to reproduce the error is as follows:
CREATE table;
/* COMMIT; */
INSERT values into table;
SELECT * from table;
DROP table;
If the COMMIT; statement is uncommented, then execution results in the expected and correct outcome. If however the COMMIT; statement is left commented out, the "Table <X> does not exist" (which IS expected) and "Inappropriate self-reference of column" errors are generated (NOT expected and NOT correct).
I know this is a long shot, but any help would be appreciated. Thanks!
Jerry
-------------------------------------------
Jerry Adair
SAS Institute, Inc.
11920 Wilson Parke Avenue
Austin, Texas 78726
512-258-5171 x3218
Jer...@sa...<mailto:Jer...@sa...>
SAS... The Power to Know*
|