[teiid-issues] [JBoss JIRA] (TEIID-3445) StackOverflowError on TempTableStore.getTempTable()

Mark Addleman (JIRA) issues at jboss.org
Mon Apr 20 17:14:19 EDT 2015


    [ https://issues.jboss.org/browse/TEIID-3445?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13060794#comment-13060794 ] 

Mark Addleman commented on TEIID-3445:
--------------------------------------

USER COMMAND:
BEGIN
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
END

----------------------------------------------------------------------------
OPTIMIZE: 
BEGIN
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
END

####################################################
PROCEDURE COMMAND: BEGIN
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
END
OPTIMIZING SUB-COMMANDS: 

----------------------------------------------------------------------------
OPTIMIZE: 
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t

----------------------------------------------------------------------------
GENERATE CANONICAL: 
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t

CANONICAL PLAN: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors})
  Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t})
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id]})
      Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}})
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
          Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors()})


============================================================================
EXECUTING PlaceAccess

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors})
  Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t})
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id]})
      Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}})
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000})
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors()})


============================================================================
EXECUTING AssignOutputElements

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count]})
  Source(groups=[#mom_collectors])
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=[t.hostname, t.port, t.id]})
      Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=[t.hostname, t.port, t.id]})
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})


============================================================================
EXECUTING MergeVirtual

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count]})
  Source(groups=[#mom_collectors])
    Project(groups=[t])
      Source(groups=[t])
        Project(groups=[mom.connected_collectors])
          Access(groups=[mom.connected_collectors])
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})


============================================================================
EXECUTING CleanCriteria

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=null})
  Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, OUTPUT_COLS=null})
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=null})
      Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=null})
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=null})
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=null})
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=null})


============================================================================
EXECUTING RaiseAccess

AFTER: 
Project(groups=[])
  Source(groups=[#mom_collectors])
    Project(groups=[t])
      Source(groups=[t])
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=null})
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=null})
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=null})


============================================================================
EXECUTING AssignOutputElements

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count]})
  Source(groups=[#mom_collectors])
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=[t.hostname, t.port, t.id]})
      Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=[t.hostname, t.port, t.id]})
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})


============================================================================
EXECUTING CalculateCost

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count], EST_CARDINALITY=-1.0})
  Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, OUTPUT_COLS=null, EST_CARDINALITY=-1.0})
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=[t.hostname, t.port, t.id], EST_CARDINALITY=-1.0})
      Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=[t.hostname, t.port, t.id], EST_CARDINALITY=-1.0, EST_COL_STATS={t.hostname=[-1.0, -1.0], t.port=[-1.0, -1.0], t.id=[-1.0, -1.0]}})
        Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_CARDINALITY=-1.0})
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_CARDINALITY=-1.0})
            Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_COL_STATS={mom.connected_collectors.hostname=[-1.0, -1.0], mom.connected_collectors.port=[-1.0, -1.0], mom.connected_collectors.id=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})


============================================================================
EXECUTING PlanSorts

AFTER: 
Project(groups=[])
  Source(groups=[#mom_collectors])
    Project(groups=[t])
      Source(groups=[t])
        Project(groups=[mom.connected_collectors])
          Access(groups=[mom.connected_collectors])
            Source(groups=[mom.connected_collectors])


============================================================================
EXECUTING CollapseSource

AFTER: 
Project(groups=[])
  Source(groups=[#mom_collectors])
    Project(groups=[t])
      Source(groups=[t])
        Project(groups=[mom.connected_collectors])
          Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=EXEC mom.connected_collectors()})


============================================================================
CONVERTING PLAN TREE TO PROCESS TREE

PROCESS PLAN = 
ProjectIntoNode(0) output=[Count] #mom_collectors
  ProjectNode(1) output=[t.hostname, t.port, t.id] [t.hostname, t.port, t.id]
    ProjectNode(2) output=[t.hostname, t.port, t.id] [mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]
      AccessNode(3) output=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id] EXEC mom.connected_collectors()

============================================================================

----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectIntoNode(0) output=[Count] #mom_collectors
  ProjectNode(1) output=[t.hostname, t.port, t.id] [t.hostname, t.port, t.id]
    ProjectNode(2) output=[t.hostname, t.port, t.id] [mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]
      AccessNode(3) output=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id] EXEC mom.connected_collectors()

============================================================================

----------------------------------------------------------------------------
OPTIMIZE: 
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t

----------------------------------------------------------------------------
GENERATE CANONICAL: 
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t

CANONICAL PLAN: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors})
  Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t})
    Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id]})
      Source(groups=[t], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t.hostname=apm_server.connected_collectors.hostname, t.port=apm_server.connected_collectors.port, t.id=apm_server.connected_collectors.id}})
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
          Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors()})


============================================================================
EXECUTING PlaceAccess

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors})
  Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t})
    Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id]})
      Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}})
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000})
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors()})


============================================================================
EXECUTING AssignOutputElements

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count]})
  Source(groups=[#apm_collectors])
    Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
      Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})


============================================================================
EXECUTING MergeVirtual

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count]})
  Source(groups=[#apm_collectors])
    Project(groups=[t AS t__1])
      Source(groups=[t AS t__1])
        Project(groups=[apm_server.connected_collectors])
          Access(groups=[apm_server.connected_collectors])
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})


============================================================================
EXECUTING CleanCriteria

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=null})
  Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, OUTPUT_COLS=null})
    Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=null})
      Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=null})
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=null})
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=null})
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=null})


============================================================================
EXECUTING RaiseAccess

AFTER: 
Project(groups=[])
  Source(groups=[#apm_collectors])
    Project(groups=[t AS t__1])
      Source(groups=[t AS t__1])
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=null})
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=null})
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=null})


============================================================================
EXECUTING AssignOutputElements

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count]})
  Source(groups=[#apm_collectors])
    Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
      Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})


============================================================================
EXECUTING CalculateCost

AFTER: 
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count], EST_CARDINALITY=-1.0})
  Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, OUTPUT_COLS=null, EST_CARDINALITY=-1.0})
    Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id], EST_CARDINALITY=-1.0})
      Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id], EST_CARDINALITY=-1.0, EST_COL_STATS={t__1.hostname=[-1.0, -1.0], t__1.port=[-1.0, -1.0], t__1.id=[-1.0, -1.0]}})
        Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_CARDINALITY=-1.0})
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_CARDINALITY=-1.0})
            Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_COL_STATS={apm_server.connected_collectors.hostname=[-1.0, -1.0], apm_server.connected_collectors.port=[-1.0, -1.0], apm_server.connected_collectors.id=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})


============================================================================
EXECUTING PlanSorts

AFTER: 
Project(groups=[])
  Source(groups=[#apm_collectors])
    Project(groups=[t AS t__1])
      Source(groups=[t AS t__1])
        Project(groups=[apm_server.connected_collectors])
          Access(groups=[apm_server.connected_collectors])
            Source(groups=[apm_server.connected_collectors])


============================================================================
EXECUTING CollapseSource

AFTER: 
Project(groups=[])
  Source(groups=[#apm_collectors])
    Project(groups=[t AS t__1])
      Source(groups=[t AS t__1])
        Project(groups=[apm_server.connected_collectors])
          Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=EXEC apm_server.connected_collectors()})


============================================================================
CONVERTING PLAN TREE TO PROCESS TREE

PROCESS PLAN = 
ProjectIntoNode(4) output=[Count] #apm_collectors
  ProjectNode(5) output=[t__1.hostname, t__1.port, t__1.id] [t__1.hostname, t__1.port, t__1.id]
    ProjectNode(6) output=[t__1.hostname, t__1.port, t__1.id] [apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]
      AccessNode(7) output=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id] EXEC apm_server.connected_collectors()

============================================================================

----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectIntoNode(4) output=[Count] #apm_collectors
  ProjectNode(5) output=[t__1.hostname, t__1.port, t__1.id] [t__1.hostname, t__1.port, t__1.id]
    ProjectNode(6) output=[t__1.hostname, t__1.port, t__1.id] [apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]
      AccessNode(7) output=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id] EXEC apm_server.connected_collectors()

============================================================================

----------------------------------------------------------------------------
OPTIMIZE: 
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)

----------------------------------------------------------------------------
GENERATE CANONICAL: 
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)

CANONICAL PLAN: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false})
  Project(groups=[#mom_collectors], props={PROJECT_COLS=['add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id]})
    Select(groups=[#mom_collectors], props={SELECT_CRITERIA=(#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)})
      Source(groups=[#mom_collectors])
  Project(groups=[#apm_collectors], props={PROJECT_COLS=['delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id]})
    Select(groups=[#apm_collectors], props={SELECT_CRITERIA=(#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)})
      Source(groups=[#apm_collectors])


----------------------------------------------------------------------------
OPTIMIZE: 
SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors

----------------------------------------------------------------------------
GENERATE CANONICAL: 
SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors

CANONICAL PLAN: 
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
  Source(groups=[#apm_collectors])


============================================================================
EXECUTING PlaceAccess

AFTER: 
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
  Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
    Source(groups=[#apm_collectors])


============================================================================
EXECUTING RaiseAccess

AFTER: 
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
  Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
    Source(groups=[#apm_collectors])


============================================================================
EXECUTING AssignOutputElements

AFTER: 
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], OUTPUT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
  Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port]})
    Source(groups=[#apm_collectors], props={OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port]})


============================================================================
EXECUTING CalculateCost

AFTER: 
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], OUTPUT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#apm_collectors.hostname, #apm_collectors.port)=[-1.0, -1.0]}})
  Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors.hostname=[-1.0, -1.0], #apm_collectors.port=[-1.0, -1.0]}})
    Source(groups=[#apm_collectors], props={OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port], EST_COL_STATS={#apm_collectors.hostname=[-1.0, -1.0], #apm_collectors.port=[-1.0, -1.0]}, EST_CARDINALITY=256.0})


============================================================================
EXECUTING PlanSorts

AFTER: 
Project(groups=[#apm_collectors])
  Access(groups=[#apm_collectors])
    Source(groups=[#apm_collectors])


============================================================================
EXECUTING CollapseSource

AFTER: 
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], OUTPUT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#apm_collectors.hostname, #apm_collectors.port)=[-1.0, -1.0]}})
  Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors.hostname=[-1.0, -1.0], #apm_collectors.port=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #apm_collectors.hostname, #apm_collectors.port FROM #apm_collectors})


============================================================================
CONVERTING PLAN TREE TO PROCESS TREE

PROCESS PLAN = 
ProjectNode(8) output=[(#apm_collectors.hostname, #apm_collectors.port)] [(#apm_collectors.hostname, #apm_collectors.port)]
  AccessNode(9) output=[#apm_collectors.hostname, #apm_collectors.port] SELECT #apm_collectors.hostname, #apm_collectors.port FROM #apm_collectors

============================================================================

----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectNode(8) output=[(#apm_collectors.hostname, #apm_collectors.port)] [(#apm_collectors.hostname, #apm_collectors.port)]
  AccessNode(9) output=[#apm_collectors.hostname, #apm_collectors.port] SELECT #apm_collectors.hostname, #apm_collectors.port FROM #apm_collectors

============================================================================

----------------------------------------------------------------------------
OPTIMIZE: 
SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors

----------------------------------------------------------------------------
GENERATE CANONICAL: 
SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors

CANONICAL PLAN: 
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
  Source(groups=[#mom_collectors])


============================================================================
EXECUTING PlaceAccess

AFTER: 
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
  Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
    Source(groups=[#mom_collectors])


============================================================================
EXECUTING RaiseAccess

AFTER: 
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
  Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
    Source(groups=[#mom_collectors])


============================================================================
EXECUTING AssignOutputElements

AFTER: 
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], OUTPUT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
  Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port]})
    Source(groups=[#mom_collectors], props={OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port]})


============================================================================
EXECUTING CalculateCost

AFTER: 
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], OUTPUT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#mom_collectors.hostname, #mom_collectors.port)=[-1.0, -1.0]}})
  Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors.hostname=[-1.0, -1.0], #mom_collectors.port=[-1.0, -1.0]}})
    Source(groups=[#mom_collectors], props={OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port], EST_COL_STATS={#mom_collectors.hostname=[-1.0, -1.0], #mom_collectors.port=[-1.0, -1.0]}, EST_CARDINALITY=256.0})


============================================================================
EXECUTING PlanSorts

AFTER: 
Project(groups=[#mom_collectors])
  Access(groups=[#mom_collectors])
    Source(groups=[#mom_collectors])


============================================================================
EXECUTING CollapseSource

AFTER: 
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], OUTPUT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#mom_collectors.hostname, #mom_collectors.port)=[-1.0, -1.0]}})
  Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors.hostname=[-1.0, -1.0], #mom_collectors.port=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #mom_collectors.hostname, #mom_collectors.port FROM #mom_collectors})


============================================================================
CONVERTING PLAN TREE TO PROCESS TREE

PROCESS PLAN = 
ProjectNode(10) output=[(#mom_collectors.hostname, #mom_collectors.port)] [(#mom_collectors.hostname, #mom_collectors.port)]
  AccessNode(11) output=[#mom_collectors.hostname, #mom_collectors.port] SELECT #mom_collectors.hostname, #mom_collectors.port FROM #mom_collectors

============================================================================

----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectNode(10) output=[(#mom_collectors.hostname, #mom_collectors.port)] [(#mom_collectors.hostname, #mom_collectors.port)]
  AccessNode(11) output=[#mom_collectors.hostname, #mom_collectors.port] SELECT #mom_collectors.hostname, #mom_collectors.port FROM #mom_collectors

============================================================================

============================================================================
EXECUTING PlaceAccess

AFTER: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false})
  Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
        Source(groups=[#mom_collectors AS #mom_collectors__1])
  Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
        Source(groups=[#apm_collectors AS #apm_collectors__1])


============================================================================
EXECUTING PushSelectCriteria

AFTER: 
SetOperation(groups=[])
  Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
        Source(groups=[#mom_collectors AS #mom_collectors__1])
  Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
        Source(groups=[#apm_collectors AS #apm_collectors__1])


============================================================================
EXECUTING CleanCriteria

AFTER: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=null})
  Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=null})
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=null})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
        Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=null})
  Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=null})
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=null})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
        Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=null})


============================================================================
EXECUTING PlanUnions

AFTER: 
SetOperation(groups=[])
  Project(groups=[#mom_collectors AS #mom_collectors__1])
    Select(groups=[#mom_collectors AS #mom_collectors__1])
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
        Source(groups=[#mom_collectors AS #mom_collectors__1])
  Project(groups=[#apm_collectors AS #apm_collectors__1])
    Select(groups=[#apm_collectors AS #apm_collectors__1])
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
        Source(groups=[#apm_collectors AS #apm_collectors__1])


============================================================================
EXECUTING RaiseAccess
LOW Relational Planner Negation is not supported by source __TEMP__ - (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) was not pushed
LOW Relational Planner SubqueryIn is not supported by source __TEMP__ - (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) was not pushed
LOW Relational Planner Negation is not supported by source __TEMP__ - (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors) was not pushed
LOW Relational Planner SubqueryIn is not supported by source __TEMP__ - (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors) was not pushed

AFTER: 
SetOperation(groups=[])
  Project(groups=[#mom_collectors AS #mom_collectors__1])
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=null})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
        Source(groups=[#mom_collectors AS #mom_collectors__1])
  Project(groups=[#apm_collectors AS #apm_collectors__1])
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=null})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
        Source(groups=[#apm_collectors AS #apm_collectors__1])


============================================================================
EXECUTING AssignOutputElements

AFTER: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
  Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
        Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
  Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
        Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})


============================================================================
EXECUTING CalculateCost

AFTER: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=127.99999, EST_COL_STATS={'add'=[1.5, 1.5], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
  Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'add'=[1.0, 1.0], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
        Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
  Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'delete'=[1.0, 1.0], #apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
        Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})


============================================================================
EXECUTING MergeCriteria

AFTER: 
SetOperation(groups=[])
  Project(groups=[#mom_collectors AS #mom_collectors__1])
    Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
        Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
  Project(groups=[#apm_collectors AS #apm_collectors__1])
    Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
        Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})


============================================================================
EXECUTING PlanSorts

AFTER: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=127.99999, EST_COL_STATS={'add'=[1.5, 1.5], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, IS_DUP_REMOVAL=true})
  Project(groups=[#mom_collectors AS #mom_collectors__1])
    Select(groups=[#mom_collectors AS #mom_collectors__1])
      Access(groups=[#mom_collectors AS #mom_collectors__1])
        Source(groups=[#mom_collectors AS #mom_collectors__1])
  Project(groups=[#apm_collectors AS #apm_collectors__1])
    Select(groups=[#apm_collectors AS #apm_collectors__1])
      Access(groups=[#apm_collectors AS #apm_collectors__1])
        Source(groups=[#apm_collectors AS #apm_collectors__1])


============================================================================
EXECUTING CollapseSource

AFTER: 
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=127.99999, EST_COL_STATS={'add'=[1.5, 1.5], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, IS_DUP_REMOVAL=true})
  Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'add'=[1.0, 1.0], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
    Select(groups=[#mom_collectors AS #mom_collectors__1])
      Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id FROM #mom_collectors AS #mom_collectors__1})
  Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'delete'=[1.0, 1.0], #apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
    Select(groups=[#apm_collectors AS #apm_collectors__1])
      Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id FROM #apm_collectors AS #apm_collectors__1})


============================================================================
CONVERTING PLAN TREE TO PROCESS TREE

PROCESS PLAN = 
DupRemoveNode(13) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] 
  UnionAllNode(12) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] 
    ProjectNode(14) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] ['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
      SelectNode(15) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)
        AccessNode(16) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] SELECT #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors
    ProjectNode(17) output=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] ['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]
      SelectNode(18) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
        AccessNode(19) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] SELECT #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors

============================================================================

----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
DupRemoveNode(13) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] 
  UnionAllNode(12) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] 
    ProjectNode(14) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] ['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
      SelectNode(15) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)
        AccessNode(16) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] SELECT #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors
    ProjectNode(17) output=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] ['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]
      SelectNode(18) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
        AccessNode(19) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] SELECT #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors

============================================================================
	COMMAND STATEMENT:
 INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
		STATEMENT COMMAND PROCESS PLAN:
 ProjectIntoNode(0) output=[Count] #mom_collectors
  ProjectNode(1) output=[t.hostname, t.port, t.id] [t.hostname, t.port, t.id]
    ProjectNode(2) output=[t.hostname, t.port, t.id] [mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]
      AccessNode(3) output=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id] EXEC mom.connected_collectors()

	COMMAND STATEMENT:
 INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
		STATEMENT COMMAND PROCESS PLAN:
 ProjectIntoNode(4) output=[Count] #apm_collectors
  ProjectNode(5) output=[t__1.hostname, t__1.port, t__1.id] [t__1.hostname, t__1.port, t__1.id]
    ProjectNode(6) output=[t__1.hostname, t__1.port, t__1.id] [apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]
      AccessNode(7) output=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id] EXEC apm_server.connected_collectors()

	COMMAND STATEMENT:
 SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
		STATEMENT COMMAND PROCESS PLAN:
 DupRemoveNode(13) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] 
  UnionAllNode(12) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] 
    ProjectNode(14) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] ['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
      SelectNode(15) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)
        AccessNode(16) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] SELECT #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors
    ProjectNode(17) output=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] ['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]
      SelectNode(18) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
        AccessNode(19) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] SELECT #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors


####################################################
####################################################
PROCEDURE PLAN :ProcedurePlan:
PROGRAM counter 0
0:  CREATE CURSOR RESULTSET INSTRUCTION - null
1:  CREATE CURSOR RESULTSET INSTRUCTION - null
2:  CREATE CURSOR RESULTSET INSTRUCTION - null

####################################################

----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProcedurePlan:
PROGRAM counter 0
0:  CREATE CURSOR RESULTSET INSTRUCTION - null
1:  CREATE CURSOR RESULTSET INSTRUCTION - null
2:  CREATE CURSOR RESULTSET INSTRUCTION - null

============================================================================


> StackOverflowError on TempTableStore.getTempTable()
> ---------------------------------------------------
>
>                 Key: TEIID-3445
>                 URL: https://issues.jboss.org/browse/TEIID-3445
>             Project: Teiid
>          Issue Type: Feature Request
>          Components: Query Engine
>    Affects Versions: 8.10
>            Reporter: Mark Addleman
>            Assignee: Steven Hawkins
>
> Below is a log snippet (working on getting the full plan) for a StackOverflowError on TempTableStore.getTempTable():
> Exception processin contiuous query begin
> insert into #mom_collectors select * from (call mom.connected_collectors()) t;
> insert into #apm_collectors select * from (call apm_server.connected_collectors()) t;
> select 'add', hostname, port, id from #mom_collectors
> where (hostname, port) not in (select (hostname, port) from #apm_collectors)
> union
> select 'delete', hostname, port, id from #apm_collectors
> where (hostname, port) not in (select (hostname, port) from #mom_collectors) with return;
> end
> org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.ResultSetImpl.processBatch(ResultSetImpl.java:425)
> at org.teiid.jdbc.ResultSetImpl.access$000(ResultSetImpl.java:64)
> at org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:242)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1056)
> at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:563)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:363)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:265)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.j
> ava:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidException
> at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:196)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1054)
> ... 10 more
> Caused by: java.lang.StackOverflowError
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the teiid-issues mailing list