-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
Hide
1. Spring-boot-teiid application
2. First SQLSELECT t.Id AS Task_id , t.LastStatusChangeDate__c AS Task_time , t.WhoId AS Task_whoId , t.OwnerId AS Task_ownerId , u.Name AS Task_agent , t.Request_Type__c AS Task_department FROM Task AS t LEFT OUTER JOIN salesforce.User AS u ON u.Id = t.OwnerId WHERE t.Type='Online chat' AND t.createdById = '00532000005hioBAAQ' AND t.ActivityDate > '2020-08-29' ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST LIMIT 100 OFFSET 0
Plan
PLAN: ProjectNode + Relational Node ID:0 + Output Columns: 0: Task_id (string) 1: Task_time (timestamp) 2: Task_whoId (string) 3: Task_ownerId (string) 4: Task_agent (string) 5: Task_department (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: LimitNode + Relational Node ID:1 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: SortNode + Relational Node ID:2 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: JoinNode + Relational Node ID:3 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: LimitNode + Relational Node ID:4 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: SortNode + Relational Node ID:5 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: AccessNode + Relational Node ID:6 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Query:SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat') AND (g_0.CreatedById = '00532000005hioBAAQ') AND (g_0.ActivityDate > {d'2020-08-29'}) + Model Name:salesforce + Sort Columns:[t.LastStatusChangeDate__c DESC NULLS FIRST] + Sort FrameMode:SORT + Row Offset:null + Row Limit:100 + Child 1: DependentAccessNode + Relational Node ID:7 + Output Columns: 0: Id (string) 1: Name (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Query:SELECT g_0.Id, g_0.Name FROM salesforce."User" AS g_0 WHERE g_0.Id IN (<dependent values>) + Model Name:salesforce + Dependent Join:true + Join Strategy:ENHANCED SORT JOIN (SORT/SORT) + Join Type:LEFT OUTER JOIN + Join Criteria:t.OwnerId=u.Id + Sort Columns:[t.LastStatusChangeDate__c DESC NULLS FIRST] + Sort FrameMode:SORT + Row Offset:null + Row Limit:100 + Select Columns: 0: t.Id AS Task_id 1: t.LastStatusChangeDate__c AS Task_time 2: t.WhoId AS Task_whoId 3: t.OwnerId AS Task_ownerId 4: u.Name AS Task_agent 5: t.Request_Type__c AS Task_department + Data Bytes Sent:7 + Planning Time:7 END PLAN DEBUG LOG : ============================================================================ USER COMMAND: SELECT t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department FROM salesforce.Task AS t LEFT OUTER JOIN salesforce."User" AS u ON u.Id = t.OwnerId WHERE (t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}) ORDER BY Task_time DESC NULLS FIRST LIMIT 100 ---------------------------------------------------------------------------- OPTIMIZE: SELECT t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department FROM salesforce.Task AS t LEFT OUTER JOIN salesforce."User" AS u ON u.Id = t.OwnerId WHERE (t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}) ORDER BY Task_time DESC NULLS FIRST LIMIT 100 ---------------------------------------------------------------------------- GENERATE CANONICAL: SELECT t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department FROM salesforce.Task AS t LEFT OUTER JOIN salesforce."User" AS u ON u.Id = t.OwnerId WHERE (t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}) ORDER BY Task_time DESC NULLS FIRST LIMIT 100 CANONICAL PLAN: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST}) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d'2020-08-29'}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.CreatedById = '00532000005hioBAAQ'}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.Type = 'Online chat'}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId]}) Source(groups=[salesforce.Task AS t]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PlaceAccess AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST}) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d'2020-08-29'}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.CreatedById = '00532000005hioBAAQ'}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.Type = 'Online chat'}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000}) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000}) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING AssignOutputElements AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], UNRELATED_SORT=false}) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d'2020-08-29'}, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.CreatedById = '00532000005hioBAAQ', OUTPUT_COLS=[t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.Type = 'Online chat', OUTPUT_COLS=[t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name]}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name]}) ============================================================================ EXECUTING RemoveOptionalJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d'2020-08-29'}, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PushNonJoinCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS=null, UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6}) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2}) ============================================================================ EXECUTING RaiseAccess AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PlanOuterJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING CopyCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true}) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS=null, UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6}) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2}) ============================================================================ EXECUTING PlanJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true}) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING RaiseAccess AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PlanOuterJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING ChooseJoinStrategy AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PushLargeIn AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING AssignOutputElements AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6}) Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2}) ============================================================================ EXECUTING PushLimit AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[]}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED=true}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING ChooseDependent AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=null, DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED=true, EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[salesforce."User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET=true}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PushSelectCriteria AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=null, DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET=true}) Select(groups=[salesforce."User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING CleanCriteria AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=null, UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=null, DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=null, IS_PUSHED=true, EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=null, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED=true, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET=true}) Select(groups=[salesforce."User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=null}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=null, APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING AssignOutputElements AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=null, DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED=true, EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT=false}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED=true, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET=true}) Select(groups=[salesforce."User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=[u.Id, u.Name]}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING CalculateCost AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=100.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=100.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=-1.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=-1.0, DEPENDENT_VALUE_SOURCE=$dsc/id88, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED=true, EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT=false}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED=true, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET=true}) Select(groups=[salesforce."User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=[u.Id, u.Name], EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING ImplementJoinStrategy AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=ENHANCED_SORT, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=-1.0, DEPENDENT_VALUE_SOURCE=$dsc/id88, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, SORT_LEFT=SORT, IS_RIGHT_DISTINCT=true, SORT_RIGHT=SORT}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED=true, EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT=false}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'}), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED=true, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET=true}) Select(groups=[salesforce."User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET=true, IS_PUSHED=true, OUTPUT_COLS=[u.Id, u.Name], EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}}) Source(groups=[salesforce."User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PlanSubqueries AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=100.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Select(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING MergeCriteria AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Select(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING PlanSorts AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT=false, APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=-1.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) Join(groups=[salesforce.Task AS t, salesforce."User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=ENHANCED_SORT, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED=true, LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=-1.0, DEPENDENT_VALUE_SOURCE=$dsc/id88, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, SORT_LEFT=SORT, IS_RIGHT_DISTINCT=true, SORT_RIGHT=SORT}) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT=false}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce."User" AS u]) Select(groups=[salesforce."User" AS u]) Source(groups=[salesforce."User" AS u]) ============================================================================ EXECUTING CollapseSource AFTER: Project(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce."User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, ATOMIC_REQUEST=SELECT t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c FROM salesforce.Task AS t WHERE (t.Type = 'Online chat') AND (t.CreatedById = '00532000005hioBAAQ') AND (t.ActivityDate > {d'2020-08-29'})}) Access(groups=[salesforce."User" AS u], props={SOURCE_HINT=null, MODEL_ID=Schema name=salesforce, nameInSource=null, uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET=true, ATOMIC_REQUEST=SELECT u.Id, u.Name FROM salesforce."User" AS u WHERE u.Id IN (<dependent values>)}) ============================================================================ CONVERTING PLAN TREE TO PROCESS TREE PROCESS PLAN = ProjectNode(0) output=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] [t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] LimitNode(1) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] limit 100 SortNode(2) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] JoinNode(3) [Dependent] [ENHANCED SORT JOIN (SORT/SORT)] [LEFT OUTER JOIN] criteria=[t.OwnerId=u.Id] output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] LimitNode(4) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] limit 100 SortNode(5) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] AccessNode(6) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat') AND (g_0.CreatedById = '00532000005hioBAAQ') AND (g_0.ActivityDate > {d'2020-08-29'}) DependentAccessNode(7) output=[u.Id, u.Name] SELECT g_0.Id, g_0.Name FROM salesforce."User" AS g_0 WHERE g_0.Id IN (<dependent values>) ============================================================================ ---------------------------------------------------------------------------- OPTIMIZATION COMPLETE: PROCESSOR PLAN: ProjectNode(0) output=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] [t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] LimitNode(1) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] limit 100 SortNode(2) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] JoinNode(3) [Dependent] [ENHANCED SORT JOIN (SORT/SORT)] [LEFT OUTER JOIN] criteria=[t.OwnerId=u.Id] output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] LimitNode(4) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] limit 100 SortNode(5) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] AccessNode(6) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat') AND (g_0.CreatedById = '00532000005hioBAAQ') AND (g_0.ActivityDate > {d'2020-08-29'}) DependentAccessNode(7) output=[u.Id, u.Name] SELECT g_0.Id, g_0.Name FROM salesforce."User" AS g_0 WHERE g_0.Id IN (<dependent values>) ============================================================================ END DEBUG LOG
In this plan we have real SOQL query
SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat') AND (g_0.CreatedById = '00532000005hioBAAQ') AND (g_0.ActivityDate > {d'2020-08-29'})
3. Another variant of SQL
SELECT t.Id AS Task_id , t.LastStatusChangeDate__c AS Task_time , t.WhoId AS Task_whoId , t.OwnerId AS Task_ownerId , u.Name AS Task_agent , t.Request_Type__c AS Task_department FROM Task AS t LEFT OUTER JOIN salesforce.User AS u ON u.Id = t.OwnerId WHERE t.Type='Online chat' AND t.createdById = '00532000005hioBAAQ' AND t.ActivityDate > '2020-08-29' ORDER BY t.LastStatusChangeDate__c DESC LIMIT 100 OFFSET 0
PLAN: ProjectNode + Relational Node ID:0 + Output Columns: 0: Task_id (string) 1: Task_time (timestamp) 2: Task_whoId (string) 3: Task_ownerId (string) 4: Task_agent (string) 5: Task_department (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: LimitNode + Relational Node ID:1 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: SortNode + Relational Node ID:2 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: JoinNode + Relational Node ID:3 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: AccessNode + Relational Node ID:4 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Query:SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat') AND (g_0.CreatedById = '00532000005hioBAAQ') AND (g_0.ActivityDate > {d'2020-08-29'}) ORDER BY g_0.LastStatusChangeDate__c DESC LIMIT 100 + Model Name:salesforce + Child 1: DependentAccessNode + Relational Node ID:5 + Output Columns: 0: Id (string) 1: Name (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Query:SELECT g_0.Id, g_0.Name FROM salesforce."User" AS g_0 WHERE g_0.Id IN (<dependent values>) + Model Name:salesforce + Dependent Join:true + Join Strategy:ENHANCED SORT JOIN (SORT/SORT) + Join Type:LEFT OUTER JOIN + Join Criteria:t.OwnerId=u.Id + Sort Columns:[t.LastStatusChangeDate__c DESC] + Sort FrameMode:SORT + Row Offset:null + Row Limit:100 + Select Columns: 0: t.Id AS Task_id 1: t.LastStatusChangeDate__c AS Task_time 2: t.WhoId AS Task_whoId 3: t.OwnerId AS Task_ownerId 4: u.Name AS Task_agent 5: t.Request_Type__c AS Task_department + Data Bytes Sent:7 + Planning Time:0 END PLAN DEBUG LOG : nullEND DEBUG LOG
in this plan we have SOQL
SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat') AND (g_0.CreatedById = '00532000005hioBAAQ') AND (g_0.ActivityDate > {d'2020-08-29'}) ORDER BY g_0.LastStatusChangeDate__c DESC LIMIT 100
in first SQL we have NULLS FIRST in SQL but not in SOQL, but in SOQL this construction is exists. Same for LIMIT construction in first SQL.
So in first and second constructions we have different row sets with real salefforce request
Show1. Spring-boot-teiid application 2. First SQL SELECT t.Id AS Task_id , t.LastStatusChangeDate__c AS Task_time , t.WhoId AS Task_whoId , t.OwnerId AS Task_ownerId , u.Name AS Task_agent , t.Request_Type__c AS Task_department FROM Task AS t LEFT OUTER JOIN salesforce.User AS u ON u.Id = t.OwnerId WHERE t.Type= 'Online chat' AND t.createdById = '00532000005hioBAAQ' AND t.ActivityDate > '2020-08-29' ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST LIMIT 100 OFFSET 0 Plan PLAN: ProjectNode + Relational Node ID:0 + Output Columns: 0: Task_id (string) 1: Task_time (timestamp) 2: Task_whoId (string) 3: Task_ownerId (string) 4: Task_agent (string) 5: Task_department (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: LimitNode + Relational Node ID:1 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: SortNode + Relational Node ID:2 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: JoinNode + Relational Node ID:3 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: LimitNode + Relational Node ID:4 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: SortNode + Relational Node ID:5 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: AccessNode + Relational Node ID:6 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Query:SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat' ) AND (g_0.CreatedById = '00532000005hioBAAQ' ) AND (g_0.ActivityDate > {d '2020-08-29' }) + Model Name:salesforce + Sort Columns:[t.LastStatusChangeDate__c DESC NULLS FIRST] + Sort FrameMode:SORT + Row Offset: null + Row Limit:100 + Child 1: DependentAccessNode + Relational Node ID:7 + Output Columns: 0: Id (string) 1: Name (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Query:SELECT g_0.Id, g_0.Name FROM salesforce. "User" AS g_0 WHERE g_0.Id IN (<dependent values>) + Model Name:salesforce + Dependent Join: true + Join Strategy:ENHANCED SORT JOIN (SORT/SORT) + Join Type:LEFT OUTER JOIN + Join Criteria:t.OwnerId=u.Id + Sort Columns:[t.LastStatusChangeDate__c DESC NULLS FIRST] + Sort FrameMode:SORT + Row Offset: null + Row Limit:100 + Select Columns: 0: t.Id AS Task_id 1: t.LastStatusChangeDate__c AS Task_time 2: t.WhoId AS Task_whoId 3: t.OwnerId AS Task_ownerId 4: u.Name AS Task_agent 5: t.Request_Type__c AS Task_department + Data Bytes Sent:7 + Planning Time:7 END PLAN DEBUG LOG : ============================================================================ USER COMMAND: SELECT t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department FROM salesforce.Task AS t LEFT OUTER JOIN salesforce. "User" AS u ON u.Id = t.OwnerId WHERE (t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }) ORDER BY Task_time DESC NULLS FIRST LIMIT 100 ---------------------------------------------------------------------------- OPTIMIZE: SELECT t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department FROM salesforce.Task AS t LEFT OUTER JOIN salesforce. "User" AS u ON u.Id = t.OwnerId WHERE (t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }) ORDER BY Task_time DESC NULLS FIRST LIMIT 100 ---------------------------------------------------------------------------- GENERATE CANONICAL: SELECT t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department FROM salesforce.Task AS t LEFT OUTER JOIN salesforce. "User" AS u ON u.Id = t.OwnerId WHERE (t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }) ORDER BY Task_time DESC NULLS FIRST LIMIT 100 CANONICAL PLAN: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST}) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d '2020-08-29' }}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.CreatedById = '00532000005hioBAAQ' }) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.Type = 'Online chat' }) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId]}) Source(groups=[salesforce.Task AS t]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PlaceAccess AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST}) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d '2020-08-29' }}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.CreatedById = '00532000005hioBAAQ' }) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.Type = 'Online chat' }) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000}) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000}) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING AssignOutputElements AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], UNRELATED_SORT= false }) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d '2020-08-29' }, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.CreatedById = '00532000005hioBAAQ' , OUTPUT_COLS=[t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.Type = 'Online chat' , OUTPUT_COLS=[t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name]}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name]}) ============================================================================ EXECUTING RemoveOptionalJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=t.ActivityDate > {d '2020-08-29' }, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department]}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.OwnerId, t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PushNonJoinCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS= null , UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6}) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2}) ============================================================================ EXECUTING RaiseAccess AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PlanOuterJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING CopyCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true }) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true }) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING CleanCriteria AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS= null , UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6}) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true }) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true }) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2}) ============================================================================ EXECUTING PlanJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true }) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PushSelectCriteria AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true }) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING RaiseAccess AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true }) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PlanOuterJoins AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=NESTED_LOOP, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true }) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING ChooseJoinStrategy AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PushLargeIn AFTER: TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING AssignOutputElements AFTER: TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY Task_time DESC NULLS FIRST, OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6}) Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true }) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2}) ============================================================================ EXECUTING PushLimit AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[]}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED= true }) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c]}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING ChooseDependent AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY= null , DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED= true , EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Select(groups=[salesforce. "User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET= true }) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PushSelectCriteria AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=9, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY= null , DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET= true }) Select(groups=[salesforce. "User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET= true , IS_PUSHED= true }) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING CleanCriteria AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS= null , UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY= null , DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS= null , IS_PUSHED= true , EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS= null , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED= true , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET= true }) Select(groups=[salesforce. "User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET= true , IS_PUSHED= true , OUTPUT_COLS= null }) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS= null , APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING AssignOutputElements AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY= null , DEPENDENT_VALUE_SOURCE=$dsc/id88}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED= true , EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT= false }) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED= true , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET= true }) Select(groups=[salesforce. "User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET= true , IS_PUSHED= true , OUTPUT_COLS=[u.Id, u.Name]}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING CalculateCost AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=100.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=100.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=-1.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=MERGE, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=-1.0, DEPENDENT_VALUE_SOURCE=$dsc/id88, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED= true , EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT= false }) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED= true , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET= true }) Select(groups=[salesforce. "User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET= true , IS_PUSHED= true , OUTPUT_COLS=[u.Id, u.Name], EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING ImplementJoinStrategy AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=ENHANCED_SORT, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=-1.0, DEPENDENT_VALUE_SOURCE=$dsc/id88, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, SORT_LEFT=SORT, IS_RIGHT_DISTINCT= true , SORT_RIGHT=SORT}) TupleLimit(groups=[], props={MAX_TUPLE_LIMIT=100, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], IS_PUSHED= true , EST_CARDINALITY=100.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5}) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT= false }) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t], props={SELECT_CRITERIA=(t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' }), OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, IS_COPIED= true , EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Source(groups=[salesforce.Task AS t], props={OUTPUT_COLS=[t.Type, t.CreatedById, t.ActivityDate, t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=8, EST_COL_STATS={t.Type=[-1.0, -1.0, -1.0], t.CreatedById=[-1.0, -1.0, -1.0], t.ActivityDate=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, EST_CARDINALITY=-1.0}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET= true }) Select(groups=[salesforce. "User" AS u], props={SELECT_CRITERIA=u.Id IN (<dependent values>), IS_DEPENDENT_SET= true , IS_PUSHED= true , OUTPUT_COLS=[u.Id, u.Name], EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}}) Source(groups=[salesforce. "User" AS u], props={OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, EST_CARDINALITY=-1.0}) ============================================================================ EXECUTING PlanSubqueries AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={PROJECT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], OUTPUT_COLS=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department], APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=100.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Select(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING MergeCriteria AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t]) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Select(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING PlanSorts AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], UNRELATED_SORT= false , APPROXIMATE_OUTPUT_COLUMNS=6, EST_CARDINALITY=-1.0, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}}) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u], props={JOIN_TYPE=LEFT OUTER JOIN, JOIN_STRATEGY=ENHANCED_SORT, JOIN_CRITERIA=[u.Id = t.OwnerId], OUTPUT_COLS=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=6, IS_COPIED= true , LEFT_EXPRESSIONS=[t.OwnerId], RIGHT_EXPRESSIONS=[u.Id], NON_EQUI_JOIN_CRITERIA=[], EST_CARDINALITY=-1.0, DEPENDENT_VALUE_SOURCE=$dsc/id88, EST_COL_STATS={t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], t.OwnerId=[-1.0, -1.0, -1.0], ...}, SORT_LEFT=SORT, IS_RIGHT_DISTINCT= true , SORT_RIGHT=SORT}) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t], props={SORT_ORDER=ORDER BY t.LastStatusChangeDate__c DESC NULLS FIRST, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, APPROXIMATE_OUTPUT_COLUMNS=5, UNRELATED_SORT= false }) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}}) Select(groups=[salesforce.Task AS t]) Source(groups=[salesforce.Task AS t]) Access(groups=[salesforce. "User" AS u]) Select(groups=[salesforce. "User" AS u]) Source(groups=[salesforce. "User" AS u]) ============================================================================ EXECUTING CollapseSource AFTER: Project(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Join(groups=[salesforce.Task AS t, salesforce. "User" AS u]) TupleLimit(groups=[]) Sort(groups=[salesforce.Task AS t]) Access(groups=[salesforce.Task AS t], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c], APPROXIMATE_OUTPUT_COLUMNS=5, EST_CARDINALITY=-1.0, EST_COL_STATS={t.OwnerId=[-1.0, -1.0, -1.0], t.Id=[-1.0, -1.0, -1.0], t.LastStatusChangeDate__c=[-1.0, -1.0, -1.0], t.WhoId=[-1.0, -1.0, -1.0], ...}, ATOMIC_REQUEST=SELECT t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c FROM salesforce.Task AS t WHERE (t.Type = 'Online chat' ) AND (t.CreatedById = '00532000005hioBAAQ' ) AND (t.ActivityDate > {d '2020-08-29' })}) Access(groups=[salesforce. "User" AS u], props={SOURCE_HINT= null , MODEL_ID=Schema name=salesforce, nameInSource= null , uuid=tid:6b7918e394e2-66cf095f-00000000, OUTPUT_COLS=[u.Id, u.Name], APPROXIMATE_OUTPUT_COLUMNS=2, EST_CARDINALITY=-1.0, EST_COL_STATS={u.Id=[-1.0, -1.0, -1.0], u.Name=[-1.0, -1.0, -1.0]}, IS_DEPENDENT_SET= true , ATOMIC_REQUEST=SELECT u.Id, u.Name FROM salesforce. "User" AS u WHERE u.Id IN (<dependent values>)}) ============================================================================ CONVERTING PLAN TREE TO PROCESS TREE PROCESS PLAN = ProjectNode(0) output=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] [t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] LimitNode(1) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] limit 100 SortNode(2) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] JoinNode(3) [Dependent] [ENHANCED SORT JOIN (SORT/SORT)] [LEFT OUTER JOIN] criteria=[t.OwnerId=u.Id] output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] LimitNode(4) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] limit 100 SortNode(5) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] AccessNode(6) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat' ) AND (g_0.CreatedById = '00532000005hioBAAQ' ) AND (g_0.ActivityDate > {d '2020-08-29' }) DependentAccessNode(7) output=[u.Id, u.Name] SELECT g_0.Id, g_0.Name FROM salesforce. "User" AS g_0 WHERE g_0.Id IN (<dependent values>) ============================================================================ ---------------------------------------------------------------------------- OPTIMIZATION COMPLETE: PROCESSOR PLAN: ProjectNode(0) output=[t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] [t.Id AS Task_id, t.LastStatusChangeDate__c AS Task_time, t.WhoId AS Task_whoId, t.OwnerId AS Task_ownerId, u.Name AS Task_agent, t.Request_Type__c AS Task_department] LimitNode(1) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] limit 100 SortNode(2) output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] JoinNode(3) [Dependent] [ENHANCED SORT JOIN (SORT/SORT)] [LEFT OUTER JOIN] criteria=[t.OwnerId=u.Id] output=[t.Id, t.LastStatusChangeDate__c, t.WhoId, t.OwnerId, u.Name, t.Request_Type__c] LimitNode(4) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] limit 100 SortNode(5) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] [SORT] [t.LastStatusChangeDate__c DESC NULLS FIRST] AccessNode(6) output=[t.OwnerId, t.Id, t.LastStatusChangeDate__c, t.WhoId, t.Request_Type__c] SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat' ) AND (g_0.CreatedById = '00532000005hioBAAQ' ) AND (g_0.ActivityDate > {d '2020-08-29' }) DependentAccessNode(7) output=[u.Id, u.Name] SELECT g_0.Id, g_0.Name FROM salesforce. "User" AS g_0 WHERE g_0.Id IN (<dependent values>) ============================================================================ END DEBUG LOG In this plan we have real SOQL query SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat' ) AND (g_0.CreatedById = '00532000005hioBAAQ' ) AND (g_0.ActivityDate > {d '2020-08-29' }) 3. Another variant of SQL SELECT t.Id AS Task_id , t.LastStatusChangeDate__c AS Task_time , t.WhoId AS Task_whoId , t.OwnerId AS Task_ownerId , u.Name AS Task_agent , t.Request_Type__c AS Task_department FROM Task AS t LEFT OUTER JOIN salesforce.User AS u ON u.Id = t.OwnerId WHERE t.Type= 'Online chat' AND t.createdById = '00532000005hioBAAQ' AND t.ActivityDate > '2020-08-29' ORDER BY t.LastStatusChangeDate__c DESC LIMIT 100 OFFSET 0 PLAN: ProjectNode + Relational Node ID:0 + Output Columns: 0: Task_id (string) 1: Task_time (timestamp) 2: Task_whoId (string) 3: Task_ownerId (string) 4: Task_agent (string) 5: Task_department (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: LimitNode + Relational Node ID:1 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Child 0: SortNode + Relational Node ID:2 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: JoinNode + Relational Node ID:3 + Output Columns: 0: Id (string) 1: LastStatusChangeDate__c (timestamp) 2: WhoId (string) 3: OwnerId (string) 4: Name (string) 5: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Child 0: AccessNode + Relational Node ID:4 + Output Columns: 0: OwnerId (string) 1: Id (string) 2: LastStatusChangeDate__c (timestamp) 3: WhoId (string) 4: Request_Type__c (string) + Cost Estimates:Estimated Node Cardinality: 100.0 + Query:SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat' ) AND (g_0.CreatedById = '00532000005hioBAAQ' ) AND (g_0.ActivityDate > {d '2020-08-29' }) ORDER BY g_0.LastStatusChangeDate__c DESC LIMIT 100 + Model Name:salesforce + Child 1: DependentAccessNode + Relational Node ID:5 + Output Columns: 0: Id (string) 1: Name (string) + Cost Estimates:Estimated Node Cardinality: -1.0 + Query:SELECT g_0.Id, g_0.Name FROM salesforce. "User" AS g_0 WHERE g_0.Id IN (<dependent values>) + Model Name:salesforce + Dependent Join: true + Join Strategy:ENHANCED SORT JOIN (SORT/SORT) + Join Type:LEFT OUTER JOIN + Join Criteria:t.OwnerId=u.Id + Sort Columns:[t.LastStatusChangeDate__c DESC] + Sort FrameMode:SORT + Row Offset: null + Row Limit:100 + Select Columns: 0: t.Id AS Task_id 1: t.LastStatusChangeDate__c AS Task_time 2: t.WhoId AS Task_whoId 3: t.OwnerId AS Task_ownerId 4: u.Name AS Task_agent 5: t.Request_Type__c AS Task_department + Data Bytes Sent:7 + Planning Time:0 END PLAN DEBUG LOG : nullEND DEBUG LOG in this plan we have SOQL SELECT g_0.OwnerId, g_0.Id, g_0.LastStatusChangeDate__c, g_0.WhoId, g_0.Request_Type__c FROM salesforce.Task AS g_0 WHERE (g_0.Type = 'Online chat' ) AND (g_0.CreatedById = '00532000005hioBAAQ' ) AND (g_0.ActivityDate > {d '2020-08-29' }) ORDER BY g_0.LastStatusChangeDate__c DESC LIMIT 100 in first SQL we have NULLS FIRST in SQL but not in SOQL, but in SOQL this construction is exists. Same for LIMIT construction in first SQL. https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_select_orderby.htm So in first and second constructions we have different row sets with real salefforce request
We have two different results from Teiid where make "same" requests.