Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-1636

Programmatically configure internal materialized tables

    Details

    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Optional
    • Resolution: Rejected
    • Affects Version/s: 7.3
    • Fix Version/s: None
    • Component/s: Query Engine
    • Labels:
      None

      Description

      I am trying to programatically create a materialized view from the MetadataFactory object. I have created a table object using addTable() and then I call setMaterialized(true). I see there are a couple of other related method names in Table (setMaterializedStagedTable and setMaterializedTable). I assume those are when materializing to an external database. What I am doing is incorrect, however.

      When I try to issue a refresh CALL SYSADMIN.refreshMatView(viewname=>'xyz_metadata.property', invalidate=>false), I get the following exception:
      QueryMetadataException]QueryPlan could not be found for physical group chorus_metadata.property
      at org.teiid.query.metadata.TransformationMetadata.getVirtualPlan(TransformationMetadata.java:453)
      at org.teiid.query.metadata.TempMetadataAdapter.getVirtualPlan(TempMetadataAdapter.java:253)
      at org.teiid.query.optimizer.relational.RelationalPlanner.getGlobalTempTableMetadataId(RelationalPlanner.java:1136)
      at org.teiid.query.tempdata.TempTableDataManager.handleSystemProcedures(TempTableDataManager.java:320)
      at org.teiid.query.tempdata.TempTableDataManager.registerRequest(TempTableDataManager.java:188)
      at org.teiid.query.tempdata.TempTableDataManager.registerRequest(TempTableDataManager.java:170)
      at org.teiid.query.processor.relational.AccessNode.registerRequest(AccessNode.java:197)
      at org.teiid.query.processor.relational.AccessNode.open(AccessNode.java:118)
      at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:250)
      at org.teiid.query.processor.relational.RelationalPlan.open(RelationalPlan.java:152)
      at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:134)
      at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:105)
      at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:115)
      at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:250)
      at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:184)
      at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
      at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:188)
      at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:116)
      at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:290)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:619)
      13 Jun 2011 17:05:43,663 PDT INFO [MATVIEWS] Loading materialized view table #MAT_XYZ_METADATA.PROPERTY

      Subsequent calls to the refresh stored procedure yield an NPE else in Teiid code.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  shawkins Steven Hawkins
                  Reporter:
                  markaddleman Mark Addleman
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: