============================================================================ USER COMMAND: SELECT view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary FROM view.IndexedHighlyPaidEmployees WHERE view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice' LIMIT 100 ---------------------------------------------------------------------------- OPTIMIZE: SELECT view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary FROM view.IndexedHighlyPaidEmployees WHERE view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice' LIMIT 100 ---------------------------------------------------------------------------- GENERATE CANONICAL: SELECT view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary FROM view.IndexedHighlyPaidEmployees WHERE view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice' LIMIT 100 LOW Materialized View The query against EmployeeIndex AS ei was redirected to the materialization table solr.teiidindex. - null CANONICAL PLAN: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) Project(groups=[view.IndexedHighlyPaidEmployees], props={PROJECT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Select(groups=[view.IndexedHighlyPaidEmployees], props={SELECT_CRITERIA=view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice'}) Source(groups=[view.IndexedHighlyPaidEmployees], props={NESTED_COMMAND=SELECT e.emp_no AS id, ei.name AS name, d.dept_name AS department, t.title AS title, s.salary AS salary FROM /*+ MAKEDEP NO_UNNEST */ ((((employees.employees AS e INNER JOIN employees.salaries AS s ON e.emp_no = s.emp_no) INNER JOIN employees.dept_emp AS de ON e.emp_no = de.emp_no) INNER JOIN employees.departments AS d ON de.dept_no = d.dept_no) INNER JOIN employees.titles AS t ON e.emp_no = t.emp_no) INNER JOIN /*+ optional */ EmployeeIndex AS ei ON ei.id = e.emp_no WHERE s.salary > 100000, SYMBOL_MAP={view.IndexedHighlyPaidEmployees.id=e.emp_no, view.IndexedHighlyPaidEmployees.name=ei.name, view.IndexedHighlyPaidEmployees.department=d.dept_name, view.IndexedHighlyPaidEmployees.title=t.title, view.IndexedHighlyPaidEmployees.salary=s.salary}}) Project(groups=[employees.departments AS d, employees.titles AS t, employees.employees AS e, employees.salaries AS s, EmployeeIndex AS ei], props={PROJECT_COLS=[e.emp_no AS id, ei.name AS name, d.dept_name AS department, t.title AS title, s.salary AS salary]}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, EmployeeIndex AS ei], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[ei.id = e.emp_no]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no]}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no]}) Source(groups=[employees.employees AS e]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Source(groups=[EmployeeIndex AS ei], props={NESTED_COMMAND=SELECT id, name FROM solr.teiidindex WHERE EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), SYMBOL_MAP={ei.id=id, ei.name=name}, IS_OPTIONAL=true}) Project(groups=[solr.teiidindex], props={PROJECT_COLS=[id, name]}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1)}) Source(groups=[solr.teiidindex]) ---------------------------------------------------------------------------- OPTIMIZE: SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1 ---------------------------------------------------------------------------- GENERATE CANONICAL: SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1 CANONICAL PLAN: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true}) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')]}) Select(groups=[employees.status], props={SELECT_CRITERIA=Name = 'EmployeeIndex'}) Select(groups=[employees.status], props={SELECT_CRITERIA=SchemaName = 'view'}) Join(groups=[x, employees.status], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[1 = 1]}) Source(groups=[x], props={NESTED_COMMAND=SELECT 1, SYMBOL_MAP={x.expr1=1}}) Project(groups=[], props={PROJECT_COLS=[1]}) Source(groups=[employees.status]) ============================================================================ EXECUTING PlaceAccess AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true}) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')]}) Select(groups=[employees.status], props={SELECT_CRITERIA=Name = 'EmployeeIndex'}) Select(groups=[employees.status], props={SELECT_CRITERIA=SchemaName = 'view'}) Join(groups=[x, employees.status], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[1 = 1]}) Source(groups=[x], props={NESTED_COMMAND=SELECT 1, SYMBOL_MAP={x.expr1=1}}) Project(groups=[], props={PROJECT_COLS=[1]}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.status]) ============================================================================ EXECUTING AssignOutputElements AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true, OUTPUT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')]}) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')]}) Select(groups=[employees.status], props={SELECT_CRITERIA=Name = 'EmployeeIndex', OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Select(groups=[employees.status], props={SELECT_CRITERIA=SchemaName = 'view', OUTPUT_COLS=[Name, SchemaName, Valid, LoadState]}) Join(groups=[x, employees.status], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[1 = 1], OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Source(groups=[x], props={NESTED_COMMAND=SELECT 1, SYMBOL_MAP={}, OUTPUT_COLS=[]}) Project(groups=[], props={PROJECT_COLS=[], OUTPUT_COLS=[]}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Source(groups=[employees.status], props={OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) ============================================================================ EXECUTING RemoveOptionalJoins AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Select(groups=[employees.status], props={SELECT_CRITERIA=Name = 'EmployeeIndex', OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Select(groups=[employees.status]) Join(groups=[x, employees.status], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[1 = 1], OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Source(groups=[x]) Project(groups=[]) Access(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')]}) Join(groups=[x, employees.status], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[1 = 1], OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Source(groups=[x]) Project(groups=[]) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Source(groups=[employees.status], props={OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) ============================================================================ EXECUTING MergeVirtual AFTER: TupleLimit(groups=[]) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')]}) Select(groups=[], props={SELECT_CRITERIA=1 = 1}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING PushNonJoinCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Select(groups=[]) Access(groups=[employees.status]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true, OUTPUT_COLS=null}) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=null}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=null}) Source(groups=[employees.status], props={OUTPUT_COLS=null}) ============================================================================ EXECUTING RaiseAccess LOW Relational Planner Function metadata indicates it cannot be pusheddown. employees - mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') was not pushed AFTER: TupleLimit(groups=[]) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=null}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING CopyCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Access(groups=[employees.status]) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.status]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true, OUTPUT_COLS=null}) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=null}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.status], props={OUTPUT_COLS=null}) ============================================================================ EXECUTING PlanJoins AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Access(groups=[employees.status]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Access(groups=[employees.status]) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.status]) ============================================================================ EXECUTING RaiseAccess LOW Relational Planner Function metadata indicates it cannot be pusheddown. employees - mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') was not pushed AFTER: TupleLimit(groups=[]) Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=null}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING ChooseJoinStrategy AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Access(groups=[employees.status]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING ChooseDependent AFTER: TupleLimit(groups=[]) Project(groups=[employees.status]) Access(groups=[employees.status]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING PushLimit AFTER: Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=null, SOURCE_HINT=null}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true, OUTPUT_COLS=null}) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.status]) ============================================================================ EXECUTING AssignOutputElements AFTER: Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], SOURCE_HINT=null}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=[SchemaName, Name, Valid, LoadState], IS_COPIED=true}) Source(groups=[employees.status], props={OUTPUT_COLS=[SchemaName, Name, Valid, LoadState]}) ============================================================================ EXECUTING CalculateCost AFTER: Project(groups=[employees.status], props={PROJECT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], OUTPUT_COLS=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')], SOURCE_HINT=null, EST_CARDINALITY=1.0, EST_COL_STATS={mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')=[1.0, 1.0]}}) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState], EST_CARDINALITY=1.0, EST_COL_STATS={SchemaName=[1.0, 1.0], Name=[1.0, 1.0], Valid=[1.0, 1.0], LoadState=[1.0, 1.0]}}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=1, IS_IMPLICIT_LIMIT=true, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState], EST_CARDINALITY=1.0, EST_COL_STATS={SchemaName=[1.0, 0.0], Name=[1.0, 0.0], Valid=[1.0, 0.0], LoadState=[1.0, 0.0]}}) Select(groups=[employees.status], props={SELECT_CRITERIA=(SchemaName = 'view') AND (Name = 'EmployeeIndex'), OUTPUT_COLS=[SchemaName, Name, Valid, LoadState], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.status], props={OUTPUT_COLS=[SchemaName, Name, Valid, LoadState], EST_COL_STATS={SchemaName=[-1.0, -1.0], Name=[-1.0, -1.0], Valid=[-1.0, -1.0], LoadState=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING ImplementJoinStrategy AFTER: Project(groups=[employees.status]) Access(groups=[employees.status]) TupleLimit(groups=[]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING MergeCriteria AFTER: Project(groups=[employees.status]) Access(groups=[employees.status]) TupleLimit(groups=[]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING PlanSorts AFTER: Project(groups=[employees.status]) Access(groups=[employees.status]) TupleLimit(groups=[]) Select(groups=[employees.status]) Source(groups=[employees.status]) ============================================================================ EXECUTING CollapseSource AFTER: Project(groups=[employees.status]) Access(groups=[employees.status], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[SchemaName, Name, Valid, LoadState], EST_CARDINALITY=1.0, EST_COL_STATS={SchemaName=[1.0, 1.0], Name=[1.0, 1.0], Valid=[1.0, 1.0], LoadState=[1.0, 1.0]}, ATOMIC_REQUEST=SELECT SchemaName, Name, Valid, LoadState FROM employees.status WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1}) ============================================================================ CONVERTING PLAN TREE TO PROCESS TREE PROCESS PLAN = ProjectNode(0) output=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')] [mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')] AccessNode(1) output=[SchemaName, Name, Valid, LoadState] SELECT g_0.SchemaName AS c_0, g_0.Name AS c_1, g_0.Valid AS c_2, g_0.LoadState AS c_3 FROM employees.employees.status AS g_0 WHERE (g_0.SchemaName = 'view') AND (g_0.Name = 'EmployeeIndex') LIMIT 1 ============================================================================ ---------------------------------------------------------------------------- OPTIMIZATION COMPLETE: PROCESSOR PLAN: ProjectNode(0) output=[mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')] [mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION')] AccessNode(1) output=[SchemaName, Name, Valid, LoadState] SELECT g_0.SchemaName AS c_0, g_0.Name AS c_1, g_0.Valid AS c_2, g_0.LoadState AS c_3 FROM employees.employees.status AS g_0 WHERE (g_0.SchemaName = 'view') AND (g_0.Name = 'EmployeeIndex') LIMIT 1 ============================================================================ ============================================================================ EXECUTING PlaceAccess AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) Project(groups=[view.IndexedHighlyPaidEmployees], props={PROJECT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Select(groups=[view.IndexedHighlyPaidEmployees], props={SELECT_CRITERIA=view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice'}) Source(groups=[view.IndexedHighlyPaidEmployees], props={NESTED_COMMAND=SELECT e.emp_no AS id, ei.name AS name, d.dept_name AS department, t.title AS title, s.salary AS salary FROM /*+ MAKEDEP NO_UNNEST */ ((((employees.employees AS e INNER JOIN employees.salaries AS s ON e.emp_no = s.emp_no) INNER JOIN employees.dept_emp AS de ON e.emp_no = de.emp_no) INNER JOIN employees.departments AS d ON de.dept_no = d.dept_no) INNER JOIN employees.titles AS t ON e.emp_no = t.emp_no) INNER JOIN /*+ optional */ EmployeeIndex AS ei ON ei.id = e.emp_no WHERE s.salary > 100000, SYMBOL_MAP={view.IndexedHighlyPaidEmployees.id=e.emp_no, view.IndexedHighlyPaidEmployees.name=ei.name, view.IndexedHighlyPaidEmployees.department=d.dept_name, view.IndexedHighlyPaidEmployees.title=t.title, view.IndexedHighlyPaidEmployees.salary=s.salary}}) Project(groups=[employees.departments AS d, employees.titles AS t, employees.employees AS e, employees.salaries AS s, EmployeeIndex AS ei], props={PROJECT_COLS=[e.emp_no AS id, ei.name AS name, d.dept_name AS department, t.title AS title, s.salary AS salary]}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, EmployeeIndex AS ei], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[ei.id = e.emp_no]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no]}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no]}) Access(groups=[employees.employees AS e], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.employees AS e]) Access(groups=[employees.salaries AS s], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.salaries AS s]) Access(groups=[employees.dept_emp AS de], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.dept_emp AS de]) Access(groups=[employees.departments AS d], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.departments AS d]) Access(groups=[employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.titles AS t]) Source(groups=[EmployeeIndex AS ei], props={NESTED_COMMAND=SELECT id, name FROM solr.teiidindex WHERE EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), SYMBOL_MAP={ei.id=id, ei.name=name}, IS_OPTIONAL=true}) Project(groups=[solr.teiidindex], props={PROJECT_COLS=[id, name]}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1)}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000}) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING AssignOutputElements AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Project(groups=[view.IndexedHighlyPaidEmployees], props={PROJECT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary], OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Select(groups=[view.IndexedHighlyPaidEmployees], props={SELECT_CRITERIA=view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice', OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Source(groups=[view.IndexedHighlyPaidEmployees], props={NESTED_COMMAND=SELECT e.emp_no AS id, ei.name AS name, d.dept_name AS department, t.title AS title, s.salary AS salary FROM /*+ MAKEDEP NO_UNNEST */ ((((employees.employees AS e INNER JOIN employees.salaries AS s ON e.emp_no = s.emp_no) INNER JOIN employees.dept_emp AS de ON e.emp_no = de.emp_no) INNER JOIN employees.departments AS d ON de.dept_no = d.dept_no) INNER JOIN employees.titles AS t ON e.emp_no = t.emp_no) INNER JOIN /*+ optional */ EmployeeIndex AS ei ON ei.id = e.emp_no WHERE s.salary > 100000, SYMBOL_MAP={view.IndexedHighlyPaidEmployees.name=ei.name, view.IndexedHighlyPaidEmployees.id=e.emp_no, view.IndexedHighlyPaidEmployees.department=d.dept_name, view.IndexedHighlyPaidEmployees.title=t.title, view.IndexedHighlyPaidEmployees.salary=s.salary}, OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Project(groups=[employees.departments AS d, employees.titles AS t, employees.employees AS e, employees.salaries AS s, EmployeeIndex AS ei], props={PROJECT_COLS=[ei.name AS name, e.emp_no AS id, d.dept_name AS department, t.title AS title, s.salary AS salary], OUTPUT_COLS=[ei.name AS name, e.emp_no AS id, d.dept_name AS department, t.title AS title, s.salary AS salary]}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=[ei.name, e.emp_no, d.dept_name, t.title, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, EmployeeIndex AS ei], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[ei.id = e.emp_no], OUTPUT_COLS=[s.salary, ei.name, e.emp_no, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary]}) Access(groups=[employees.employees AS e], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[e.emp_no]}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=[e.emp_no]}) Access(groups=[employees.salaries AS s], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[s.emp_no, s.salary]}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=[s.emp_no, s.salary]}) Access(groups=[employees.dept_emp AS de], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[de.emp_no, de.dept_no]}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=[de.emp_no, de.dept_no]}) Access(groups=[employees.departments AS d], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[d.dept_no, d.dept_name]}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=[d.dept_no, d.dept_name]}) Access(groups=[employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[t.emp_no, t.title]}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=[t.emp_no, t.title]}) Source(groups=[EmployeeIndex AS ei], props={NESTED_COMMAND=SELECT id, name FROM solr.teiidindex WHERE EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), SYMBOL_MAP={ei.id=id, ei.name=name}, IS_OPTIONAL=true, OUTPUT_COLS=[ei.id, ei.name]}) Project(groups=[solr.teiidindex], props={PROJECT_COLS=[id, name], OUTPUT_COLS=[id, name]}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name]}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name]}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=[id, name]}) ============================================================================ EXECUTING RemoveOptionalJoins AFTER: TupleLimit(groups=[]) Project(groups=[view.IndexedHighlyPaidEmployees]) Select(groups=[view.IndexedHighlyPaidEmployees], props={SELECT_CRITERIA=view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice', OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Source(groups=[view.IndexedHighlyPaidEmployees]) Project(groups=[employees.departments AS d, employees.titles AS t, employees.employees AS e, employees.salaries AS s, EmployeeIndex AS ei]) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=[ei.name, e.emp_no, d.dept_name, t.title, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, EmployeeIndex AS ei], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[ei.id = e.emp_no], OUTPUT_COLS=[s.salary, ei.name, e.emp_no, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary]}) Access(groups=[employees.employees AS e]) Source(groups=[employees.employees AS e]) Access(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Access(groups=[employees.dept_emp AS de]) Source(groups=[employees.dept_emp AS de]) Access(groups=[employees.departments AS d]) Source(groups=[employees.departments AS d]) Access(groups=[employees.titles AS t]) Source(groups=[employees.titles AS t]) Source(groups=[EmployeeIndex AS ei], props={NESTED_COMMAND=SELECT id, name FROM solr.teiidindex WHERE EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), SYMBOL_MAP={ei.id=id, ei.name=name}, IS_OPTIONAL=true, OUTPUT_COLS=[ei.id, ei.name]}) Project(groups=[solr.teiidindex]) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name]}) Access(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Project(groups=[view.IndexedHighlyPaidEmployees]) Select(groups=[view.IndexedHighlyPaidEmployees], props={SELECT_CRITERIA=view.IndexedHighlyPaidEmployees.name = 'Muntz,Bernice', OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary], IS_PHANTOM=true}) Source(groups=[view.IndexedHighlyPaidEmployees], props={NESTED_COMMAND=SELECT e.emp_no AS id, ei.name AS name, d.dept_name AS department, t.title AS title, s.salary AS salary FROM /*+ MAKEDEP NO_UNNEST */ ((((employees.employees AS e INNER JOIN employees.salaries AS s ON e.emp_no = s.emp_no) INNER JOIN employees.dept_emp AS de ON e.emp_no = de.emp_no) INNER JOIN employees.departments AS d ON de.dept_no = d.dept_no) INNER JOIN employees.titles AS t ON e.emp_no = t.emp_no) INNER JOIN /*+ optional */ EmployeeIndex AS ei ON ei.id = e.emp_no WHERE s.salary > 100000, SYMBOL_MAP={view.IndexedHighlyPaidEmployees.name=ei.name, view.IndexedHighlyPaidEmployees.id=e.emp_no, view.IndexedHighlyPaidEmployees.department=d.dept_name, view.IndexedHighlyPaidEmployees.title=t.title, view.IndexedHighlyPaidEmployees.salary=s.salary}, OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Project(groups=[employees.departments AS d, employees.titles AS t, employees.employees AS e, employees.salaries AS s, EmployeeIndex AS ei], props={PROJECT_COLS=[ei.name AS name, e.emp_no AS id, d.dept_name AS department, t.title AS title, s.salary AS salary], OUTPUT_COLS=[ei.name AS name, e.emp_no AS id, d.dept_name AS department, t.title AS title, s.salary AS salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, EmployeeIndex AS ei], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[ei.id = e.emp_no], OUTPUT_COLS=[s.salary, ei.name, e.emp_no, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary]}) Access(groups=[employees.employees AS e]) Source(groups=[employees.employees AS e]) Access(groups=[employees.salaries AS s], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[s.emp_no, s.salary]}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=[ei.name, e.emp_no, d.dept_name, t.title, s.salary]}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=[s.emp_no, s.salary]}) Access(groups=[employees.dept_emp AS de]) Source(groups=[employees.dept_emp AS de]) Access(groups=[employees.departments AS d]) Source(groups=[employees.departments AS d]) Access(groups=[employees.titles AS t]) Source(groups=[employees.titles AS t]) Select(groups=[EmployeeIndex AS ei], props={SELECT_CRITERIA=ei.name = 'Muntz,Bernice', IS_PHANTOM=true}) Source(groups=[EmployeeIndex AS ei], props={NESTED_COMMAND=SELECT id, name FROM solr.teiidindex WHERE EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), SYMBOL_MAP={ei.id=id, ei.name=name}, IS_OPTIONAL=true, OUTPUT_COLS=[ei.id, ei.name]}) Project(groups=[solr.teiidindex], props={PROJECT_COLS=[id, name], OUTPUT_COLS=[id, name]}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name]}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name]}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice'}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=[id, name]}) ============================================================================ EXECUTING MergeVirtual AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary]}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=[view.IndexedHighlyPaidEmployees.id, view.IndexedHighlyPaidEmployees.name, view.IndexedHighlyPaidEmployees.department, view.IndexedHighlyPaidEmployees.title, view.IndexedHighlyPaidEmployees.salary], IS_PHANTOM=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no], OUTPUT_COLS=[s.salary, ei.name, e.emp_no, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Access(groups=[employees.employees AS e]) Source(groups=[employees.employees AS e]) Access(groups=[employees.salaries AS s]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Access(groups=[employees.dept_emp AS de]) Source(groups=[employees.dept_emp AS de]) Access(groups=[employees.departments AS d]) Source(groups=[employees.departments AS d]) Access(groups=[employees.titles AS t]) Source(groups=[employees.titles AS t]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', IS_PHANTOM=true}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name]}) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING PushNonJoinCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Select(groups=[solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no], OUTPUT_COLS=[s.salary, ei.name, e.emp_no, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name, t.title]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, s.salary, d.dept_name]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary]}) Access(groups=[employees.employees AS e]) Source(groups=[employees.employees AS e]) Access(groups=[employees.salaries AS s]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Access(groups=[employees.dept_emp AS de]) Source(groups=[employees.dept_emp AS de]) Access(groups=[employees.departments AS d]) Source(groups=[employees.departments AS d]) Access(groups=[employees.titles AS t]) Source(groups=[employees.titles AS t]) Select(groups=[solr.teiidindex]) Select(groups=[]) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=null}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_PHANTOM=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no], OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null}) Access(groups=[employees.employees AS e], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=null}) Access(groups=[employees.salaries AS s], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=null}) Access(groups=[employees.dept_emp AS de], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=null}) Access(groups=[employees.departments AS d], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=null}) Access(groups=[employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=null}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', IS_PHANTOM=true, OUTPUT_COLS=null}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=null}) ============================================================================ EXECUTING RaiseAccess LOW Relational Planner Exists is not supported by source solr - EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1) was not pushed AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Select(groups=[solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no], OUTPUT_COLS=null}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=null}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null}) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=null}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=null}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=null}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', IS_PHANTOM=true, OUTPUT_COLS=null}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null}) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING CopyCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_PHANTOM=true, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no], OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', IS_PHANTOM=true, OUTPUT_COLS=null, IS_COPIED=true}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING PushNonJoinCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Select(groups=[solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no], OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[solr.teiidindex]) Select(groups=[]) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING RaiseAccess LOW Relational Planner Exists is not supported by source solr - EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1) was not pushed AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Select(groups=[solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no], OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', IS_PHANTOM=true, OUTPUT_COLS=null, IS_COPIED=true}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null}) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING CopyCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_PHANTOM=true, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no], OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', IS_PHANTOM=true, OUTPUT_COLS=null, IS_COPIED=true}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no], OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=null}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=null}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=null}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=null}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=null}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_COPIED=true}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=null}) ============================================================================ EXECUTING PlanJoins AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=null}) Select(groups=[solr.teiidindex, employees.titles AS t], props={SELECT_CRITERIA=id = t.emp_no, EST_SELECTIVITY=0.037}) Select(groups=[employees.dept_emp AS de, solr.teiidindex], props={SELECT_CRITERIA=id = de.emp_no, EST_SELECTIVITY=0.037}) Select(groups=[solr.teiidindex, employees.salaries AS s], props={SELECT_CRITERIA=id = s.emp_no, EST_SELECTIVITY=0.037}) Select(groups=[solr.teiidindex, employees.employees AS e], props={SELECT_CRITERIA=id = e.emp_no, EST_SELECTIVITY=0.037}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=CROSS JOIN, JOIN_STRATEGY=NESTED_LOOP}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=null, EST_COL_STATS={e.emp_no=[-1.0, -1.0], e.birth_date=[-1.0, -1.0], e.first_name=[-1.0, -1.0], e.last_name=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=null, EST_COL_STATS={s.emp_no=[-1.0, -1.0], s.salary=[-1.0, -1.0], s.from_date=[-1.0, -1.0], s.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=null, EST_COL_STATS={de.emp_no=[-1.0, -1.0], de.dept_no=[-1.0, -1.0], de.from_date=[-1.0, -1.0], de.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=null, EST_COL_STATS={d.dept_no=[-1.0, -1.0], d.dept_name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=null, EST_COL_STATS={t.emp_no=[-1.0, -1.0], t.title=[-1.0, -1.0], t.from_date=[-1.0, -1.0], t.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=null, EST_COL_STATS={solr.teiidindex.id=[-1.0, -1.0], solr.teiidindex.name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no]}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING RaiseAccess LOW Relational Planner Exists is not supported by source solr - EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1) was not pushed AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[id = e.emp_no, id = s.emp_no, id = de.emp_no, id = t.emp_no]}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING ChooseJoinStrategy AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[]) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING ChooseDependent AFTER: TupleLimit(groups=[]) Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=null, CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=null, EST_COL_STATS={e.emp_no=[-1.0, -1.0], e.birth_date=[-1.0, -1.0], e.first_name=[-1.0, -1.0], e.last_name=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=null, EST_COL_STATS={s.emp_no=[-1.0, -1.0], s.salary=[-1.0, -1.0], s.from_date=[-1.0, -1.0], s.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=null, EST_COL_STATS={de.emp_no=[-1.0, -1.0], de.dept_no=[-1.0, -1.0], de.from_date=[-1.0, -1.0], de.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=null, EST_COL_STATS={d.dept_no=[-1.0, -1.0], d.dept_name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=null, EST_COL_STATS={t.emp_no=[-1.0, -1.0], t.title=[-1.0, -1.0], t.from_date=[-1.0, -1.0], t.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=null, EST_CARDINALITY=-1.0}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=null, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=null, EST_COL_STATS={solr.teiidindex.id=[-1.0, -1.0], solr.teiidindex.name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PushLimit AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=null, SOURCE_HINT=null}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[]) Access(groups=[solr.teiidindex]) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING AssignOutputElements AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], SOURCE_HINT=null}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[e.emp_no, name, d.dept_name, t.title, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[], OUTPUT_COLS=[e.emp_no, name, d.dept_name, t.title, s.salary]}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, d.dept_name, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=[e.emp_no], EST_COL_STATS={e.emp_no=[-1.0, -1.0], e.birth_date=[-1.0, -1.0], e.first_name=[-1.0, -1.0], e.last_name=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=[s.emp_no, s.salary], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=[s.salary, s.emp_no], EST_COL_STATS={s.emp_no=[-1.0, -1.0], s.salary=[-1.0, -1.0], s.from_date=[-1.0, -1.0], s.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=[de.emp_no, de.dept_no], EST_COL_STATS={de.emp_no=[-1.0, -1.0], de.dept_no=[-1.0, -1.0], de.from_date=[-1.0, -1.0], de.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=[d.dept_no, d.dept_name], EST_COL_STATS={d.dept_no=[-1.0, -1.0], d.dept_name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=[t.emp_no, t.title], EST_COL_STATS={t.emp_no=[-1.0, -1.0], t.title=[-1.0, -1.0], t.from_date=[-1.0, -1.0], t.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name], EST_CARDINALITY=-1.0}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=[name, id], EST_COL_STATS={solr.teiidindex.id=[-1.0, -1.0], solr.teiidindex.name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING CalculateCost AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex], props={PROJECT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], OUTPUT_COLS=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary], SOURCE_HINT=null, EST_CARDINALITY=100.0, EST_COL_STATS={e.emp_no AS id=[100.0, 1.0], name=[100.0, 1.0], d.dept_name AS department=[100.0, 1.0], t.title=[100.0, 1.0], ...}}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[e.emp_no, name, d.dept_name, t.title, s.salary], EST_CARDINALITY=100.0, EST_COL_STATS={e.emp_no=[100.0, 0.0], name=[100.0, 0.0], d.dept_name=[100.0, 0.0], t.title=[100.0, 0.0], ...}}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[], OUTPUT_COLS=[e.emp_no, name, d.dept_name, t.title, s.salary], EST_CARDINALITY=-1.0}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, d.dept_name, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=[e.emp_no], EST_COL_STATS={e.emp_no=[-1.0, -1.0], e.birth_date=[-1.0, -1.0], e.first_name=[-1.0, -1.0], e.last_name=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=[s.emp_no, s.salary], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=[s.salary, s.emp_no], EST_COL_STATS={s.emp_no=[-1.0, -1.0], s.salary=[-1.0, -1.0], s.from_date=[-1.0, -1.0], s.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=[de.emp_no, de.dept_no], EST_COL_STATS={de.emp_no=[-1.0, -1.0], de.dept_no=[-1.0, -1.0], de.from_date=[-1.0, -1.0], de.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=[d.dept_no, d.dept_name], EST_COL_STATS={d.dept_no=[-1.0, -1.0], d.dept_name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=[t.emp_no, t.title], EST_COL_STATS={t.emp_no=[-1.0, -1.0], t.title=[-1.0, -1.0], t.from_date=[-1.0, -1.0], t.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name], EST_CARDINALITY=-1.0}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=[name, id], EST_COL_STATS={solr.teiidindex.id=[-1.0, -1.0], solr.teiidindex.name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING ImplementJoinStrategy AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) TupleLimit(groups=[]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[], OUTPUT_COLS=[e.emp_no, name, d.dept_name, t.title, s.salary], EST_CARDINALITY=-1.0, IS_RIGHT_DISTINCT=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0}) Sort(groups=[], props={SORT_ORDER=ORDER BY e.emp_no, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary]}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = t.emp_no], MAKE_DEP=, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[de.dept_no = d.dept_no], OUTPUT_COLS=[e.emp_no, d.dept_name, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = de.emp_no], OUTPUT_COLS=[de.dept_no, e.emp_no, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Join(groups=[employees.employees AS e, employees.salaries AS s], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[e.emp_no = s.emp_no], OUTPUT_COLS=[e.emp_no, s.salary], MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.employees AS e], props={OUTPUT_COLS=[e.emp_no], EST_COL_STATS={e.emp_no=[-1.0, -1.0], e.birth_date=[-1.0, -1.0], e.first_name=[-1.0, -1.0], e.last_name=[-1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[employees.salaries AS s], props={SELECT_CRITERIA=s.salary > 100000, OUTPUT_COLS=[s.emp_no, s.salary], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[employees.salaries AS s], props={OUTPUT_COLS=[s.salary, s.emp_no], EST_COL_STATS={s.emp_no=[-1.0, -1.0], s.salary=[-1.0, -1.0], s.from_date=[-1.0, -1.0], s.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.dept_emp AS de], props={OUTPUT_COLS=[de.emp_no, de.dept_no], EST_COL_STATS={de.emp_no=[-1.0, -1.0], de.dept_no=[-1.0, -1.0], de.from_date=[-1.0, -1.0], de.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.departments AS d], props={OUTPUT_COLS=[d.dept_no, d.dept_name], EST_COL_STATS={d.dept_no=[-1.0, -1.0], d.dept_name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Source(groups=[employees.titles AS t], props={OUTPUT_COLS=[t.emp_no, t.title], EST_COL_STATS={t.emp_no=[-1.0, -1.0], t.title=[-1.0, -1.0], t.from_date=[-1.0, -1.0], t.to_date=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name], EST_CARDINALITY=-1.0}) Sort(groups=[], props={SORT_ORDER=ORDER BY id, OUTPUT_COLS=[id, name]}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=[name, id], EST_COL_STATS={solr.teiidindex.id=[-1.0, -1.0], solr.teiidindex.name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING MergeCriteria AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) TupleLimit(groups=[]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex]) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Sort(groups=[]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[], props={SELECT_CRITERIA=EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1), OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=null}) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name], EST_CARDINALITY=-1.0}) Sort(groups=[], props={SORT_ORDER=ORDER BY id, OUTPUT_COLS=[id, name], EST_CARDINALITY=-1.0}) Select(groups=[solr.teiidindex], props={SELECT_CRITERIA=name = 'Muntz,Bernice', OUTPUT_COLS=[id, name], IS_COPIED=true, EST_CARDINALITY=-1.0}) Source(groups=[solr.teiidindex], props={OUTPUT_COLS=[name, id], EST_COL_STATS={solr.teiidindex.id=[-1.0, -1.0], solr.teiidindex.name=[-1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PlanSorts AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) TupleLimit(groups=[]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex], props={JOIN_TYPE=INNER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[id = e.emp_no], LEFT_EXPRESSIONS=[e.emp_no], RIGHT_EXPRESSIONS=[id], NON_EQUI_JOIN_CRITERIA=[], OUTPUT_COLS=[e.emp_no, name, d.dept_name, t.title, s.salary], EST_CARDINALITY=-1.0, IS_RIGHT_DISTINCT=true}) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Sort(groups=[]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de]) Join(groups=[employees.employees AS e, employees.salaries AS s]) Source(groups=[employees.employees AS e]) Select(groups=[employees.salaries AS s]) Source(groups=[employees.salaries AS s]) Source(groups=[employees.dept_emp AS de]) Source(groups=[employees.departments AS d]) Source(groups=[employees.titles AS t]) Select(groups=[]) Access(groups=[solr.teiidindex]) Sort(groups=[]) Select(groups=[solr.teiidindex]) Source(groups=[solr.teiidindex]) ============================================================================ EXECUTING CollapseSource AFTER: Project(groups=[employees.employees AS e, employees.departments AS d, employees.titles AS t, employees.salaries AS s, solr.teiidindex]) TupleLimit(groups=[]) Join(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t, solr.teiidindex]) Access(groups=[employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=employees, nameInSource=null, uuid=tid:bdec4d5ee9d6-9d39ef85-00000000, OUTPUT_COLS=[e.emp_no, d.dept_name, t.title, s.salary], CONFORMED_SOURCES=null, EST_CARDINALITY=-1.0, ATOMIC_REQUEST=SELECT e.emp_no, d.dept_name, t.title, s.salary FROM employees.employees AS e, employees.salaries AS s, employees.dept_emp AS de, employees.departments AS d, employees.titles AS t WHERE (e.emp_no = s.emp_no) AND (e.emp_no = de.emp_no) AND (de.dept_no = d.dept_no) AND (e.emp_no = t.emp_no) AND (s.salary > 100000) ORDER BY e.emp_no}) Select(groups=[]) Access(groups=[solr.teiidindex], props={SOURCE_HINT=null, MODEL_ID=Schema name=solr, nameInSource=null, uuid=tid:ea4513600bf1-0035f4e2-00000000, OUTPUT_COLS=[id, name], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=SELECT id, name FROM solr.teiidindex WHERE name = 'Muntz,Bernice' ORDER BY id}) ============================================================================ CONVERTING PLAN TREE TO PROCESS TREE PROCESS PLAN = ProjectNode(2) output=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary] [e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary] LimitNode(3) output=[e.emp_no, name, d.dept_name, t.title, s.salary] limit 100 JoinNode(4) [MERGE JOIN (ALREADY_SORTED/ALREADY_SORTED)] [INNER JOIN] criteria=[e.emp_no=id] output=[e.emp_no, name, d.dept_name, t.title, s.salary] AccessNode(5) output=[e.emp_no, d.dept_name, t.title, s.salary] SELECT g_0.emp_no AS c_0, g_3.dept_name AS c_1, g_4.title AS c_2, g_1.salary AS c_3 FROM employees.employees.employees AS g_0, employees.employees.salaries AS g_1, employees.employees.dept_emp AS g_2, employees.employees.departments AS g_3, employees.employees.titles AS g_4 WHERE (g_0.emp_no = g_1.emp_no) AND (g_0.emp_no = g_2.emp_no) AND (g_2.dept_no = g_3.dept_no) AND (g_0.emp_no = g_4.emp_no) AND (g_1.salary > 100000) ORDER BY c_0 SelectNode(6) output=[id, name] EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1) AccessNode(7) output=[id, name] SELECT solr.teiidindex.id AS c_0, solr.teiidindex.name AS c_1 FROM solr.teiidindex WHERE solr.teiidindex.name = 'Muntz,Bernice' ORDER BY c_0 ============================================================================ ---------------------------------------------------------------------------- OPTIMIZATION COMPLETE: PROCESSOR PLAN: ProjectNode(2) output=[e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary] [e.emp_no AS id, name, d.dept_name AS department, t.title, s.salary] LimitNode(3) output=[e.emp_no, name, d.dept_name, t.title, s.salary] limit 100 JoinNode(4) [MERGE JOIN (ALREADY_SORTED/ALREADY_SORTED)] [INNER JOIN] criteria=[e.emp_no=id] output=[e.emp_no, name, d.dept_name, t.title, s.salary] AccessNode(5) output=[e.emp_no, d.dept_name, t.title, s.salary] SELECT g_0.emp_no AS c_0, g_3.dept_name AS c_1, g_4.title AS c_2, g_1.salary AS c_3 FROM employees.employees.employees AS g_0, employees.employees.salaries AS g_1, employees.employees.dept_emp AS g_2, employees.employees.departments AS g_3, employees.employees.titles AS g_4 WHERE (g_0.emp_no = g_1.emp_no) AND (g_0.emp_no = g_2.emp_no) AND (g_2.dept_no = g_3.dept_no) AND (g_0.emp_no = g_4.emp_no) AND (g_1.salary > 100000) ORDER BY c_0 SelectNode(6) output=[id, name] EXISTS (SELECT mvstatus(SchemaName, Name, Valid, LoadState, 'THROW_EXCEPTION') FROM (SELECT 1) AS x LEFT OUTER JOIN employees.status ON 1 = 1 WHERE (SchemaName = 'view') AND (Name = 'EmployeeIndex') LIMIT 1) AccessNode(7) output=[id, name] SELECT solr.teiidindex.id AS c_0, solr.teiidindex.name AS c_1 FROM solr.teiidindex WHERE solr.teiidindex.name = 'Muntz,Bernice' ORDER BY c_0 ============================================================================