Some more update to the mail above:
The query above has a UDF 'checkNull' used . The UDF code is placed inside
the compiled query code, causing it to fail where there are more case
statements. The below snippet is from the UDF.
{
if (input.end - input.start == 0) {
throw new RuntimeException("IllegalArgumentException : null values
in non nullable fields");
} else
{
out = input;
}
}
Any thoughts on this? Are there any naming conventions while developing a
UDF?
Regards,
Rahul
On Wed, Feb 27, 2019 at 12:14 PM Rahul Raj <rahul.raj@option3.io> wrote:
> Hi,
>
> I am getting compilation error on Drill 1.15 when query contains a large
> number of case statements. I have included the query below. Query works
> fine when few case statements are removed.
>
> org.apache.drill.common.exceptions.UserRemoteException: SYSTEM ERROR:
> CompileException: File
> 'org.apache.drill.exec.compile.DrillJavaFileObject[ProjectorGen8635.java]',
> Line 872, Column 9: ProjectorGen8635.java:872: error: cannot assign a value
> to final variable out out = input; ^
> (compiler.err.cant.assign.val.to.final.var) Fragment 0:0 Please, refer to
> logs for more information. [Error Id: a0d3f054-7c60-4915-9629-55e5dacd8606
> on jiffydemo:31010]
>
> Query is :
>
> SELECT
> CAST(`A1` AS INT) `A1`
> , CAST(`A2` AS INT) `A2`
> , `A3`
> , `A4`
> , `A5`
> , (CASE WHEN (`A6` = '') THEN null ELSE `A6` END) `A6`
> , `A7`
> , `A8`
> , `A9`
> , `A10`
> , CAST(A11 AS INT) `A11`
> , (CASE WHEN (`A12` = '') THEN null ELSE `A12` END) `A12`
> , CAST(`checkNull`(`A13`) AS INT) `A13`
> , CAST(`checkNull`(`A14`) AS INT) `A14`
> , (CASE WHEN (`A15` = '') THEN null ELSE `A15` END) `A15`
> , CAST(`checkNull`(`A16`) AS INT) `A16`
> , CAST(`checkNull`(`A17`) AS INT) `A17`
> , CAST(`checkNull`(`A18`) AS INT) `A18`
> , (CASE WHEN (`A19` = '') THEN null ELSE `A19` END) `A19`
> , `A20`
> , `A21`
> , `A22`
> , (CASE WHEN (`_1` = '') THEN null ELSE `_1` END) `_1`
> , (CASE WHEN (`_2` = '') THEN null ELSE `_2` END) `_2`
> , (CASE WHEN (`_3` = '') THEN null ELSE `_3` END) `_3`
> , (CASE WHEN (`_4` = '') THEN null ELSE `_4` END) `_4`
> , (CASE WHEN (`_5` = '') THEN null ELSE `_5` END) `_5`
> , (CASE WHEN (`_6` = '') THEN null ELSE `_6` END) `_6`
> , (CASE WHEN (`_7` = '') THEN null ELSE `_7` END) `_7`
> , (CASE WHEN (`_8` = '') THEN null ELSE `_8` END) `_8`
> , (CASE WHEN (`_9` = '') THEN null ELSE `_9` END) `_9`
> , (CASE WHEN (`_10` = '') THEN null ELSE `_10` END) `_10`
> , (CASE WHEN (`_11` = '') THEN null ELSE `_11` END) `_11`
> , (CASE WHEN (`_12` = '') THEN null ELSE `_12` END) `_12`
> , (CASE WHEN (`_13` = '') THEN null ELSE `_13` END) `_13`
> , (CASE WHEN (`_14` = '') THEN null ELSE `_14` END) `_14`
> , (CASE WHEN (`_15` = '') THEN null ELSE `_15` END) `_15`
> , (CASE WHEN (`_16` = '') THEN null ELSE `_16` END) `_16`
> , (CASE WHEN (`_17` = '') THEN null ELSE `_17` END) `_17`
> , (CASE WHEN (`_18` = '') THEN null ELSE `_18` END) `_18`
> , (CASE WHEN (`_19` = '') THEN null ELSE `_19` END) `_19`
> , (CASE WHEN (`_20` = '') THEN null ELSE `_20` END) `_20`
> , (CASE WHEN (`_21` = '') THEN null ELSE `_21` END) `_21`
> , (CASE WHEN (`_22` = '') THEN null ELSE `_22` END) `_22`
> , (CASE WHEN (`_23` = '') THEN null ELSE `_23` END) `_23`
> , (CASE WHEN (`_24` = '') THEN null ELSE `_24` END) `_24`
> , (CASE WHEN (`_25` = '') THEN null ELSE `_25` END) `_25`
> , (CASE WHEN (`_26` = '') THEN null ELSE `_26` END) `_26`
> , (CASE WHEN (`_27` = '') THEN null ELSE `_27` END) `_27`
> , (CASE WHEN (`_28` = '') THEN null ELSE `_28` END) `_28`
> , (CASE WHEN (`_29` = '') THEN null ELSE `_29` END) `_29`
> , (CASE WHEN (`_30` = '') THEN null ELSE `_30` END) `_30`
> , (CASE WHEN (`_31` = '') THEN null ELSE `_31` END) `_31`
> , (CASE WHEN (`_32` = '') THEN null ELSE `_32` END) `_32`
> , (CASE WHEN (`_33` = '') THEN null ELSE `_33` END) `_33`
> , (CASE WHEN (`_34` = '') THEN null ELSE `_34` END) `_34`
> , (CASE WHEN (`_35` = '') THEN null ELSE `_35` END) `_35`
> , (CASE WHEN (`_36` = '') THEN null ELSE `_36` END) `_36`
> , (CASE WHEN (`_37` = '') THEN null ELSE `_37` END) `_37`
> , (CASE WHEN (`_38` = '') THEN null ELSE `_38` END) `_38`
> , (CASE WHEN (`_39` = '') THEN null ELSE `_39` END) `_39`
> , (CASE WHEN (`_40` = '') THEN null ELSE `_40` END) `_40`
> , (CASE WHEN (`_41` = '') THEN null ELSE `_41` END) `_41`
> , (CASE WHEN (`_42` = '') THEN null ELSE `_42` END) `_42`
> , (CASE WHEN (`_43` = '') THEN null ELSE `_43` END) `_43`
> , (CASE WHEN (`_44` = '') THEN null ELSE `_44` END) `_44`
> , (CASE WHEN (`_45` = '') THEN null ELSE `_45` END) `_45`
> , (CASE WHEN (`_46` = '') THEN null ELSE `_46` END) `_46`
> , (CASE WHEN (`_47` = '') THEN null ELSE `_47` END) `_47`
> , (CASE WHEN (`_48` = '') THEN null ELSE `_48` END) `_48`
> , (CASE WHEN (`_49` = '') THEN null ELSE `_49` END) `_49`
> , (CASE WHEN (`_50` = '') THEN null ELSE `_50` END) `_50`
> , (CASE WHEN (`_51` = '') THEN null ELSE `_51` END) `_51`
> , (CASE WHEN (`_52` = '') THEN null ELSE `_52` END) `_52`
> , (CASE WHEN (`_53` = '') THEN null ELSE `_53` END) `_53`
> , (CASE WHEN (`_54` = '') THEN null ELSE `_54` END) `_54`
> , (CASE WHEN (`_55` = '') THEN null ELSE `_55` END) `_55`
> , (CASE WHEN (`_56` = '') THEN null ELSE `_56` END) `_56`
> , (CASE WHEN (`_57` = '') THEN null ELSE `_57` END) `_57`
> , (CASE WHEN (`_58` = '') THEN null ELSE `_58` END) `_58`
> , (CASE WHEN (`_59` = '') THEN null ELSE `_59` END) `_59`
> , (CASE WHEN (`_60` = '') THEN null ELSE `_60` END) `_60`
> , (CASE WHEN (`_61` = '') THEN null ELSE `_61` END) `_61`
> , (CASE WHEN (`_62` = '') THEN null ELSE `_62` END) `_62`
> , (CASE WHEN (`_63` = '') THEN null ELSE `_63` END) `_63`
> , (CASE WHEN (`_64` = '') THEN null ELSE `_64` END) `_64`
> , (CASE WHEN (`_65` = '') THEN null ELSE `_65` END) `_65`
> , (CASE WHEN (`_66` = '') THEN null ELSE `_66` END) `_66`
> , (CASE WHEN (`_67` = '') THEN null ELSE `_67` END) `_67`
> , (CASE WHEN (`_68` = '') THEN null ELSE `_68` END) `_68`
> , (CASE WHEN (`_69` = '') THEN null ELSE `_69` END) `_69`
> , (CASE WHEN (`_70` = '') THEN null ELSE `_70` END) `_70`
> , (CASE WHEN (`_71` = '') THEN null ELSE `_71` END) `_71`
> , (CASE WHEN (`_72` = '') THEN null ELSE `_72` END) `_72`
> , (CASE WHEN (`_73` = '') THEN null ELSE `_73` END) `_73`
> , (CASE WHEN (`_74` = '') THEN null ELSE `_74` END) `_74`
>
>
> FROM
> ( select '0' `A1`, '1' `A2`, '2' `A3`, '3' `A4`, '4' `A5`, '5' `A6`, '6'
> `A7`, '7' `A8`, '8' `A9`, '9' `A10`, '10' `A11`, '11' `A12`, '12' `A13`,
> '13' `A14`, '14' `A15`, '15' `A16`, '16' `A17`, '17' `A18`, '18' `A19`,
> '19' `A20`, '20' `A21`, '21' `A22`, '23' `_1`, '24' `_2`, '25' `_3`, '26'
> `_4`, '27' `_5`, '28' `_6`, '29' `_7`, '30' `_8`, '31' `_9`, '32' `_10`,
> '33' `_11`, '34' `_12`, '35' `_13`, '36' `_14`, '37' `_15`, '38' `_16`,
> '39' `_17`, '40' `_18`, '41' `_19`, '42' `_20`, '43' `_21`, '44' `_22`,
> '45' `_23`, '46' `_24`, '47' `_25`, '48' `_26`, '49' `_27`, '50' `_28`,
> '51' `_29`, '52' `_30`, '53' `_31`, '54' `_32`, '55' `_33`, '56' `_34`,
> '57' `_35`, '58' `_36`, '59' `_37`, '60' `_38`, '61' `_39`, '62' `_40`,
> '63' `_41`, '64' `_42`, '65' `_43`, '66' `_44`, '67' `_45`, '68' `_46`,
> '69' `_47`, '70' `_48`, '71' `_49`, '72' `_50`, '73' `_51`, '74' `_52`,
> '75' `_53`, '76' `_54`, '77' `_55`, '78' `_56`, '79' `_57`, '80' `_58`,
> '81' `_59`, '82' `_60`, '83' `_61`, '84' `_62`, '85' `_63`, '86' `_64`,
> '87' `_65`, '88' `_66`, '89' `_67`, '90' `_68`, '91' `_69`, '92' `_70`,
> '93' `_71`, '94' `_72`, '95' `_73`, '96' `_74`, '97' `_75`, '98' `_76`,
> '99' `_77`, '100' `_78`, '101' `_79`, '102' `_80`, '103' `_81`, '104'
> `_82`, '105' `_83`, '106' `_84`, '107' `_85`, '108' `_86`, '109' `_87`,
> '110' `_88`, '111' `_89`, '112' `_90`, '113' `_91`, '114' `_92`, '115'
> `_93`, '116' `_94`, '117' `_95`, '118' `_96`, '119' `_97`, '120' `_98`,
> '121' `_99`, '122' `_100`, '123' `_101`, '124' `_102`, '125' `_103`, '126'
> `_104`, '127' `_105`, '128' `_106`, '129' `_107`, '130' `_108`, '131'
> `_109`, '132' `_110`, '133' `_111`, '134' `_112`, '135' `_113`, '136'
> `_114`, '137' `_115`, '138' `_116`, '139' `_117`, '140' `_118`, '141'
> `_119`, '142' `_120`, '143' `_121`, '144' `_122`, '145' `_123`, '146'
> `_124`, '147' `_125`, '148' `_126`, '149' `_127`, '150' `_128`, '151'
> `_129`, '152' `_130`, '153' `_131`, '154' `_132`, '155' `_133`, '156'
> `_134`, '157' `_135`, '158' `_136`, '159' `_137`, '160' `_138`, '161'
> `_139`, '162' `_140`, '163' `_141`, '164' `_142`, '165' `_143`, '166'
> `_144`, '167' `_145`, '168' `_146`, '169' `_147`, '170' `_148`, '171'
> `_149`, '172' `_150`, '173' `_151`, '174' `_152`, '175' `_153`, '176'
> `_154`, '177' `_155`, '178' `_156`, '179' `_157`, '180' `_158`, '181'
> `_159`, '182' `_160`, '183' `_161`, '184' `_162`, '185' `_163`, '186'
> `_164`, '187' `_165`, '188' `_166`, '189' `_167`, '190' `_168`, '191'
> `_169`, '192' `_170`, '193' `_171`, '194' `_172`, '195' `_173`, '196'
> `_174`, '197' `_175`, '198' `_176`, '199' `_177`, '200' `_178`, '201'
> `_179`, '202' `_180`, '203' `_181`, '204' `_182`, '205' `_183`, '206'
> `_184`, '207' `_185` from (values(1)) )
>
> Regards,
> Rahul
>
--
_*** This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom it is
addressed. If you are not the named addressee then you should not
disseminate, distribute or copy this e-mail. Please notify the sender
immediately and delete this e-mail from your system.***_
|