[
https://issues.jboss.org/browse/TEIID-3445?page=com.atlassian.jira.plugin...
]
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)