This is not a solution. By why don't you use a single case stmt and
multiple when-then clause and 1 end clause. At least hive supports it. Not
sure if ANSI SQL does. You may want to check.
On May 22, 2015 10:18 AM, "Parkavi Nandagopal" <[email protected]> wrote:

>  Hi,
>
>
>
> When run the below query for pivoting, Operand stack overflow error is
> coming.
>
> *ERROR:*
>
> Caused by: org.codehaus.janino.JaninoRuntimeException: Baz$9.apply():
> Operand stack overflow at offset 1292
>
>                 at
> org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:490)
>
>                 at
> org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:299)
>
>
>
> *QUERY:*
>
> Select col1,col2,col3,max(ncol1),max(ncol2),……..max(ncol127)  //line1
>
> From
>
> ( select col1,col2,col3,
>
> Case when col4= ‘abc’ and col5 = ‘123’ then max(val) else NULL end as
> ncol1,
>
> …
>
> …
>
> Case when col4=’abc’ and col5 = ‘890’ then max(val) else NULL end as
> ncol127
>
> Case when col4=’abc’ and col5 = ‘891’ then max(val) else NULL end as
> ncol128
>
> Case when col4=’abc’ and col5 = ‘892’ then max(val) else NULL end as
> ncol129
>
> Case when col4=’abc’ and col5 = ‘893’ then max(val) else NULL end as
> ncol130
>
> From facttable
>
> Group by col1,col2,col3,col4,col5 ) as tab1
>
> Group by col1,col2,col3
>
>
>
>
>
> No error upto ncol126, but if I give more than 126 in line1 then I’m
> getting this stack overflow error.
>
>
>
> Then I found, in Janino->codecontext.java, stack size is hardcoded as
> MAX_STACK_SIZE = 254.
>
>
>
> After I increased the stack size to 500, I’m able to get the output upto
> ncol127(in line1).
>
> But if I increase the col after that i.e. ncol128, it is shouting another
> error.
>
>
>
> *ERROR:*
>
> java.lang.VerifyError: (class: Baz$9, method: apply signature:
> ()Ljava/lang/Object;) Signature
> (Ljava/math/BigDecimal;ZLjava/math/BigDecimal;ZLjava/math/BigDecimal;
>
>
>
> Please find the log in the attachment.
>
>
>
> Please help me to solve this issue.
>
>
>
>
>
> Thanks,
>
> Parkavi.
>
>
>
>
>
>
>
> ::DISCLAIMER::
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
> The contents of this e-mail and any attachment(s) are confidential and
> intended for the named recipient(s) only.
> E-mail transmission is not guaranteed to be secure or error-free as
> information could be intercepted, corrupted,
> lost, destroyed, arrive late or incomplete, or may contain viruses in
> transmission. The e mail and its contents
> (with or without referred errors) shall therefore not attach any liability
> on the originator or HCL or its affiliates.
> Views or opinions, if any, presented in this email are solely those of the
> author and may not necessarily reflect the
> views or opinions of HCL or its affiliates. Any form of reproduction,
> dissemination, copying, disclosure, modification,
> distribution and / or publication of this message without the prior
> written consent of authorized representative of
> HCL is strictly prohibited. If you have received this email in error
> please delete it and notify the sender immediately.
> Before opening any email and/or attachments, please check them for viruses
> and other defects.
>
>
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>

Reply via email to