1 2 3 Previous Next 32 Replies Latest reply on Aug 31, 2012 4:53 PM by gamvi01 Go to original post
      • 30. Re: Creating trigger on a table
        gamvi01

        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

          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

            After reading your comment somehow my understanding was that it would work if i set model type as VIRTUAL. I got it now.

            1 2 3 Previous Next