-
30. Re: Creating trigger on a table
gamvi01 Aug 31, 2012 4:35 PM (in response to shawkins)Steve setting the model to virtual didnt work.
<model type="VIRTUAL" visible="true" name="demo_policy_metadata">
<property name="importer.useFullSchemaName" value="false"/>
<source name="demo_policy_metadata" connection-jndi-name="java:CHORUS-DS" translator-name="chorus-translator-view-demo_policy_metadata"/>
</model>
CREATE VIEW "demo_policy_metadata"."demo_policy" (name, PKEY)
WITH CASCADED CHECK OPTION;
Data for the above would come from (SELECT NAME,PKEY from demopolicy.policy) - demopolicy.policy is an H2 physical table.
I still get the same error.
Caused by: java.lang.Exception: Exception org.teiid.jdbc.TeiidSQLException: demo_policy_metadata.demo_policy is not a valid view. occurred on statement Execute query:CREATE TRIGGER ON demo_policy_metadata.demo_policy INSTEAD OF UPDATE AS FOR EACH ROW BEGIN update H2DS_DEMODATA.FAKE_RECORDS set NAME=new.name,age=new.pkey; END
at com.ca.chorus.db.DbExecutor.handleSqlException(DbExecutor.java:462)
at com.ca.chorus.db.DbExecutor.access$4(DbExecutor.java:453)
at com.ca.chorus.db.DbExecutor$10.call(DbExecutor.java:563)
at com.ca.chorus.db.DbExecutor$10.call(DbExecutor.java:1)
at com.ca.chorus.aop.guice.PerfTracer.trace(PerfTracer.java:58)
at com.ca.chorus.db.DbExecutor.execute(DbExecutor.java:531)
at com.ca.chorus.db.DbExecutor.execute(DbExecutor.java:524)
at com.ca.mfui.chorusR2.server.service.ITObjectsServiceTest.createTrigger(ITObjectsServiceTest.java:1278)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at com.ca.mfui.chorusR2.server.service.ScopeDecoratingRunner$1$1.call(ScopeDecoratingRunner.java:44)
... 28 more
Caused by: org.teiid.jdbc.TeiidSQLException: demo_policy_metadata.demo_policy is not a valid view.
at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:113)
at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:70)
at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:624)
at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:72)
at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:539)
at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:130)
at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:37)
at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
at org.teiid.net.socket.SocketServerInstanceImpl.receivedMessage(SocketServerInstanceImpl.java:220)
at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:255)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:110)
at $Proxy28.read(Unknown Source)
at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:349)
at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:548)
at org.teiid.jdbc.PreparedStatementImpl.execute(PreparedStatementImpl.java:211)
at com.ca.chorus.db.LeakDetectingPreparedStatement.execute(LeakDetectingPreparedStatement.java:187)
at com.ca.chorus.db.DbExecutor$10.call(DbExecutor.java:548)
... 43 more
Caused by: [QueryResolverException]demo_policy_metadata.demo_policy is not a valid view.
at org.teiid.query.resolver.command.AlterResolver.resolveCommand(AlterResolver.java:67)
at org.teiid.query.resolver.QueryResolver.resolveCommand(QueryResolver.java:294)
at org.teiid.query.resolver.QueryResolver.resolveCommand(QueryResolver.java:147)
at org.teiid.dqp.internal.process.Request.resolveCommand(Request.java:291)
at org.teiid.dqp.internal.process.PreparedStatementRequest.resolveCommand(PreparedStatementRequest.java:87)
at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:392)
at org.teiid.dqp.internal.process.PreparedStatementRequest.generatePlan(PreparedStatementRequest.java:138)
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:459)
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:516)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:276)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:215)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:232)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:118)
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:288)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
-
31. Re: Creating trigger on a table
shawkins Aug 31, 2012 4:52 PM (in response to gamvi01)Please check my previous comment where I indicate that this will not work. Please use 8.1.
-
32. Re: Creating trigger on a table
gamvi01 Aug 31, 2012 4:53 PM (in response to shawkins)After reading your comment somehow my understanding was that it would work if i set model type as VIRTUAL. I got it now.