]
Matus Makovy reopened TEIIDDES-2942:
------------------------------------
When I try to preview the procedure I get this exeception:
{code:java}
java.lang.ClassCastException: org.teiid.designer.metamodels.relational.impl.ProcedureImpl
cannot be cast to org.teiid.designer.metamodels.relational.Table
at
org.teiid.designer.runtime.preview.DependentObjectHelper.findSourceTables(DependentObjectHelper.java:121)
at
org.teiid.designer.runtime.preview.DependentObjectHelper.calculateDependentObjects(DependentObjectHelper.java:86)
at
org.teiid.designer.runtime.preview.DependentObjectHelper.<init>(DependentObjectHelper.java:74)
at
org.teiid.designer.runtime.preview.PreviewManager.getVdbSourceModelInfos(PreviewManager.java:588)
at
org.teiid.designer.runtime.preview.PreviewManager.createDynamicVdb(PreviewManager.java:352)
at
org.teiid.designer.runtime.preview.PreviewManager.generateDynamicVdb(PreviewManager.java:132)
at
org.teiid.designer.runtime.preview.PreviewManager.getDynamicVdbStatus(PreviewManager.java:107)
at
org.teiid.designer.runtime.ui.preview.PreviewDataWorker.internalRun(PreviewDataWorker.java:327)
at
org.teiid.designer.runtime.ui.preview.PreviewDataWorker.run(PreviewDataWorker.java:209)
at
org.teiid.designer.runtime.ui.preview.PreviewTableDataContextAction.run(PreviewTableDataContextAction.java:99)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:473)
at
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
at
org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
at
org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at
org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.jboss.reddeer.eclipse.core.UITestApplication.start(UITestApplication.java:47)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
{code}
Procedure input parameter has result in the generated DDL
---------------------------------------------------------
Key: TEIIDDES-2942
URL:
https://issues.jboss.org/browse/TEIIDDES-2942
Project: Teiid Designer
Issue Type: Bug
Components: Dynamic VDBs
Affects Versions: 10.0.2
Environment: Fedora 24
Reporter: Matej Kralik
Priority: Critical
Fix For: 10.0.2
Attachments: ddlProject.zip
I have a procedure with one input parameter. When I want to preview this procedure or
deploy dynamic VDB, server shows me error that:
{code:java}
TEIID31100 Parsing error: Encountered "(4000) [*]result[*]) RETURNS" at line 2,
column 52.
Procedure testProc RESULT param p1 must be of type OUT.
{code}
I noticed that generated dynamic VDB contains 'result' in this parameter but this
parameter has set direction to IN. When I delete the result from dynamic VDB, the
procedure works fine.
Actual DDL:
{code:java}
CREATE VIRTUAL PROCEDURE testProc (p1 string(4000) result) RETURNS TABLE (xml_out xml)
OPTIONS ("REST:METHOD" 'GET', "REST:URI" 'test/{p1}')
AS
BEGIN
SELECT XMLELEMENT(NAME test, XMLFOREST(ProcedureModel.testProc.p1 AS elem1,
'elem2' AS elem2)) AS xml_out;
END;
{code}
expected DDL:
{code:java}
CREATE VIRTUAL PROCEDURE testProc (p1 string(4000)) RETURNS TABLE (xml_out xml) OPTIONS
("REST:METHOD" 'GET', "REST:URI" 'test/{p1}')
AS
BEGIN
SELECT XMLELEMENT(NAME test, XMLFOREST(ProcedureModel.testProc.p1 AS elem1,
'elem2' AS elem2)) AS xml_out;
END;
{code}