11.5.0.1: Oracle Join Predicates are considered table-names.

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
rkashyap
Premium Member
Premium Member
Posts: 532
Joined: Fri Dec 02, 2011 12:02 pm
Location: Richmond VA

11.5.0.1: Oracle Join Predicates are considered table-names.

Post by rkashyap »

Issue: In DataStage 11.501 sometimes, if a space is not given around Join condition symbol (<, =, > etc), then at run-time Oracle Connector stage parser considers "Join Predicates" as a table-name and fails a valid SQL statement.
Example: Following SQL fails at run-time in a DataStage job

Code: Select all

WITH oo AS  (SELECT sysdate sysd FROM dual)
  , POST_TBL AS  (SELECT sysdate POST_DATE FROM dual)
SELECT oo.sysd, 123 EMP_NO, 456 TERR_NO
FROM oo INNER JOIN POST_TBL e
ON oo.sysd>e.post_date;
with error
While parsing table name oo.sysd>e.post_date, the connector detected an unexpected character at position 9. (CC_OraTableNameParser:: parse, file CC_OraTableNameParser.cpp, line 252)


Work around: Add a single space around the join condition symbol. i,e In the SQL given above, if "oo.sysd>e.post_date" is replaced by "oo.sysd > e.post_date", it works fine.

I have raised a PMR for this issue.
rkashyap
Premium Member
Premium Member
Posts: 532
Joined: Fri Dec 02, 2011 12:02 pm
Location: Richmond VA

Post by rkashyap »

As per latest communication from IBM, Oracle Connector developer has confirmed this is a defect and opened APAR JR57101. They will be fixing this in a later release.
Post Reply