explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Juxr

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

Sort (cost=13,794,501,934.13..13,794,502,495.63 rows=224,600 width=243) (actual rows= loops=)

  • Sort Key: pj.name, tk.name, "*SELECT* 1".entrydate, billingrate3.name, ui.lastname, ui.firstname, ui.duplicatename, login.loginname, ui.displayname, cl.name, ((date_part('year'::text, (ts.startdate)::timestamp without time zone))::integer)
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=6,893,285,451.80..13,794,481,969.55 rows=224,600 width=243) (actual rows= loops=)

  • Hash Cond: ("*SELECT* 1".userid = ts.userid)
  • Join Filter: (("*SELECT* 1".entrydate >= ts.startdate) AND ("*SELECT* 1".entrydate <= ts.enddate))
5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,098.19..13,794,405,382.17 rows=42,954 width=239) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,097.90..13,794,390,459.83 rows=42,954 width=217) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,097.60..13,794,373,130.14 rows=42,954 width=270) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,097.03..13,794,268,395.94 rows=42,954 width=229) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=6,893,247,096.46..13,794,240,225.25 rows=42,954 width=193) (actual rows= loops=)

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

Merge Join (cost=0.57..1,341.17 rows=11,280 width=68) (actual rows= loops=)

  • Merge Cond: (ui.id = login.userid)
11. 0.000 0.000 ↓ 0.0

Index Scan using userinfo_pkey on userinfo ui (cost=0.29..710.48 rows=11,280 width=37) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Index Scan using login_pkey on login (cost=0.29..461.49 rows=11,280 width=31) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Materialize (cost=6,893,247,095.89..13,786,971,174.67 rows=42,954 width=129) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=6,893,247,095.89..13,786,970,959.90 rows=42,954 width=129) (actual rows= loops=)

  • Hash Cond: ("*SELECT* 1".billingrateid = billingrate3.id)
15. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,094.85..13,786,970,843.71 rows=42,954 width=123) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,094.43..13,786,947,477.34 rows=42,954 width=68) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,247,093.99..13,786,927,564.43 rows=42,954 width=117) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=6,893,247,093.43..13,786,822,830.23 rows=42,954 width=60) (actual rows= loops=)

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

Nested Loop Left Join (cost=6,893,240,377.89..13,786,815,975.09 rows=42,954 width=113) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=6,893,240,377.33..13,786,711,240.89 rows=42,954 width=56) (actual rows= loops=)

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

Append (cost=6,893,240,376.77..13,786,606,054.92 rows=43,051 width=64) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 1 (cost=6,893,240,376.77..6,893,357,465.49 rows=39,616 width=64) (actual rows= loops=)

  • Filter: ((hashed SubPlan 16) OR (hashed SubPlan 17))
23. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,001.56..117,297.96 rows=52,821 width=140) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

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

25. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,001.56..115,052.06 rows=52,821 width=150) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

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

27. 0.000 0.000 ↓ 0.0

Gather (cost=1,001.56..114,522.84 rows=52,821 width=117) (actual rows= loops=)

  • Workers Planned: 2
28. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.56..108,240.74 rows=22,009 width=117) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.99..55,271.20 rows=22,009 width=117) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Parallel Index Scan using ixte2entrydate on timeentry te (cost=0.43..2,301.67 rows=22,009 width=60) (actual rows= loops=)

  • Index Cond: ((entrydate >= '2020-07-18'::date) AND (entrydate <= '2020-07-24'::date))
  • Filter: ((timeallocationtype <> 2) OR (timeallocationtype IS NULL))
31. 0.000 0.000 ↓ 0.0

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

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

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

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

SubPlan (for Subquery Scan)

34. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..6,893,224,390.19 rows=5,982,433 width=16) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Seq Scan on timeentryrevision timeentryrevision15 (cost=0.00..345,090.80 rows=6,132,136 width=32) (actual rows= loops=)

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

Index Scan using timeentryrevision_pkey on timeentryrevision timeentryrevision16 (cost=0.56..1,124.06 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = timeentryrevision15.id)
  • Filter: ((userid = 5,553) OR (SubPlan 2) OR (SubPlan 3) OR (SubPlan 4) OR (SubPlan 5) OR ((SubPlan 8) AND ((SubPlan 9) OR (SubPlan 10))) OR ((SubPlan 13) AND ((SubPlan 14) OR (SubPlan 15))))
37.          

SubPlan (for Index Scan)

38. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..9.49 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue17.parentid = tsapprovalrequestkeyvalue21.id)
39. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..7.31 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest20.id = tsapprovalrequestkeyvalue17.tsapprovalrequestid)
40. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..5.14 rows=1 width=4) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes19.id = tsapprovalrequest20.nodeid)
41. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..4.12 rows=1 width=16) (actual rows= loops=)

42. 0.000 0.000 ↓ 0.0

Seq Scan on timesheetapprovalnodes timesheetapprovalnodes19 (cost=0.00..1.00 rows=1 width=32) (actual rows= loops=)

43. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes19.timesheetid)
  • Filter: ((startdate <= timeentryrevision16.entrydate) AND (enddate >= timeentryrevision16.entrydate) AND (userid = timeentryrevision16.userid))
44. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequest tsapprovalrequest20 (cost=0.00..1.00 rows=1 width=20) (actual rows= loops=)

  • Filter: (userid = 5,553)
45. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue17 (cost=0.14..2.16 rows=1 width=52) (actual rows= loops=)

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

Index Scan using ixtsarkvparentid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue21 (cost=0.14..2.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (parentid IS NULL)
47. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.05..56.13 rows=1 width=32) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.48..55.45 rows=1 width=16) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.92..50.81 rows=1 width=16) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.36..50.13 rows=1 width=16) (actual rows= loops=)

51. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.80..48.73 rows=1 width=16) (actual rows= loops=)

52. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.23..44.09 rows=1 width=16) (actual rows= loops=)

53. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.67..41.49 rows=1 width=16) (actual rows= loops=)

54. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.29..31.07 rows=1 width=16) (actual rows= loops=)

55. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet23 (cost=0.42..6.63 rows=5 width=16) (actual rows= loops=)

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

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory24 (cost=3.86..4.88 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet23.id) AND (userid = 5,553))
57. 0.000 0.000 ↓ 0.0

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

58. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetid = timesheet23.id)
59. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 5,553)
60. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue25 (cost=9.38..10.41 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory24.id) AND (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
61. 0.000 0.000 ↓ 0.0

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

62. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory24.id)
63. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text)
64. 0.000 0.000 ↓ 0.0

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue28 (cost=0.56..1.38 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue27.id)
67. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue30 (cost=0.56..4.61 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue29.id)
69. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue22 (cost=0.56..0.65 rows=3 width=93) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue30.id)
70. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..9.49 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue31.parentid = tsapprovalrequestkeyvalue35.id)
71. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..7.31 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest34.id = tsapprovalrequestkeyvalue31.tsapprovalrequestid)
72. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..5.14 rows=1 width=4) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes33.id = tsapprovalrequest34.nodeid)
73. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..4.12 rows=1 width=16) (actual rows= loops=)

74. 0.000 0.000 ↓ 0.0

Seq Scan on timesheetapprovalnodes timesheetapprovalnodes33 (cost=0.00..1.00 rows=1 width=32) (actual rows= loops=)

75. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes33.timesheetid)
  • Filter: ((startdate <= timeentryrevision16.entrydate) AND (enddate >= timeentryrevision16.entrydate) AND (userid = timeentryrevision16.userid))
76. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequest tsapprovalrequest34 (cost=0.00..1.00 rows=1 width=20) (actual rows= loops=)

  • Filter: (userid = 5,553)
77. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue31 (cost=0.14..2.16 rows=1 width=52) (actual rows= loops=)

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

Index Scan using ixtsarkvparentid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue35 (cost=0.14..2.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (parentid IS NULL)
79. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.05..56.13 rows=1 width=32) (actual rows= loops=)

80. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.48..55.45 rows=1 width=16) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.92..50.81 rows=1 width=16) (actual rows= loops=)

82. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.36..50.13 rows=1 width=16) (actual rows= loops=)

83. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.80..48.73 rows=1 width=16) (actual rows= loops=)

84. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.23..44.09 rows=1 width=16) (actual rows= loops=)

85. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.67..41.49 rows=1 width=16) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.29..31.07 rows=1 width=16) (actual rows= loops=)

87. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet37 (cost=0.42..6.63 rows=5 width=16) (actual rows= loops=)

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

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory38 (cost=3.86..4.88 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet37.id) AND (userid = 5,553))
89. 0.000 0.000 ↓ 0.0

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

90. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetid = timesheet37.id)
91. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 5,553)
92. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue39 (cost=9.38..10.41 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory38.id) AND (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
93. 0.000 0.000 ↓ 0.0

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

94. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory38.id)
95. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text)
96. 0.000 0.000 ↓ 0.0

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue42 (cost=0.56..1.38 rows=3 width=32) (actual rows= loops=)

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue44 (cost=0.56..4.61 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue43.id)
101. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue36 (cost=0.56..0.65 rows=3 width=93) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue44.id)
102. 0.000 0.000 ↓ 0.0

Index Scan using ixtemrtimeentryid on timeentrymetadatarevision timeentrymetadatarevision45 (cost=821.09..846.07 rows=1 width=0) (actual rows= loops=)

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

SubPlan (for Index Scan)

104. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project46 (cost=0.42..64.10 rows=61 width=32) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 5,553)
105. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..755.50 rows=311 width=32) (actual rows= loops=)

106. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project48 (cost=0.42..63.49 rows=61 width=4) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 5,553)
107. 0.000 0.000 ↓ 0.0

Index Scan using ixtkprojectid on task task47 (cost=0.42..11.15 rows=14 width=8) (actual rows= loops=)

  • Index Cond: (projectid = project48.id)
108. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..9.49 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue49.parentid = tsapprovalrequestkeyvalue53.id)
109. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..7.31 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest52.id = tsapprovalrequestkeyvalue49.tsapprovalrequestid)
110. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..5.14 rows=1 width=4) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes51.id = tsapprovalrequest52.nodeid)
111. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..4.12 rows=1 width=16) (actual rows= loops=)

112. 0.000 0.000 ↓ 0.0

Seq Scan on timesheetapprovalnodes timesheetapprovalnodes51 (cost=0.00..1.00 rows=1 width=32) (actual rows= loops=)

113. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes51.timesheetid)
  • Filter: ((startdate <= timeentryrevision16.entrydate) AND (enddate >= timeentryrevision16.entrydate) AND (userid = timeentryrevision16.userid))
114. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequest tsapprovalrequest52 (cost=0.00..1.00 rows=1 width=20) (actual rows= loops=)

  • Filter: (userid = 5,553)
115. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue49 (cost=0.14..2.16 rows=1 width=52) (actual rows= loops=)

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

Index Scan using ixtsarkvparentid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue53 (cost=0.14..2.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (parentid IS NULL)
117. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.05..56.13 rows=1 width=32) (actual rows= loops=)

118. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.48..55.45 rows=1 width=16) (actual rows= loops=)

119. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.92..50.81 rows=1 width=16) (actual rows= loops=)

120. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.36..50.13 rows=1 width=16) (actual rows= loops=)

121. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.80..48.73 rows=1 width=16) (actual rows= loops=)

122. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.23..44.09 rows=1 width=16) (actual rows= loops=)

123. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.67..41.49 rows=1 width=16) (actual rows= loops=)

124. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.29..31.07 rows=1 width=16) (actual rows= loops=)

125. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet55 (cost=0.42..6.63 rows=5 width=16) (actual rows= loops=)

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

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory56 (cost=3.86..4.88 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet55.id) AND (userid = 5,553))
127. 0.000 0.000 ↓ 0.0

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

128. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetid = timesheet55.id)
129. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 5,553)
130. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue57 (cost=9.38..10.41 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory56.id) AND (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
131. 0.000 0.000 ↓ 0.0

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

132. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory56.id)
133. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text)
134. 0.000 0.000 ↓ 0.0

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue60 (cost=0.56..1.38 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue59.id)
137. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue62 (cost=0.56..4.61 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue61.id)
139. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue54 (cost=0.56..0.65 rows=3 width=93) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue62.id)
140. 0.000 0.000 ↓ 0.0

Index Scan using ixtemrtimeentryid on timeentrymetadatarevision timeentrymetadatarevision63 (cost=85.59..110.56 rows=1 width=0) (actual rows= loops=)

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

SubPlan (for Index Scan)

142. 0.000 0.000 ↓ 0.0

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

143. 0.000 0.000 ↓ 0.0

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

  • Group Key: resentativeprojectassignment65.projectid
144. 0.000 0.000 ↓ 0.0

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

145. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 5,553)
146. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (clientrepresentativeid = clientrepresentative66.id)
147. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = resentativeprojectassignment65.projectid)
148. 0.000 0.000 ↓ 0.0

Nested Loop (cost=33.41..45.49 rows=83 width=32) (actual rows= loops=)

149. 0.000 0.000 ↓ 0.0

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

150. 0.000 0.000 ↓ 0.0

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

  • Group Key: resentativeprojectassignment65_1.projectid
151. 0.000 0.000 ↓ 0.0

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

152. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 5,553)
153. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (clientrepresentativeid = clientrepresentative66_1.id)
154. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = resentativeprojectassignment65_1.projectid)
155. 0.000 0.000 ↓ 0.0

Index Scan using ixtkprojectid on task task67 (cost=0.42..0.76 rows=14 width=8) (actual rows= loops=)

  • Index Cond: (projectid = project68.id)
156. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..9.49 rows=1 width=32) (actual rows= loops=)

  • Join Filter: (tsapprovalrequestkeyvalue69.parentid = tsapprovalrequestkeyvalue73.id)
157. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..7.31 rows=1 width=48) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest72.id = tsapprovalrequestkeyvalue69.tsapprovalrequestid)
158. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..5.14 rows=1 width=4) (actual rows= loops=)

  • Join Filter: (timesheetapprovalnodes71.id = tsapprovalrequest72.nodeid)
159. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.42..4.12 rows=1 width=16) (actual rows= loops=)

160. 0.000 0.000 ↓ 0.0

Seq Scan on timesheetapprovalnodes timesheetapprovalnodes71 (cost=0.00..1.00 rows=1 width=32) (actual rows= loops=)

161. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes71.timesheetid)
  • Filter: ((startdate <= timeentryrevision16.entrydate) AND (enddate >= timeentryrevision16.entrydate) AND (userid = timeentryrevision16.userid))
162. 0.000 0.000 ↓ 0.0

Seq Scan on tsapprovalrequest tsapprovalrequest72 (cost=0.00..1.00 rows=1 width=20) (actual rows= loops=)

  • Filter: (userid = 5,553)
163. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue69 (cost=0.14..2.16 rows=1 width=52) (actual rows= loops=)

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

Index Scan using ixtsarkvparentid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue73 (cost=0.14..2.16 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (parentid IS NULL)
165. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.05..56.13 rows=1 width=32) (actual rows= loops=)

166. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.48..55.45 rows=1 width=16) (actual rows= loops=)

167. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.92..50.81 rows=1 width=16) (actual rows= loops=)

168. 0.000 0.000 ↓ 0.0

Nested Loop (cost=15.36..50.13 rows=1 width=16) (actual rows= loops=)

169. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.80..48.73 rows=1 width=16) (actual rows= loops=)

170. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.23..44.09 rows=1 width=16) (actual rows= loops=)

171. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.67..41.49 rows=1 width=16) (actual rows= loops=)

172. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.29..31.07 rows=1 width=16) (actual rows= loops=)

173. 0.000 0.000 ↓ 0.0

Index Scan using ixtsuseridstartdateenddate on timesheet timesheet75 (cost=0.42..6.63 rows=5 width=16) (actual rows= loops=)

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

Bitmap Heap Scan on timesheetapprovalhistory timesheetapprovalhistory76 (cost=3.86..4.88 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetid = timesheet75.id) AND (userid = 5,553))
175. 0.000 0.000 ↓ 0.0

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

176. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetid = timesheet75.id)
177. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (userid = 5,553)
178. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue77 (cost=9.38..10.41 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory76.id) AND (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
179. 0.000 0.000 ↓ 0.0

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

180. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory76.id)
181. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:1B8A55AA5F704DEA918923FE2DAF8CDA:USER:5,553'::text)
182. 0.000 0.000 ↓ 0.0

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue80 (cost=0.56..1.38 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue79.id)
185. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue82 (cost=0.56..4.61 rows=3 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue81.id)
187. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue74 (cost=0.56..0.65 rows=3 width=93) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue82.id)
188. 0.000 0.000 ↓ 0.0

Index Scan using ixto4userid on timeoffs timeoffs83 (cost=0.42..28.87 rows=27 width=4) (actual rows= loops=)

  • Index Cond: (userid = 5,553)
189. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 2 (cost=6,893,240,376.05..6,893,248,589.43 rows=3,435 width=64) (actual rows= loops=)

  • Filter: ((hashed SubPlan 16) OR (hashed SubPlan 17))
190. 0.000 0.000 ↓ 0.0

Gather (cost=1,000.84..9,145.52 rows=4,580 width=140) (actual rows= loops=)

  • Workers Planned: 1
191. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.84..7,687.52 rows=2,694 width=140) (actual rows= loops=)

192. 0.000 0.000 ↓ 0.0

Parallel Index Scan using uix2toe_timeoffidentrydate on timeoffentries toe (cost=0.42..4,077.82 rows=2,694 width=28) (actual rows= loops=)

  • Index Cond: ((entrydate >= '2020-07-18'::date) AND (entrydate <= '2020-07-24'::date))
193. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata12 (cost=0.56..2.43 rows=1 width=73) (actual rows= loops=)

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

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata8 (cost=0.56..2.43 rows=1 width=73) (actual rows= loops=)

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

Hash (cost=4,238.21..4,238.21 rows=198,186 width=4) (actual rows= loops=)

197. 0.000 0.000 ↓ 0.0

Index Only Scan using project_pkey on project project9 (cost=0.42..4,238.21 rows=198,186 width=4) (actual rows= loops=)

198. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata10 (cost=0.56..2.43 rows=1 width=73) (actual rows= loops=)

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

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

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

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

  • Index Cond: (id = COALESCE(project9.id, task11.projectid))
201. 0.000 0.000 ↓ 0.0

Hash (cost=1.02..1.02 rows=2 width=38) (actual rows= loops=)

202. 0.000 0.000 ↓ 0.0

Seq Scan on billingrate billingrate3 (cost=0.00..1.02 rows=2 width=38) (actual rows= loops=)

203. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.57..0.65 rows=1 width=40) (actual rows= loops=)

204. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (task11.id = id)
205. 0.000 0.000 ↓ 0.0

Index Scan using uix3er_currencyideffectivedate on exchangerate (cost=0.14..0.18 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((variablecurrencyid = $0) AND (tk.estimatedcostcurrencyid = fixedcurrencyid) AND (('now'::cstring)::date >= effectivedate))
  • Filter: (('now'::cstring)::date <= enddate)
206. 0.000 0.000 ↓ 0.0

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

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

Index Only Scan using clients_pkey on clients clients14 (cost=0.30..0.40 rows=1 width=4) (actual rows= loops=)

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

Index Scan using clients_pkey on clients cl (cost=0.29..0.35 rows=1 width=30) (actual rows= loops=)

  • Index Cond: (id = COALESCE(clients14.id, pj.clientid))
209. 0.000 0.000 ↓ 0.0

Hash (cost=33,671.77..33,671.77 rows=374,547 width=12) (actual rows= loops=)

210. 0.000 0.000 ↓ 0.0

Hash Join (cost=12,990.73..33,671.77 rows=374,547 width=12) (actual rows= loops=)

  • Hash Cond: (tslist.timesheetid = ts.id)
211. 0.000 0.000 ↓ 0.0

Index Only Scan using ixdtslsftimesheetid on dm_timesheetlist_facts tslist (cost=0.42..19,697.43 rows=374,867 width=16) (actual rows= loops=)

212. 0.000 0.000 ↓ 0.0

Hash (cost=8,308.47..8,308.47 rows=374,547 width=28) (actual rows= loops=)

213. 0.000 0.000 ↓ 0.0

Seq Scan on timesheet ts (cost=0.00..8,308.47 rows=374,547 width=28) (actual rows= loops=)