When we extract the column information for nCluster tables we are not handlin npe exceptions. Also I am not sure if nCluster is suppose to return unknown or null datatypes for a column in the catalog table, as this would be unrecreatable information.
Example:
CREATE TABLE "Ivan"."MSC_C_HIST_SAMPLE" (
"TBL_KEY_COL" bigint NOT NULL,
"C_DL_NN" varchar(255) NULL,
"C_ORIG_NN" varchar(255) NULL,
"C_START_DT" date NULL,
"C_START_TM" timestamp NULL,
"C_NW_VOLUME" bigint NULL,
"C_TRANS_TYPE_CD" integer NULL,
"ACCS_METH_ID" integer NULL,
PRIMARY KEY("TBL_KEY_COL"))
GO
CREATE FACT TABLE "Ivan"."REC_IN_Hourly_Agg"
Distribute by Hash("ACCS_METH_ID")
AS (SELECT f."C_DL_NN" AS REC_CHARGED_PT_N,
f."C_ORIG_NN" AS OTHER_PT_N,
f."C_START_DT" AS START_CHARGING_DT,
EXTRACT('HOUR' FROM f."C_START_TM") AS START_CHARGING_HOUR,
SUM(f."C_NW_VOLUME") AS C_DUR,
COUNT(f."C_START_TM") AS NBCOM,
CASE f."C_TRANS_TYPE_CD" WHEN 2 THEN 'V' WHEN 30 THEN 'S' ELSE NULL END AS COM_TYPE,
EXTRACT('DOW' from f."C_START_DT") AS day_of_week,
EXTRACT('MTH' from f."C_START_DT") AS mth_of_cdr,
EXTRACT('WEEK' from f."C_START_DT") AS week_of_cdr,
'I' AS DIRECTION_CD,
f."ACCS_METH_ID"
FROM "Ivan"."MSC_C_HIST_SAMPLE" AS f
WHERE f."C_START_DT" BETWEEN DATE '2011-01-01' AND DATE '2011-03-26'
AND LENGTH(f."C_ORIG_NN") > 7
AND UPPER(TRIM(f."C_ORIG_NN")) = LOWER(TRIM(f."C_ORIG_NN"))
GROUP BY 1,2,3,4,7,8,9,10,11,12)
GO
If you try to script "Ivan"."REC_IN_Hourly_Agg" you will get an NPE exception that isn't been handled. screen shot attached....