db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bryan Pendleton (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3094) Grouping of expressions causes NullPointerException
Date Wed, 27 Feb 2008 03:34:51 GMT

     [ https://issues.apache.org/jira/browse/DERBY-3094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Bryan Pendleton updated DERBY-3094:
-----------------------------------

    Attachment: sortExpressions.diff

Attached is sortExpressions.diff, which proposes to sort
the expressions based on the number of ColumnReferences
that each contains, using the technique suggested by Army
of counting those refs using the CollectNodesVisitor.

It seems to handle all the existing test cases, as well
as a few new ones that I added to GroupByExpressionTest.java
as part of this patch.

Please have a look and tell me what you think.


> Grouping of expressions causes NullPointerException
> ---------------------------------------------------
>
>                 Key: DERBY-3094
>                 URL: https://issues.apache.org/jira/browse/DERBY-3094
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.3.1.4
>         Environment: Windows XP, Eclipse 3.2.2, java 1.5.0.11
>            Reporter: Peter Balon
>            Assignee: Bryan Pendleton
>            Priority: Critical
>         Attachments: d3094_followup.htm, modifyVisitorDoesntWork.diff, notes.html, sortExpressions.diff,
twoPass.diff, TwoPassForHavingClauseAlso.diff, TwoPassVisitor.diff, TwoPassVisitorWithCommentsAndTests.diff
>
>
> Following steps to reproduce the bug:
> create table xx (a double, b double);
> insert into xx values (2, 3);
> select a, a*(b/100.000000), count(*) from xx  group by a, a*(b/100.000000);
> Starting run
> select a, a*(b/100.000000), count(*) from xx 
> group by a, a*(b/100.000000)
> Run successful
> SQL State = 38000 SQL Code = 20000 SQL Message = Bei der Auswertung eines Ausdrucks wurde
die Ausnahme 'java.lang.NullPointerException' ausgelöst. Exception message = java.sql.SQLException:
Bei der Auswertung eines Ausdrucks wurde die Ausnahme 'java.lang.NullPointerException' ausgelöst.
> Work around:
> select a, a*(b/100.000000), count(*) from xx group by a, b, a*(b/100.000000) 
> Stack trace from application:
> java.sql.SQLException: Bei der Auswertung eines Ausdrucks wurde die Ausnahme 'java.lang.NullPointerException'
ausgelöst.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.seeNextException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown Source)
> 	at de.arcor.billy.report.views.designer.ReportViewerView.setInput(ReportViewerView.java:255)
> 	at de.arcor.billy.report.views.designer.ReportViewerView.createPartControl(ReportViewerView.java:113)
> 	at org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:332)
> 	at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:197)
> 	at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
> 	at org.eclipse.ui.internal.Perspective.showView(Perspective.java:1675)
> 	at org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:987)
> 	at org.eclipse.ui.internal.WorkbenchPage.access$13(WorkbenchPage.java:968)
> 	at org.eclipse.ui.internal.WorkbenchPage$13.run(WorkbenchPage.java:3514)
> 	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
> 	at org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3511)
> 	at de.arcor.billy.report.data.ReportDataAdvisor$2.perspectiveChanged(ReportDataAdvisor.java:268)
> 	at de.arcor.billy.system.actions.AbstractOpenPerspectiveActionDelegate$1.run(AbstractOpenPerspectiveActionDelegate.java:66)
> 	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> 	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
> 	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3325)
> 	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2971)
> 	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
> 	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
> 	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
> 	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
> 	at de.arcor.billy.product.Billy.run(Billy.java:15)
> 	at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
> 	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
> 	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
> 	at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
> 	at org.eclipse.core.launcher.Main.run(Main.java:977)
> 	at org.eclipse.core.launcher.Main.main(Main.java:952)
> Caused by: java.sql.SQLException: Java-Ausnahme: ': java.lang.NullPointerException'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	... 42 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.derby.exe.ac9b638174x0115x5f93x1332x0000046fd8a01b.e10(Unknown Source)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.doProjection(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.getNextRowCore(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getNextRowFromSource(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getNextRowCore(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(Unknown Source)
> 	... 37 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message