Greetings,
I have a dataflow and I'm troubleshooting why I can't get full pushdown. To simplify it, I've constructed a simple dataflow with a single source, query, and target. Source and target are in the same datastore (and in the same database on the database server). I've traced the problem to a DECODE statement:
DECODE(
STG_FC_CO.CO_NBR = '1234567890'
,'fred'
,'test'
)
With the DECODE statement, I get the following when I look at the Optimized SQL:
SELECT "STG_FC_CO"."CO_NBR" FROM "DEV_E100557".."STG_FC_CO" "STG_FC_CO"
If I changed the mapping for the column from the DECODE statement to:
STG_FC_CO.CO_NBR
and then save, I get this when I look at Optimized SQL:
INSERT INTO "DEV_E100557".."MLH_PUSHDOWN_TEST" ( "EXCLUSION_REASON" ) SELECT "STG_FC_CO"."CO_NBR" FROM "DEV_E100557".."STG_FC_CO" "STG_FC_CO"
I've tried lots of variations on the DECODE statement including using ifthenelse instead of decode, but I can't get full pushdown.
I'm using DS 4.1, Netezza 6. I've tried selecting different Netezza versions when setting up the datastore, but that didn't make a difference.
STG_FC_CO.CO_NBR is VARCHAR(10). The target field for the DECODE statement is VARCHAR(50).
Any suggestions about where I would look to resolve this?
Thanks,
Mike Hayes