Hello,
Talend Open Studio for Data Quality (5.4.1.r111943)
Using nzjdbc.jar to create connection to Netezza NPS 7.0 P-3 Build 27812
I've created a column analysis, selected 1 column (varchar data type), and selected the Minimal Length Text Statistic indicator. I receive the following error when I try and run this analysis (error copy and pasted from log file).
It appears that the query is trying to use ifnull, which I confirmed is not working on Netezza. If I change the query in my query directly to Netezza to use isnull, then the query works.
I also confirmed if I try any of the indicators under Simple Statistics, they all work. I am only having trouble with the Text Statistic indicators which are using the ifnull function in their query.
------------------------------------------------------------------------------------------------------------------------------------
!ENTRY org.talend.platform.logging 1 0 2014-01-13 16:24:42.417
!MESSAGE 2014-01-13 16:24:42,417 INFO org.talend.dq.analysis.ColumnAnalysisSqlExecutor - Executing query: SELECT MIN(CHAR_LENGTH("CM_DESC")) FROM "CVADMSBP"."ADMIN"."NOC_DOCSIS_INVENTORY_ATTR" WHERE ("CM_DESC" IS NOT NULL ) AND (TRIM(IFNULL("CM_DESC",'NULL TALEND')) <> '' )
!ENTRY org.talend.platform.logging 2 0 2014-01-13 16:24:42.420
!MESSAGE 2014-01-13 16:24:42,420 WARN org.talend.dq.analysis.ColumnAnalysisSqlExecutor - org.netezza.error.NzSQLException: ERROR: Function 'IFNULL(VARCHAR, UNKNOWN)' does not exist
Unable to identify a function that satisfies the given argument types
You may need to add explicit typecasts
!STACK 0
org.netezza.error.NzSQLException: ERROR: Function 'IFNULL(VARCHAR, UNKNOWN)' does not exist
Unable to identify a function that satisfies the given argument types
You may need to add explicit typecasts
at org.netezza.internal.QueryExecutor.getNextResult(QueryExecutor.java:276)
at org.netezza.internal.QueryExecutor.execute(QueryExecutor.java:73)
at org.netezza.sql.NzConnection.execute(NzConnection.java:2639)
at org.netezza.sql.NzStatement._execute(NzStatement.java:848)
at org.netezza.sql.NzStatement.execute(NzStatement.java:305)
at org.talend.dq.analysis.ColumnAnalysisSqlExecutor.executeQuery(Unknown Source)
at org.talend.dq.analysis.ColumnAnalysisSqlExecutor.executeQuery(Unknown Source)
at org.talend.dq.analysis.ColumnAnalysisSqlParallelExecutor.run(Unknown Source)
at org.talend.dq.analysis.ColumnAnalysisSqlExecutor$ExecutiveAnalysisJob.run(Unknown Source)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.talend.platform.logging 4 0 2014-01-13 16:24:42.421
!MESSAGE 2014-01-13 16:24:42,421 ERROR org.talend.dq.analysis.AnalysisExecutor - Query not executed for indicator: "Minimal Length" SQL query: SELECT MIN(CHAR_LENGTH("CM_DESC")) FROM "CVADMSBP"."ADMIN"."NOC_DOCSIS_INVENTORY_ATTR" WHERE ("CM_DESC" IS NOT NULL ) AND (TRIM(IFNULL("CM_DESC",'NULL TALEND')) <> '' )
!ENTRY org.talend.platform.logging 4 0 2014-01-13 16:24:42.622
!MESSAGE 2014-01-13 16:24:42,621 ERROR org.talend.dq.analysis.AnalysisExecutor - At least one analysis execution failed, Check the error logs for more details!