You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Zhen Chen (Jira)" <ji...@apache.org> on 2026/01/18 14:14:00 UTC

[jira] [Created] (CALCITE-7384) ArithmeticException "Value 38216 out of range" on SUM aggregation with GROUP BY

Zhen Chen created CALCITE-7384:
----------------------------------

             Summary: ArithmeticException "Value 38216 out of range" on SUM aggregation with GROUP BY
                 Key: CALCITE-7384
                 URL: https://issues.apache.org/jira/browse/CALCITE-7384
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: Zhen Chen


An error will occur when executing the following SQL.
{code:java}
!use scott
SELECT SUM(empno) FROM emp GROUP BY deptno;
!ok {code}
> java.sql.SQLException: Error while executing SQL "SELECT SUM(empno) FROM emp GROUP BY deptno": Value 38216 out of range >     at org.apache.calcite.avatica.Helper.createException(Helper.java:56) >     at org.apache.calcite.avatica.Helper.createException(Helper.java:41) >     at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:164) >     at org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:228) >     at net.hydromatic.quidem.Quidem.checkResult(Quidem.java:317) >     at net.hydromatic.quidem.Quidem.access$2600(Quidem.java:54) >     at net.hydromatic.quidem.Quidem$ContextImpl.checkResult(Quidem.java:1778) >     at net.hydromatic.quidem.Quidem$CheckResultCommand.execute(Quidem.java:985) >     at net.hydromatic.quidem.Quidem$CompositeCommand.execute(Quidem.java:1522) >     at net.hydromatic.quidem.Quidem.execute(Quidem.java:204) >     at org.apache.calcite.test.QuidemTest.checkRun(QuidemTest.java:350) >     at org.apache.calcite.test.QuidemTest.test(QuidemTest.java:532) >     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) >     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >     at java.base/java.lang.reflect.Method.invoke(Method.java:568) >     at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:727) >     at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) >     at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) >     at org.junit.jupiter.engine.extension.SameThreadTimeoutInvocation.proceed(SameThreadTimeoutInvocation.java:45) >     at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:156) >     at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:147) >     at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestTemplateMethod(TimeoutExtension.java:94) >     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(InterceptingExecutableInvoker.java:103) >     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.lambda$invoke$0(InterceptingExecutableInvoker.java:93) >     at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) >     at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) >     at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) >     at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) >     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:92) >     at org.junit.jupiter.engine.execution.InterceptingExecutableInvoker.invoke(InterceptingExecutableInvoker.java:86) >     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:217) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:213) >     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:138) >     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:68) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >     at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.submit(ForkJoinPoolHierarchicalTestExecutorService.java:118) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:226) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask$DefaultDynamicTestExecutor.execute(NodeTestTask.java:204) >     at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:142) >     at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.lambda$execute$2(TestTemplateTestDescriptor.java:110) >     at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) >     at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) >     at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) >     at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) >     at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) >     at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) >     at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) >     at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) >     at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) >     at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) >     at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) >     at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) >     at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) >     at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) >     at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) >     at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) >     at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) >     at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:276) >     at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) >     at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) >     at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) >     at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) >     at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) >     at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) >     at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) >     at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:110) >     at org.junit.jupiter.engine.descriptor.TestTemplateTestDescriptor.execute(TestTemplateTestDescriptor.java:44) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >     at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >     at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141) >     at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139) >     at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138) >     at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95) >     at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) >     at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194) >     at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) >     at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) >     at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) >     at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) >     at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) > Caused by: java.lang.ArithmeticException: Value 38216 out of range >     at org.apache.calcite.linq4j.tree.Primitive.checkRoundedRange(Primitive.java:387) >     at org.apache.calcite.linq4j.tree.Primitive.numberValue(Primitive.java:564) >     at org.apache.calcite.linq4j.tree.Primitive.numberValueRoundDown(Primitive.java:539) >     at Baz$1.apply(Unknown Source) >     at Baz$1.apply(Unknown Source) >     at Baz$1.apply(Unknown Source) >     at org.apache.calcite.adapter.enumerable.BasicAggregateLambdaFactory$AccumulatorAdderSeq.apply(BasicAggregateLambdaFactory.java:81) >     at org.apache.calcite.linq4j.EnumerableDefaults.groupBy_(EnumerableDefaults.java:1177) >     at org.apache.calcite.linq4j.EnumerableDefaults.groupBy(EnumerableDefaults.java:782) >     at org.apache.calcite.linq4j.DefaultEnumerable.groupBy(DefaultEnumerable.java:312) >     at Baz.bind(Unknown Source) >     at org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:367) >     at org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:335) >     at org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:609) >     at org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:600) >     at org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:184) >     at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:64) >     at org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:43) >     at org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:669) >     at org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:669) >     at org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:677) >     at org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:157) >     ... 125 more



--
This message was sent by Atlassian Jira
(v8.20.10#820010)