explain.depesz.com

PostgreSQL's explain analyze made readable

Result: bhti

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Sort (cost=17,352,299,464.84..17,352,299,466.86 rows=806 width=1,823) (actual rows= loops=)

  • Sort Key: ((ui.lastname)::character varying(50)) COLLATE "en_US", ((ui.firstname)::character varying(50)) COLLATE "en_US", ui.duplicatename, ((login.loginname)::character varying(255)) COLLATE "en_US", ((ui.displayname)::text) COLLATE "en_US", ((pj.name)::character varying(255)) COLLATE "en_US", ((tk.code)::character varying(50)) COLLATE "en_US", ((objectextensiontag4.name)::character varying(50)) COLLATE "en_US", ((timeentrymetadata5.text)::text) COLLATE "en_US", "*SELECT* 1".entrydate, ((objectextensiontag11.name)::character varying(50)) COLLATE "en_US
2.          

Initplan (for Sort)

3. 0.000 0.000 ↓ 0.0

Seq Scan on systeminformation (cost=0.00..1.01 rows=1 width=4) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=8,676,035,174.99..17,352,299,424.92 rows=806 width=1,823) (actual rows= loops=)

  • Hash Cond: (objectextensionfieldvalue20.tagid = objectextensiontag11.id)
5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,160.67..17,352,299,408.47 rows=806 width=383) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,160.24..17,352,298,114.56 rows=572 width=367) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Merge Semi Join (cost=8,676,035,159.80..17,352,296,820.65 rows=572 width=363) (actual rows= loops=)

  • Merge Cond: ("*SELECT* 1".userid = userdepartmentgroup21.userid)
8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,130.79..17,352,296,788.61 rows=1,143 width=375) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,127.98..17,352,285,921.74 rows=262 width=209) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,127.42..17,352,285,297.14 rows=262 width=175) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,127.15..17,352,285,221.18 rows=262 width=153) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,126.71..17,352,284,628.51 rows=262 width=137) (actual rows= loops=)

  • Join Filter: (tk.estimatedcostcurrencyid = exchangerate.fixedcurrencyid)
13. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,126.71..17,352,284,623.55 rows=262 width=141) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=8,676,035,126.29..17,352,284,501.30 rows=262 width=135) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,126.01..17,352,284,422.19 rows=262 width=124) (actual rows= loops=)

  • Filter: (((timeentrymetadata18.uri IS NULL) AND ("*SELECT* 1".timeoffentryid IS NULL) AND (("*SELECT* 1".timeallocationtype = 1) OR ("*SELECT* 1".timeallocationtype IS NULL))) OR ("*SELECT* 1".timeoffentryid IS NOT NULL))
16. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,125.44..17,352,283,794.55 rows=263 width=132) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,125.02..17,352,283,665.81 rows=263 width=96) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,124.58..17,352,283,545.21 rows=263 width=151) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,124.02..17,352,283,092.26 rows=190 width=88) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8,676,035,123.59..17,352,283,004.38 rows=190 width=147) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop (cost=8,676,035,123.02..17,352,282,551.43 rows=190 width=84) (actual rows= loops=)

  • Join Filter: (ui.id = "*SELECT* 1".userid)
22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..171.45 rows=17 width=36) (actual rows= loops=)

23. 0.000 0.000 ↓ 0.0

Index Only Scan using ix4ucc_userdepartmentgroupstartend on userdepartmentgroup userdepartmentgroup17 (cost=0.28..137.35 rows=17 width=4) (actual rows= loops=)

  • Index Cond: ((departmentgroupid = 'ae326f30-871b-4c35-9564-21031e6a8478'::uuid) AND (startdate <= '2020-09-03'::date) AND (enddate >= '2020-09-03'::date))
24. 0.000 0.000 ↓ 0.0

Index Scan using userinfo_pkey on userinfo ui (cost=0.28..2.01 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = userdepartmentgroup17.userid)
25. 0.000 0.000 ↓ 0.0

Materialize (cost=8,676,035,122.46..17,352,265,239.78 rows=67,882 width=48) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Append (cost=8,676,035,122.46..17,352,264,900.37 rows=67,882 width=48) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 1 (cost=8,676,035,122.46..8,676,226,360.58 rows=67,136 width=48) (actual rows= loops=)

  • Filter: ((hashed SubPlan 17) OR (hashed SubPlan 19))
28. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,001.56..190,896.96 rows=89,514 width=140) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Seq Scan on projectsysteminformation psi (cost=0.00..1.01 rows=1 width=0) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,001.56..188,434.32 rows=89,514 width=60) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Seq Scan on systeminformation si (cost=0.00..1.01 rows=1 width=0) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Gather (cost=1,001.56..187,538.17 rows=89,514 width=60) (actual rows= loops=)

  • Workers Planned: 2
33. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.56..177,586.77 rows=37,298 width=60) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.99..90,817.58 rows=37,298 width=60) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Parallel Index Scan using ixte2entrydate on timeentry te (cost=0.43..4,048.06 rows=37,298 width=60) (actual rows= loops=)

  • Index Cond: ((entrydate >= '2020-08-30'::date) AND (entrydate <= '2020-09-05'::date))
  • Filter: ((timeallocationtype <> 2) OR (timeallocationtype IS NULL))
36. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata tembillingrate (cost=0.56..2.32 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((timeentryid = te.id) AND (upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:BILLING-RATE'::text))
37. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata temdbreaktype (cost=0.56..2.32 rows=1 width=16) (actual rows= loops=)

  • Index Cond: ((timeentryid = te.id) AND (upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:BREAK-TYPE'::text))
38.          

SubPlan (for Subquery Scan)

39. 0.000 0.000 ↓ 0.0

Merge Join (cost=3,614.74..8,676,012,587.57 rows=6,684,844 width=16) (actual rows= loops=)

  • Merge Cond: (timeentryrevision22.id = timeentryrevision23.id)
40. 0.000 0.000 ↓ 0.0

Index Scan using timeentryrevision_pkey on timeentryrevision timeentryrevision22 (cost=0.56..768,023.33 rows=6,767,448 width=32) (actual rows= loops=)

  • Filter: (totimestamputc IS NULL)
41. 0.000 0.000 ↓ 0.0

Index Scan using timeentryrevision_pkey on timeentryrevision timeentryrevision23 (cost=3,614.18..8,675,114,039.66 rows=18,703,008 width=16) (actual rows= loops=)

  • Filter: ((hashed SubPlan 2) OR (userid = 2,373) OR (SubPlan 3) OR (SubPlan 4) OR (SubPlan 5) OR (SubPlan 6) OR ((SubPlan 9) AND ((SubPlan 10) OR (SubPlan 11))) OR ((SubPlan 14) AND ((SubPlan 15) OR (SubPlan 16))))
42.          

SubPlan (for Index Scan)

43. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.26..3,416.71 rows=78,765 width=16) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.70..141.87 rows=226 width=16) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.28..96.61 rows=53 width=12) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

Seq Scan on departmentgroupflathierarchy departmentgroupflathierarchy27 (cost=0.00..32.81 rows=3 width=16) (actual rows= loops=)

  • Filter: (parentid = 'ae326f30-871b-4c35-9564-21031e6a8478'::uuid)
47. 0.000 0.000 ↓ 0.0

Index Scan using ixudgdepartmentgroupid on userdepartmentgroup userdepartmentgroup26 (cost=0.28..21.03 rows=24 width=28) (actual rows= loops=)

  • Index Cond: (departmentgroupid = departmentgroupflathierarchy27.childid)
48. 0.000 0.000 ↓ 0.0

Index Only Scan using ixtsuseridstartdateenddate on timesheet timesheet25 (cost=0.42..0.81 rows=4 width=12) (actual rows= loops=)

  • Index Cond: ((userid = userdepartmentgroup26.userid) AND (startdate <= userdepartmentgroup26.enddate) AND (enddate >= userdepartmentgroup26.startdate))
49. 0.000 0.000 ↓ 0.0

Index Scan using ixter2userid on timeentryrevision timeentryrevision24 (cost=0.56..10.84 rows=365 width=24) (actual rows= loops=)

  • Index Cond: ((userid = timesheet25.userid) AND (timesheet25.startdate <= entrydate) AND (timesheet25.enddate >= entrydate))
50. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.53..30.87 rows=3 width=32) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.25..23.02 rows=12 width=84) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..7.35 rows=1 width=4) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..4.59 rows=1 width=20) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest31 (cost=0.27..2.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
55. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalnodes_pkey on timesheetapprovalnodes timesheetapprovalnodes30 (cost=0.28..2.29 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequest31.nodeid)
56. 0.000 0.000 ↓ 0.0

Index Scan using timesheet_pkey on timesheet timesheet29 (cost=0.42..2.09 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = timesheetapprovalnodes30.timesheetid)
  • Filter: ((startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate) AND (userid = timeentryrevision23.userid))
57. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue28 (cost=0.28..15.55 rows=12 width=88) (actual rows= loops=)

  • Index Cond: (tsapprovalrequestid = tsapprovalrequest31.id)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
58. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue32 (cost=0.28..0.65 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequestkeyvalue28.parentid)
  • Filter: (parentid IS NULL)
59. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.47..47.67 rows=1 width=32) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.91..46.82 rows=1 width=16) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.34..44.69 rows=1 width=16) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.78..43.88 rows=1 width=16) (actual rows= loops=)

63. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.22..41.83 rows=1 width=16) (actual rows= loops=)

64. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.66..38.50 rows=1 width=16) (actual rows= loops=)

65. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.09..35.92 rows=1 width=16) (actual rows= loops=)

66. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.92..23.71 rows=1 width=16) (actual rows= loops=)

67. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet34 (cost=0.42..5.60 rows=4 width=16) (actual rows= loops=)

  • Index Cond: ((userid = timeentryrevision23.userid) AND (startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate))
68. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory35 (cost=3.50..4.52 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet34.id) AND (userid = 2,373))
69. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=3.50..3.50 rows=1 width=0) (actual rows= loops=)

70. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtah2timesheetid (cost=0.00..1.46 rows=4 width=0) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet34.id)
71. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahuserid (cost=0.00..1.78 rows=48 width=0) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
72. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue36 (cost=11.17..12.19 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory35.id) AND (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
73. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=11.17..11.17 rows=1 width=0) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..2.08 rows=69 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory35.id)
75. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..8.78 rows=412 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text)
76. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue37 (cost=0.56..2.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue36.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
77. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue38 (cost=0.56..3.32 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue37.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
78. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue39 (cost=0.56..1.96 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue38.id)
79. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue40 (cost=0.56..0.80 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue39.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
80. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue41 (cost=0.56..2.04 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue40.id)
81. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue33 (cost=0.56..0.75 rows=9 width=89) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue41.id)
82. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.53..24.69 rows=1 width=32) (actual rows= loops=)

83. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.25..22.91 rows=1 width=84) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..7.35 rows=1 width=4) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..4.59 rows=1 width=20) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest45 (cost=0.27..2.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
87. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalnodes_pkey on timesheetapprovalnodes timesheetapprovalnodes44 (cost=0.28..2.29 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequest45.nodeid)
88. 0.000 0.000 ↓ 0.0

Index Scan using timesheet_pkey on timesheet timesheet43 (cost=0.42..2.09 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = timesheetapprovalnodes44.timesheetid)
  • Filter: ((startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate) AND (userid = timeentryrevision23.userid))
89. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue42 (cost=0.28..15.55 rows=1 width=88) (actual rows= loops=)

  • Index Cond: (tsapprovalrequestid = tsapprovalrequest45.id)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-ACCESSIBLE-OBJECTS'::text)
90. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue46 (cost=0.28..1.78 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequestkeyvalue42.parentid)
  • Filter: (parentid IS NULL)
91. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.47..47.67 rows=1 width=32) (actual rows= loops=)

92. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.91..46.82 rows=1 width=16) (actual rows= loops=)

93. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.34..44.69 rows=1 width=16) (actual rows= loops=)

94. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.78..43.88 rows=1 width=16) (actual rows= loops=)

95. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.22..41.83 rows=1 width=16) (actual rows= loops=)

96. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.66..38.50 rows=1 width=16) (actual rows= loops=)

97. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.09..35.92 rows=1 width=16) (actual rows= loops=)

98. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.92..23.71 rows=1 width=16) (actual rows= loops=)

99. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet48 (cost=0.42..5.60 rows=4 width=16) (actual rows= loops=)

  • Index Cond: ((userid = timeentryrevision23.userid) AND (startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate))
100. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory49 (cost=3.50..4.52 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet48.id) AND (userid = 2,373))
101. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=3.50..3.50 rows=1 width=0) (actual rows= loops=)

102. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtah2timesheetid (cost=0.00..1.46 rows=4 width=0) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet48.id)
103. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahuserid (cost=0.00..1.78 rows=48 width=0) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
104. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue50 (cost=11.17..12.19 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory49.id) AND (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
105. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=11.17..11.17 rows=1 width=0) (actual rows= loops=)

106. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..2.08 rows=69 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory49.id)
107. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..8.78 rows=412 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text)
108. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue51 (cost=0.56..2.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue50.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
109. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue52 (cost=0.56..3.32 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue51.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
110. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue53 (cost=0.56..1.96 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue52.id)
111. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue54 (cost=0.56..0.80 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue53.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-ACCESSIBLE-OBJECTS'::text)
112. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue55 (cost=0.56..2.04 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue54.id)
113. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue47 (cost=0.56..0.75 rows=9 width=89) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue55.id)
114. 0.000 0.000 ↓ 0.0

Index Scan using ixtemrtimeentryid on timeentrymetadatarevision timeentrymetadatarevision56 (cost=131.96..155.89 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (timeentryid = timeentryrevision23.timeentryid)
  • Filter: ((fromtimestamputc <= timeentryrevision23.fromtimestamputc) AND ((totimestamputc > timeentryrevision23.fromtimestamputc) OR (totimestamputc IS NULL)) AND (((upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:PROJECT'::text) AND (hashed SubPlan 7)) OR ((upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:TASK'::text) AND (hashed SubPlan 8))))
115.          

SubPlan (for Index Scan)

116. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project57 (cost=0.42..21.97 rows=20 width=32) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 2,373)
117. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..109.27 rows=40 width=32) (actual rows= loops=)

118. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project59 (cost=0.42..21.77 rows=20 width=4) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 2,373)
119. 0.000 0.000 ↓ 0.0

Index Scan using ixtkprojectid on task task58 (cost=0.42..4.31 rows=4 width=8) (actual rows= loops=)

  • Index Cond: (projectid = project59.id)
120. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.53..30.87 rows=3 width=32) (actual rows= loops=)

121. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.25..23.02 rows=12 width=84) (actual rows= loops=)

122. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..7.35 rows=1 width=4) (actual rows= loops=)

123. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..4.59 rows=1 width=20) (actual rows= loops=)

124. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest63 (cost=0.27..2.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
125. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalnodes_pkey on timesheetapprovalnodes timesheetapprovalnodes62 (cost=0.28..2.29 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequest63.nodeid)
126. 0.000 0.000 ↓ 0.0

Index Scan using timesheet_pkey on timesheet timesheet61 (cost=0.42..2.09 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = timesheetapprovalnodes62.timesheetid)
  • Filter: ((startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate) AND (userid = timeentryrevision23.userid))
127. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue60 (cost=0.28..15.55 rows=12 width=88) (actual rows= loops=)

  • Index Cond: (tsapprovalrequestid = tsapprovalrequest63.id)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
128. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue64 (cost=0.28..0.65 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequestkeyvalue60.parentid)
  • Filter: (parentid IS NULL)
129. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.47..47.67 rows=1 width=32) (actual rows= loops=)

130. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.91..46.82 rows=1 width=16) (actual rows= loops=)

131. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.34..44.69 rows=1 width=16) (actual rows= loops=)

132. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.78..43.88 rows=1 width=16) (actual rows= loops=)

133. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.22..41.83 rows=1 width=16) (actual rows= loops=)

134. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.66..38.50 rows=1 width=16) (actual rows= loops=)

135. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.09..35.92 rows=1 width=16) (actual rows= loops=)

136. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.92..23.71 rows=1 width=16) (actual rows= loops=)

137. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet66 (cost=0.42..5.60 rows=4 width=16) (actual rows= loops=)

  • Index Cond: ((userid = timeentryrevision23.userid) AND (startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate))
138. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory67 (cost=3.50..4.52 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet66.id) AND (userid = 2,373))
139. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=3.50..3.50 rows=1 width=0) (actual rows= loops=)

140. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtah2timesheetid (cost=0.00..1.46 rows=4 width=0) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet66.id)
141. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahuserid (cost=0.00..1.78 rows=48 width=0) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
142. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue68 (cost=11.17..12.19 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory67.id) AND (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
143. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=11.17..11.17 rows=1 width=0) (actual rows= loops=)

144. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..2.08 rows=69 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory67.id)
145. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..8.78 rows=412 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text)
146. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue69 (cost=0.56..2.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue68.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
147. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue70 (cost=0.56..3.32 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue69.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
148. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue71 (cost=0.56..1.96 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue70.id)
149. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue72 (cost=0.56..0.80 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue71.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
150. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue73 (cost=0.56..2.04 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue72.id)
151. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue65 (cost=0.56..0.75 rows=9 width=89) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue73.id)
152. 0.000 0.000 ↓ 0.0

Index Scan using ixtemrtimeentryid on timeentrymetadatarevision timeentrymetadatarevision74 (cost=84.26..108.19 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (timeentryid = timeentryrevision23.timeentryid)
  • Filter: ((fromtimestamputc <= timeentryrevision23.fromtimestamputc) AND ((totimestamputc > timeentryrevision23.fromtimestamputc) OR (totimestamputc IS NULL)) AND (((upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:PROJECT'::text) AND (hashed SubPlan 12)) OR ((upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:TASK'::text) AND (hashed SubPlan 13))))
153.          

SubPlan (for Index Scan)

154. 0.000 0.000 ↓ 0.0

Nested Loop (cost=32.98..39.98 rows=6 width=32) (actual rows= loops=)

155. 0.000 0.000 ↓ 0.0

HashAggregate (cost=32.56..32.62 rows=6 width=4) (actual rows= loops=)

  • Group Key: resentativeprojectassignment76.projectid
156. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.30..32.55 rows=6 width=4) (actual rows= loops=)

157. 0.000 0.000 ↓ 0.0

Index Scan using uix2cr_clientuser on clientrepresentative clientrepresentative77 (cost=0.15..19.01 rows=8 width=16) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
158. 0.000 0.000 ↓ 0.0

Index Scan using ixcrpaclientrepresentativeid on clientrepresentativeprojectassignment resentativeprojectassignment76 (cost=0.15..1.63 rows=6 width=20) (actual rows= loops=)

  • Index Cond: (clientrepresentativeid = clientrepresentative77.id)
159. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project project75 (cost=0.42..1.22 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (id = resentativeprojectassignment76.projectid)
160. 0.000 0.000 ↓ 0.0

Nested Loop (cost=33.41..43.64 rows=23 width=32) (actual rows= loops=)

161. 0.000 0.000 ↓ 0.0

Nested Loop (cost=32.98..39.92 rows=6 width=8) (actual rows= loops=)

162. 0.000 0.000 ↓ 0.0

HashAggregate (cost=32.56..32.62 rows=6 width=4) (actual rows= loops=)

  • Group Key: resentativeprojectassignment76_1.projectid
163. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.30..32.55 rows=6 width=4) (actual rows= loops=)

164. 0.000 0.000 ↓ 0.0

Index Scan using uix2cr_clientuser on clientrepresentative clientrepresentative77_1 (cost=0.15..19.01 rows=8 width=16) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
165. 0.000 0.000 ↓ 0.0

Index Scan using ixcrpaclientrepresentativeid on clientrepresentativeprojectassignment resentativeprojectassignment76_1 (cost=0.15..1.63 rows=6 width=20) (actual rows= loops=)

  • Index Cond: (clientrepresentativeid = clientrepresentative77_1.id)
166. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project project79 (cost=0.42..1.22 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (id = resentativeprojectassignment76_1.projectid)
167. 0.000 0.000 ↓ 0.0

Index Scan using ixtkprojectid on task task78 (cost=0.42..0.54 rows=4 width=8) (actual rows= loops=)

  • Index Cond: (projectid = project79.id)
168. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.53..30.87 rows=3 width=32) (actual rows= loops=)

169. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.25..23.02 rows=12 width=84) (actual rows= loops=)

170. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.97..7.35 rows=1 width=4) (actual rows= loops=)

171. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.55..4.59 rows=1 width=20) (actual rows= loops=)

172. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest83 (cost=0.27..2.29 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
173. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalnodes_pkey on timesheetapprovalnodes timesheetapprovalnodes82 (cost=0.28..2.29 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequest83.nodeid)
174. 0.000 0.000 ↓ 0.0

Index Scan using timesheet_pkey on timesheet timesheet81 (cost=0.42..2.09 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = timesheetapprovalnodes82.timesheetid)
  • Filter: ((startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate) AND (userid = timeentryrevision23.userid))
175. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue80 (cost=0.28..15.55 rows=12 width=88) (actual rows= loops=)

  • Index Cond: (tsapprovalrequestid = tsapprovalrequest83.id)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
176. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue84 (cost=0.28..0.65 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = tsapprovalrequestkeyvalue80.parentid)
  • Filter: (parentid IS NULL)
177. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.47..47.67 rows=1 width=32) (actual rows= loops=)

178. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.91..46.82 rows=1 width=16) (actual rows= loops=)

179. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.34..44.69 rows=1 width=16) (actual rows= loops=)

180. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.78..43.88 rows=1 width=16) (actual rows= loops=)

181. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.22..41.83 rows=1 width=16) (actual rows= loops=)

182. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.66..38.50 rows=1 width=16) (actual rows= loops=)

183. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.09..35.92 rows=1 width=16) (actual rows= loops=)

184. 0.000 0.000 ↓ 0.0

Nested Loop (cost=3.92..23.71 rows=1 width=16) (actual rows= loops=)

185. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet86 (cost=0.42..5.60 rows=4 width=16) (actual rows= loops=)

  • Index Cond: ((userid = timeentryrevision23.userid) AND (startdate <= timeentryrevision23.entrydate) AND (enddate >= timeentryrevision23.entrydate))
186. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory87 (cost=3.50..4.52 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet86.id) AND (userid = 2,373))
187. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=3.50..3.50 rows=1 width=0) (actual rows= loops=)

188. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtah2timesheetid (cost=0.00..1.46 rows=4 width=0) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet86.id)
189. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahuserid (cost=0.00..1.78 rows=48 width=0) (actual rows= loops=)

  • Index Cond: (userid = 2,373)
190. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue88 (cost=11.17..12.19 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory87.id) AND (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
191. 0.000 0.000 ↓ 0.0

BitmapAnd (cost=11.17..11.17 rows=1 width=0) (actual rows= loops=)

192. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvtimesheetapprovalhistoryid (cost=0.00..2.08 rows=69 width=0) (actual rows= loops=)

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory87.id)
193. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on ixtahkvuri (cost=0.00..8.78 rows=412 width=0) (actual rows= loops=)

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:EC59310F04EB4B13A07D9DD6E7E07B8C:USER:2,373'::text)
194. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorykeyvalue_pkey on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue89 (cost=0.56..2.59 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (id = sheetapprovalhistorykeyvalue88.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-EXPECTED-APPROVAL-AGENT-USER'::text)
195. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue90 (cost=0.56..3.32 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue89.parentid)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-METADATA'::text)
196. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue91 (cost=0.56..1.96 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue90.id)
197. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue92 (cost=0.56..0.80 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue91.id)
  • Filter: (upper(uri) = 'URN:REPLICON:APPROVAL-REQUEST-METADATA-KEY:ADDITIONAL-APPROVER-DATA-ACCESS-LEVELS'::text)
198. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue93 (cost=0.56..2.04 rows=9 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue92.id)
199. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue85 (cost=0.56..0.75 rows=9 width=89) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue93.id)
200. 0.000 0.000 ↓ 0.0

Seq Scan on timeoffs timeoffs94 (cost=132.45..4,670.83 rows=60,155 width=4) (actual rows= loops=)

  • Filter: ((userid = 2,373) OR (hashed SubPlan 18))
201.          

SubPlan (for Seq Scan)

202. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..132.17 rows=115 width=4) (actual rows= loops=)

203. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..65.13 rows=53 width=12) (actual rows= loops=)

204. 0.000 0.000 ↓ 0.0

Index Only Scan using departmentgroupflathierarchy_pkey on departmentgroupflathierarchy departmentgroupflathierarchy97 (cost=0.28..1.33 rows=3 width=16) (actual rows= loops=)

  • Index Cond: (parentid = 'ae326f30-871b-4c35-9564-21031e6a8478'::uuid)
205. 0.000 0.000 ↓ 0.0

Index Scan using ixudgdepartmentgroupid on userdepartmentgroup userdepartmentgroup96 (cost=0.28..21.03 rows=24 width=28) (actual rows= loops=)

  • Index Cond: (departmentgroupid = departmentgroupflathierarchy97.childid)
206. 0.000 0.000 ↓ 0.0

Index Scan using ixto4userid on timeoffs timeoffs95 (cost=0.42..1.24 rows=2 width=16) (actual rows= loops=)

  • Index Cond: ((userid = userdepartmentgroup96.userid) AND (userdepartmentgroup96.enddate >= startdate) AND (userdepartmentgroup96.startdate <= enddate))
207. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 2 (cost=8,676,034,121.74..8,676,038,539.79 rows=746 width=48) (actual rows= loops=)

  • Filter: ((hashed SubPlan 17) OR (hashed SubPlan 19))
208. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..4,403.96 rows=995 width=140) (actual rows= loops=)

209. 0.000 0.000 ↓ 0.0

Index Scan using uix2toe_timeoffidentrydate on timeoffentries toe (cost=0.42..2,595.14 rows=995 width=28) (actual rows= loops=)

  • Index Cond: ((entrydate >= '2020-08-30'::date) AND (entrydate <= '2020-09-05'::date))
210. 0.000 0.000 ↓ 0.0

Index Scan using timeoffs_pkey on timeoffs toff (cost=0.42..1.82 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id = toe.timeoffid)
211. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata13 (cost=0.56..2.37 rows=1 width=79) (actual rows= loops=)

  • Index Cond: (("*SELECT* 1".timeentryid = timeentryid) AND (upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:PROJECT'::text))
212. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project project14 (cost=0.43..0.46 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (id = CASE WHEN ("substring"(timeentrymetadata13.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:project:(.*)$'::text) ~ '^\s*[-]?[0-9]+\s*$'::text) THEN ("substring"(timeentrymetadata13.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:project:(.*)$'::text))::integer ELSE NULL::integer END)
213. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata15 (cost=0.56..2.37 rows=1 width=79) (actual rows= loops=)

  • Index Cond: (("*SELECT* 1".timeentryid = timeentryid) AND (upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:TASK'::text))
214. 0.000 0.000 ↓ 0.0

Index Scan using task_pkey on task task16 (cost=0.44..0.46 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (CASE WHEN ("substring"(timeentrymetadata15.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:task:(.*)$'::text) ~ '^\s*[-]?[0-9]+\s*$'::text) THEN ("substring"(timeentrymetadata15.uri, '^urn:replicon-tenant:ec59310f04eb4b13a07d9dd6e7e07b8c:task:(.*)$'::text))::integer ELSE NULL::integer END = id)
215. 0.000 0.000 ↓ 0.0

Index Scan using project_pkey on project pj (cost=0.42..0.49 rows=1 width=44) (actual rows= loops=)

  • Index Cond: (id = COALESCE(project14.id, task16.projectid))
216. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata18 (cost=0.56..2.37 rows=1 width=79) (actual rows= loops=)

  • Index Cond: (("*SELECT* 1".timeentryid = timeentryid) AND (upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:BREAK-TYPE'::text))
217. 0.000 0.000 ↓ 0.0

Index Scan using login_pkey on login (cost=0.28..0.30 rows=1 width=11) (actual rows= loops=)

  • Index Cond: (userid = "*SELECT* 1".userid)
218. 0.000 0.000 ↓ 0.0

Index Scan using task_pkey on task tk (cost=0.42..0.47 rows=1 width=10) (actual rows= loops=)

  • Index Cond: (task16.id = id)
219. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..1.03 rows=1 width=4) (actual rows= loops=)

220. 0.000 0.000 ↓ 0.0

Seq Scan on exchangerate (cost=0.00..1.03 rows=1 width=4) (actual rows= loops=)

  • Filter: ((variablecurrencyid = $0) AND (('now'::cstring)::date >= effectivedate) AND (('now'::cstring)::date <= enddate))
221. 0.000 0.000 ↓ 0.0

Index Scan using ixoefv_objectid on objectextensionfieldvalue objectextensionfieldvalue19 (cost=0.43..2.25 rows=1 width=32) (actual rows= loops=)

  • Index Cond: ("*SELECT* 1".timeentryid = objectid)
  • Filter: ('4fd4e56a-a51a-4bbf-b826-fb7575748787'::uuid = definitionid)
222. 0.000 0.000 ↓ 0.0

Index Scan using objectextensiontag_pkey on objectextensiontag objectextensiontag4 (cost=0.27..0.29 rows=1 width=54) (actual rows= loops=)

  • Index Cond: (objectextensionfieldvalue19.tagid = id)
223. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata5 (cost=0.56..2.37 rows=1 width=50) (actual rows= loops=)

  • Index Cond: (("*SELECT* 1".timeentryid = timeentryid) AND (upper(key) = 'URN:REPLICON:TIME-ENTRY-METADATA-KEY:COMMENTS'::text))
224. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.81..41.44 rows=4 width=178) (actual rows= loops=)

225. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2.25..25.02 rows=4 width=121) (actual rows= loops=)

226. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.68..8.64 rows=4 width=48) (actual rows= loops=)

227. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.26..6.82 rows=4 width=48) (actual rows= loops=)

228. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet ts (cost=0.42..0.68 rows=4 width=28) (actual rows= loops=)

  • Index Cond: (("*SELECT* 1".userid = userid) AND ("*SELECT* 1".entrydate >= startdate) AND ("*SELECT* 1".entrydate <= enddate))
229. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.84..1.53 rows=1 width=36) (actual rows= loops=)

  • Filter: ((tahls.timesheetid IS NULL) OR (tah.serialnumber > tahls.lastsubmitserialnumber))
230. 0.000 0.000 ↓ 0.0

Index Scan using ixtah2timesheetid on timesheetapprovalhistory tah (cost=0.42..0.61 rows=2 width=40) (actual rows= loops=)

  • Index Cond: (ts.id = timesheetid)
  • Filter: (((systemprocessidentifier IS NULL) OR (systemprocessidentifier <> 'urn:replicon:approval-system-process:timesheet-submit-script-data-and-validation'::text)) AND (action = ANY ('{2,3,6}'::integer[])))
231. 0.000 0.000 ↓ 0.0

Index Scan using timesheetapprovalhistorylastsubmit_pkey on timesheetapprovalhistorylastsubmit tahls (cost=0.42..0.44 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (tah.timesheetid = timesheetid)
232. 0.000 0.000 ↓ 0.0

Index Only Scan using dm_timesheetlist_facts_pkey on dm_timesheetlist_facts tslist (cost=0.42..0.46 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (timesheetid = ts.id)
233. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvtimesheetapprovalhistoryid on timesheetapprovalhistorykeyvalue esheetapprovalhistorykeyvalue7 (cost=0.56..4.07 rows=2 width=89) (actual rows= loops=)

  • Index Cond: (tah.id = timesheetapprovalhistoryid)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:ACTING-ACTUAL-USER'::text)
234. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvtimesheetapprovalhistoryid on timesheetapprovalhistorykeyvalue esheetapprovalhistorykeyvalue8 (cost=0.56..4.07 rows=3 width=89) (actual rows= loops=)

  • Index Cond: (tah.id = timesheetapprovalhistoryid)
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:ACTING-EFFECTIVE-USER'::text)
235. 0.000 0.000 ↓ 0.0

Sort (cost=29.01..29.07 rows=25 width=4) (actual rows= loops=)

  • Sort Key: userdepartmentgroup21.userid
236. 0.000 0.000 ↓ 0.0

Index Scan using ixudgdepartmentgroupid on userdepartmentgroup userdepartmentgroup21 (cost=0.28..28.43 rows=25 width=4) (actual rows= loops=)

  • Index Cond: (departmentgroupid = ANY ('{ae326f30-871b-4c35-9564-21031e6a8478,cfe0d7ac-a127-4b59-a85a-b33fd1c3df02,f96f9791-62a1-431a-9e26-8ff8e67c2b11}'::uuid[]))
  • Filter: ((startdate <= '2020-09-03'::date) AND (enddate >= '2020-09-03'::date))
237. 0.000 0.000 ↓ 0.0

Index Scan using ixoefv_objectid on objectextensionfieldvalue objectextensionfieldvalue12 (cost=0.43..2.25 rows=1 width=20) (actual rows= loops=)

  • Index Cond: ("*SELECT* 1".timeentryid = objectid)
  • Filter: ('d11e18bc-d5d2-4205-8af0-cc8993994362'::uuid = definitionid)
238. 0.000 0.000 ↓ 0.0

Index Scan using ixoefv_objectid on objectextensionfieldvalue objectextensionfieldvalue20 (cost=0.43..2.25 rows=1 width=32) (actual rows= loops=)

  • Index Cond: ("*SELECT* 1".timeentryid = objectid)
  • Filter: ('b814810f-03d6-4d06-894f-7d8b64bffed5'::uuid = definitionid)
239. 0.000 0.000 ↓ 0.0

Hash (cost=10.25..10.25 rows=325 width=54) (actual rows= loops=)

240. 0.000 0.000 ↓ 0.0

Seq Scan on objectextensiontag objectextensiontag11 (cost=0.00..10.25 rows=325 width=54) (actual rows= loops=)