explain.depesz.com

PostgreSQL's explain analyze made readable

Result: dd3j

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

Sort (cost=598,328,552,326,075.88..598,328,552,326,909.38 rows=333,380 width=3,807) (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.name)::character varying(255)) COLLATE "en_US", "*SELECT* 1".entrydate, ((billingrate5.name)::character varying(50)) COLLATE "en_US", ((ui.email)::character varying(255)) COLLATE "en_US", (CASE WHEN ui.disabled THEN 0 ELSE 1 END), ui.startdate, ui.enddate, ((dep.name)::character varying(255)) COLLATE "en_US", ((dep.code)::character varying(50)) COLLATE "en_US", ((cl.name)::character varying(255)) COLLATE "en_US", ((cl.code)::character varying(50)) COLLATE "en_US", (CASE WHEN cl.disabled THEN 0 ELSE 1 END), ((userinfo8.displayname)::text) 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=55,374,726.68..598,328,551,983,598.62 rows=333,380 width=3,807) (actual rows= loops=)

  • Hash Cond: (cl.clientmanageruserid = userinfo8.id)
5. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=55,374,108.68..598,328,551,982,105.50 rows=333,380 width=275) (actual rows= loops=)

  • Hash Cond: (COALESCE(clients15.id, pj.clientid) = cl.id)
6. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=55,373,850.55..598,328,551,980,971.25 rows=333,380 width=231) (actual rows= loops=)

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

Nested Loop Left Join (cost=55,373,698.10..598,328,551,979,733.88 rows=333,380 width=286) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,697.41..598,328,551,127,656.12 rows=333,380 width=243) (actual rows= loops=)

  • Join Filter: ("*SELECT* 1".billingrateid = billingrate5.id)
9. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,697.41..598,328,551,117,670.50 rows=333,380 width=237) (actual rows= loops=)

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

Hash Left Join (cost=55,373,697.41..598,328,551,082,663.25 rows=333,380 width=241) (actual rows= loops=)

  • Hash Cond: (task12.id = tk.id)
11. 0.000 0.000 ↓ 0.0

Merge Join (cost=55,373,305.94..598,328,551,081,396.38 rows=333,380 width=215) (actual rows= loops=)

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

Merge Join (cost=55,373,305.66..598,328,551,076,897.38 rows=333,380 width=205) (actual rows= loops=)

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

Nested Loop (cost=0.56..3,389.50 rows=10,311 width=44) (actual rows= loops=)

14. 0.000 0.000 ↓ 0.0

Index Scan using ixduuserid on departmentusers du (cost=0.29..308.95 rows=10,311 width=8) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Index Scan using departments_pkey on departments dep (cost=0.28..0.30 rows=1 width=44) (actual rows= loops=)

  • Index Cond: (id = du.departmentid)
16. 0.000 0.000 ↓ 0.0

Materialize (cost=55,373,305.10..598,328,551,069,314.88 rows=333,380 width=161) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,305.10..598,328,551,068,481.38 rows=333,380 width=161) (actual rows= loops=)

18. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,304.81..598,328,550,937,432.38 rows=333,380 width=140) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,304.51..598,328,550,832,407.75 rows=333,380 width=191) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,304.22..598,328,550,727,390.75 rows=333,380 width=246) (actual rows= loops=)

21. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,303.53..598,328,550,227,154.00 rows=146,779 width=187) (actual rows= loops=)

22. 0.000 0.000 ↓ 0.0

Nested Loop (cost=55,373,302.84..598,328,549,879,100.00 rows=136,178 width=128) (actual rows= loops=)

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

Index Scan using userinfo_pkey on userinfo ui (cost=0.29..571.95 rows=10,311 width=72) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Materialize (cost=55,373,302.55..598,328,528,816,898.00 rows=136,178 width=56) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=55,373,302.55..598,328,528,816,217.12 rows=136,178 width=56) (actual rows= loops=)

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

Append (cost=55,373,301.86..598,328,528,466,516.75 rows=136,555 width=64) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 1 (cost=55,373,301.86..581,368,391,343,821.38 rows=132,684 width=64) (actual rows= loops=)

  • Filter: ((SubPlan 18) OR (hashed SubPlan 27))
28. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,001.82..407,545.88 rows=176,912 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=32) (actual rows= loops=)

30. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,001.82..400,026.11 rows=176,912 width=152) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

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

32. 0.000 0.000 ↓ 0.0

Gather (cost=1,001.82..398,255.98 rows=176,912 width=119) (actual rows= loops=)

  • Workers Planned: 2
33. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.82..379,564.78 rows=73,713 width=119) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=1.13..194,352.04 rows=73,713 width=119) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

Parallel Index Scan using ixte2entrydate on timeentry te (cost=0.44..9,139.27 rows=73,713 width=60) (actual rows= loops=)

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

Index Scan using ixtem2timeentryid on timeentrymetadata tembillingrate (cost=0.69..2.50 rows=1 width=75) (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.69..2.50 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

Materialize (cost=0.56..6,572,355,285.96 rows=18,433,734 width=16) (actual rows= loops=)

40. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..6,572,173,108.29 rows=18,433,734 width=16) (actual rows= loops=)

41. 0.000 0.000 ↓ 0.0

Seq Scan on timeentryrevision timeentryrevision16 (cost=0.00..862,232.64 rows=18,661,522 width=32) (actual rows= loops=)

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

Index Scan using timeentryrevision_pkey on timeentryrevision timeentryrevision17 (cost=0.56..352.13 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (id = timeentryrevision16.id)
  • Filter: ((userid = 315) OR (alternatives: SubPlan 2 or hashed SubPlan 3) OR (SubPlan 4) OR (SubPlan 5) OR (SubPlan 6) OR (SubPlan 7) OR ((SubPlan 10) AND ((SubPlan 11) OR (SubPlan 12))) OR ((SubPlan 15) AND ((SubPlan 16) OR (SubPlan 17))))
43.          

SubPlan (for Index Scan)

44. 0.000 0.000 ↓ 0.0

Index Scan using ix3uh_usersuperstart on userhierarchy userhierarchy18 (cost=0.29..2.31 rows=1 width=0) (actual rows= loops=)

  • Index Cond: ((userid = timeentryrevision17.userid) AND (supervisorid = 315) AND (startdate <= '2020-09-12'::date))
  • Filter: (enddate >= '2020-09-12'::date)
45. 0.000 0.000 ↓ 0.0

Index Scan using ixuhsupervisorid on userhierarchy userhierarchy18_1 (cost=0.29..12.93 rows=11 width=4) (actual rows= loops=)

  • Index Cond: (supervisorid = 315)
  • Filter: ((startdate <= '2020-09-12'::date) AND (enddate >= '2020-09-12'::date))
46. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.81..28.67 rows=1 width=32) (actual rows= loops=)

47. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..23.37 rows=11 width=84) (actual rows= loops=)

48. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..10.76 rows=1 width=4) (actual rows= loops=)

49. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..7.91 rows=2 width=20) (actual rows= loops=)

50. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest22 (cost=0.28..3.31 rows=2 width=20) (actual rows= loops=)

  • Index Cond: (userid = 315)
51. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = tsapprovalrequest22.nodeid)
52. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes21.timesheetid)
  • Filter: ((startdate <= timeentryrevision17.entrydate) AND (enddate >= timeentryrevision17.entrydate) AND (userid = timeentryrevision17.userid))
53. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue19 (cost=0.41..12.50 rows=11 width=88) (actual rows= loops=)

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

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue23 (cost=0.41..0.48 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.41..56.50 rows=1 width=32) (actual rows= loops=)

56. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.84..55.68 rows=1 width=16) (actual rows= loops=)

57. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.28..53.76 rows=1 width=16) (actual rows= loops=)

58. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.72..52.97 rows=1 width=16) (actual rows= loops=)

59. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.16..51.25 rows=1 width=16) (actual rows= loops=)

60. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.59..48.55 rows=1 width=16) (actual rows= loops=)

61. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.03..45.96 rows=1 width=16) (actual rows= loops=)

62. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..33.75 rows=1 width=16) (actual rows= loops=)

63. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory26 (cost=0.43..5.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet25.id)
  • Filter: (userid = 315)
65. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue27 (cost=11.18..12.20 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory26.id) AND (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
66. 0.000 0.000 ↓ 0.0

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

67. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory26.id)
68. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text)
69. 0.000 0.000 ↓ 0.0

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

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

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

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

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue32 (cost=0.56..1.84 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue31.id)
74. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue24 (cost=0.56..0.74 rows=8 width=88) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue32.id)
75. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.81..11.08 rows=1 width=32) (actual rows= loops=)

76. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..8.64 rows=1 width=84) (actual rows= loops=)

77. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..7.08 rows=1 width=100) (actual rows= loops=)

78. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.70..4.78 rows=1 width=100) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest36.id = tsapprovalrequestkeyvalue33.tsapprovalrequestid)
79. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest36 (cost=0.28..3.31 rows=2 width=20) (actual rows= loops=)

  • Index Cond: (userid = 315)
80. 0.000 0.000 ↓ 0.0

Materialize (cost=0.41..1.44 rows=1 width=88) (actual rows= loops=)

81. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue33 (cost=0.41..1.43 rows=1 width=88) (actual rows= loops=)

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

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

  • Index Cond: (id = tsapprovalrequest36.nodeid)
83. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes35.timesheetid)
  • Filter: ((startdate <= timeentryrevision17.entrydate) AND (enddate >= timeentryrevision17.entrydate) AND (userid = timeentryrevision17.userid))
84. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue37 (cost=0.41..2.43 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.41..64.34 rows=1 width=32) (actual rows= loops=)

86. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.84..63.53 rows=1 width=16) (actual rows= loops=)

87. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.28..53.76 rows=1 width=16) (actual rows= loops=)

88. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.72..52.97 rows=1 width=16) (actual rows= loops=)

89. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.16..51.25 rows=1 width=16) (actual rows= loops=)

90. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.59..48.55 rows=1 width=16) (actual rows= loops=)

91. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.03..45.96 rows=1 width=16) (actual rows= loops=)

92. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..33.75 rows=1 width=16) (actual rows= loops=)

93. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory40 (cost=0.43..5.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet39.id)
  • Filter: (userid = 315)
95. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue41 (cost=11.18..12.20 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory40.id) AND (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
96. 0.000 0.000 ↓ 0.0

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

97. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory40.id)
98. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text)
99. 0.000 0.000 ↓ 0.0

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

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

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

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

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue46 (cost=0.56..9.69 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue45.id)
104. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue38 (cost=0.56..0.74 rows=8 width=88) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue46.id)
105. 0.000 0.000 ↓ 0.0

Index Scan using ixtemrtimeentryid on timeentrymetadatarevision timeentrymetadatarevision47 (cost=9.40..42.72 rows=1 width=0) (actual rows= loops=)

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

SubPlan (for Index Scan)

107. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project48 (cost=0.29..2.31 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 315)
108. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.57..6.51 rows=1 width=32) (actual rows= loops=)

109. 0.000 0.000 ↓ 0.0

Index Scan using ixprjprojectleaderapproverid on project project50 (cost=0.29..2.30 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (projectleaderapproverid = 315)
110. 0.000 0.000 ↓ 0.0

Index Scan using ixtkprojectid on task task49 (cost=0.29..4.16 rows=4 width=8) (actual rows= loops=)

  • Index Cond: (projectid = project50.id)
111. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.81..28.67 rows=1 width=32) (actual rows= loops=)

112. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..23.37 rows=11 width=84) (actual rows= loops=)

113. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..10.76 rows=1 width=4) (actual rows= loops=)

114. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..7.91 rows=2 width=20) (actual rows= loops=)

115. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest54 (cost=0.28..3.31 rows=2 width=20) (actual rows= loops=)

  • Index Cond: (userid = 315)
116. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = tsapprovalrequest54.nodeid)
117. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes53.timesheetid)
  • Filter: ((startdate <= timeentryrevision17.entrydate) AND (enddate >= timeentryrevision17.entrydate) AND (userid = timeentryrevision17.userid))
118. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue51 (cost=0.41..12.50 rows=11 width=88) (actual rows= loops=)

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

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue55 (cost=0.41..0.48 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.41..56.50 rows=1 width=32) (actual rows= loops=)

121. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.84..55.68 rows=1 width=16) (actual rows= loops=)

122. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.28..53.76 rows=1 width=16) (actual rows= loops=)

123. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.72..52.97 rows=1 width=16) (actual rows= loops=)

124. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.16..51.25 rows=1 width=16) (actual rows= loops=)

125. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.59..48.55 rows=1 width=16) (actual rows= loops=)

126. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.03..45.96 rows=1 width=16) (actual rows= loops=)

127. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..33.75 rows=1 width=16) (actual rows= loops=)

128. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory58 (cost=0.43..5.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet57.id)
  • Filter: (userid = 315)
130. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue59 (cost=11.18..12.20 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory58.id) AND (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::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=11.18..11.18 rows=1 width=0) (actual rows= loops=)

132. 0.000 0.000 ↓ 0.0

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

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

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text)
134. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = sheetapprovalhistorykeyvalue59.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 sheetapprovalhistorykeyvalue61 (cost=0.56..2.69 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue60.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 sheetapprovalhistorykeyvalue62 (cost=0.56..1.65 rows=8 width=32) (actual rows= loops=)

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

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

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue62.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 sheetapprovalhistorykeyvalue64 (cost=0.56..1.84 rows=8 width=32) (actual rows= loops=)

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue56 (cost=0.56..0.74 rows=8 width=88) (actual rows= loops=)

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

Index Scan using ixtemrtimeentryid on timeentrymetadatarevision timeentrymetadatarevision65 (cost=73.21..106.53 rows=1 width=0) (actual rows= loops=)

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

SubPlan (for Index Scan)

142. 0.000 0.000 ↓ 0.0

Nested Loop (cost=32.85..34.99 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: resentativeprojectassignment67.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 clientrepresentative68 (cost=0.15..19.01 rows=8 width=16) (actual rows= loops=)

  • Index Cond: (userid = 315)
146. 0.000 0.000 ↓ 0.0

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

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

Index Only Scan using project_pkey on project project66 (cost=0.29..0.39 rows=1 width=4) (actual rows= loops=)

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

Nested Loop (cost=33.13..37.59 rows=21 width=32) (actual rows= loops=)

149. 0.000 0.000 ↓ 0.0

Nested Loop (cost=32.85..34.93 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: resentativeprojectassignment67_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 clientrepresentative68_1 (cost=0.15..19.01 rows=8 width=16) (actual rows= loops=)

  • Index Cond: (userid = 315)
153. 0.000 0.000 ↓ 0.0

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

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

Index Only Scan using project_pkey on project project70 (cost=0.29..0.39 rows=1 width=4) (actual rows= loops=)

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

Index Scan using ixtkprojectid on task task69 (cost=0.29..0.37 rows=4 width=8) (actual rows= loops=)

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

Nested Loop (cost=1.81..28.67 rows=1 width=32) (actual rows= loops=)

157. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..23.37 rows=11 width=84) (actual rows= loops=)

158. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..10.76 rows=1 width=4) (actual rows= loops=)

159. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..7.91 rows=2 width=20) (actual rows= loops=)

160. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest74 (cost=0.28..3.31 rows=2 width=20) (actual rows= loops=)

  • Index Cond: (userid = 315)
161. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = tsapprovalrequest74.nodeid)
162. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes73.timesheetid)
  • Filter: ((startdate <= timeentryrevision17.entrydate) AND (enddate >= timeentryrevision17.entrydate) AND (userid = timeentryrevision17.userid))
163. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue71 (cost=0.41..12.50 rows=11 width=88) (actual rows= loops=)

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

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue75 (cost=0.41..0.48 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.41..56.50 rows=1 width=32) (actual rows= loops=)

166. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.84..55.68 rows=1 width=16) (actual rows= loops=)

167. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.28..53.76 rows=1 width=16) (actual rows= loops=)

168. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.72..52.97 rows=1 width=16) (actual rows= loops=)

169. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.16..51.25 rows=1 width=16) (actual rows= loops=)

170. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.59..48.55 rows=1 width=16) (actual rows= loops=)

171. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.03..45.96 rows=1 width=16) (actual rows= loops=)

172. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..33.75 rows=1 width=16) (actual rows= loops=)

173. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory78 (cost=0.43..5.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet77.id)
  • Filter: (userid = 315)
175. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue79 (cost=11.18..12.20 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory78.id) AND (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
176. 0.000 0.000 ↓ 0.0

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

177. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory78.id)
178. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text)
179. 0.000 0.000 ↓ 0.0

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

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

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

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

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue84 (cost=0.56..1.84 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = sheetapprovalhistorykeyvalue83.id)
184. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue76 (cost=0.56..0.74 rows=8 width=88) (actual rows= loops=)

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

Nested Loop Left Join (cost=0.29..55,370,969.11 rows=532,147 width=4) (actual rows= loops=)

  • Filter: (((userhierarchy86.supervisorid = 315) AND ((userhierarchy86.startdate IS NULL) OR (userhierarchy86.startdate <= '2020-09-12'::date)) AND ((userhierarchy86.enddate IS NULL) OR (userhierarchy86.enddate >= '2020-09-12'::date))) OR (timeoffs85.userid = 315) OR (alternatives: SubPlan 19 or hashed SubPlan 20) OR (alternatives: SubPlan 21 or hashed SubPlan 22) OR (SubPlan 23) OR (SubPlan 24) OR (SubPlan 25) OR (SubPlan 26))
186. 0.000 0.000 ↓ 0.0

Seq Scan on timeoffs timeoffs85 (cost=0.00..17,831.40 rows=520,140 width=16) (actual rows= loops=)

187. 0.000 0.000 ↓ 0.0

Index Scan using ix3uh_usersuperstart on userhierarchy userhierarchy86 (cost=0.29..0.30 rows=1 width=24) (actual rows= loops=)

  • Index Cond: (userid = timeoffs85.userid)
188.          

SubPlan (for Nested Loop Left Join)

189. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..5.64 rows=1 width=0) (actual rows= loops=)

  • Join Filter: (timeoffapprovalnodes87.id = timeoffapprovalrequest88.nodeid)
190. 0.000 0.000 ↓ 0.0

Index Scan using ixtoantimeoffid on timeoffapprovalnodes timeoffapprovalnodes87 (cost=0.28..2.30 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (timeoffid = timeoffs85.id)
191. 0.000 0.000 ↓ 0.0

Index Only Scan using uix2toaraidnid on timeoffapprovalrequest timeoffapprovalrequest88 (cost=0.28..3.31 rows=2 width=16) (actual rows= loops=)

  • Index Cond: (approverid = 315)
192. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..7.91 rows=2 width=4) (actual rows= loops=)

193. 0.000 0.000 ↓ 0.0

Index Only Scan using uix2toaraidnid on timeoffapprovalrequest timeoffapprovalrequest88_1 (cost=0.28..3.31 rows=2 width=16) (actual rows= loops=)

  • Index Cond: (approverid = 315)
194. 0.000 0.000 ↓ 0.0

Index Scan using timeoffapprovalnodes_pkey on timeoffapprovalnodes timeoffapprovalnodes87_1 (cost=0.28..2.30 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (id = timeoffapprovalrequest88_1.nodeid)
195. 0.000 0.000 ↓ 0.0

Index Scan using ixtoahtimeoffid on timeoffapprovalhistory timeoffapprovalhistory89 (cost=0.43..2.91 rows=1 width=0) (actual rows= loops=)

  • Index Cond: (timeoffid = timeoffs85.id)
  • Filter: ((userid = 315) AND (action = ANY ('{2,3,4}'::integer[])))
196. 0.000 0.000 ↓ 0.0

Index Scan using ixtoahuserid on timeoffapprovalhistory timeoffapprovalhistory89_1 (cost=0.43..458.65 rows=230 width=4) (actual rows= loops=)

  • Index Cond: (userid = 315)
  • Filter: (action = ANY ('{2,3,4}'::integer[]))
197. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.81..28.67 rows=1 width=32) (actual rows= loops=)

198. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..23.37 rows=11 width=84) (actual rows= loops=)

199. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..10.76 rows=1 width=4) (actual rows= loops=)

200. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.56..7.91 rows=2 width=20) (actual rows= loops=)

201. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest93 (cost=0.28..3.31 rows=2 width=20) (actual rows= loops=)

  • Index Cond: (userid = 315)
202. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = tsapprovalrequest93.nodeid)
203. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes92.timesheetid)
  • Filter: ((timeoffs85.startdate <= enddate) AND (timeoffs85.enddate >= startdate) AND (userid = timeoffs85.userid))
204. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvtsapprovalrequestid on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue90 (cost=0.41..12.50 rows=11 width=88) (actual rows= loops=)

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

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue94 (cost=0.41..0.48 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.41..56.50 rows=1 width=32) (actual rows= loops=)

207. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.84..55.68 rows=1 width=16) (actual rows= loops=)

208. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.28..53.76 rows=1 width=16) (actual rows= loops=)

209. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.72..52.97 rows=1 width=16) (actual rows= loops=)

210. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.16..51.25 rows=1 width=16) (actual rows= loops=)

211. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.59..48.55 rows=1 width=16) (actual rows= loops=)

212. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.03..45.96 rows=1 width=16) (actual rows= loops=)

213. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..33.75 rows=1 width=16) (actual rows= loops=)

214. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory97 (cost=0.43..5.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet96.id)
  • Filter: (userid = 315)
216. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue98 (cost=11.18..12.20 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory97.id) AND (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
217. 0.000 0.000 ↓ 0.0

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

218. 0.000 0.000 ↓ 0.0

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

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

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text)
220. 0.000 0.000 ↓ 0.0

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue heetapprovalhistorykeyvalue101 (cost=0.56..1.65 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = heetapprovalhistorykeyvalue100.id)
223. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue heetapprovalhistorykeyvalue103 (cost=0.56..1.84 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = heetapprovalhistorykeyvalue102.id)
225. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue sheetapprovalhistorykeyvalue95 (cost=0.56..0.74 rows=8 width=88) (actual rows= loops=)

  • Index Cond: (parentid = heetapprovalhistorykeyvalue103.id)
226. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.81..11.08 rows=1 width=32) (actual rows= loops=)

227. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.40..8.64 rows=1 width=84) (actual rows= loops=)

228. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.98..7.08 rows=1 width=100) (actual rows= loops=)

229. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.70..4.78 rows=1 width=100) (actual rows= loops=)

  • Join Filter: (tsapprovalrequest107.id = tsapprovalrequestkeyvalue104.tsapprovalrequestid)
230. 0.000 0.000 ↓ 0.0

Index Scan using uix2tsar_nodeid_userid on tsapprovalrequest tsapprovalrequest107 (cost=0.28..3.31 rows=2 width=20) (actual rows= loops=)

  • Index Cond: (userid = 315)
231. 0.000 0.000 ↓ 0.0

Materialize (cost=0.41..1.44 rows=1 width=88) (actual rows= loops=)

232. 0.000 0.000 ↓ 0.0

Index Scan using ixtsarkvkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue104 (cost=0.41..1.43 rows=1 width=88) (actual rows= loops=)

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

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

  • Index Cond: (id = tsapprovalrequest107.nodeid)
234. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (id = timesheetapprovalnodes106.timesheetid)
  • Filter: ((timeoffs85.startdate <= enddate) AND (timeoffs85.enddate >= startdate) AND (userid = timeoffs85.userid))
235. 0.000 0.000 ↓ 0.0

Index Scan using tsapprovalrequestkeyvalue_pkey on tsapprovalrequestkeyvalue tsapprovalrequestkeyvalue108 (cost=0.41..2.43 rows=1 width=16) (actual rows= loops=)

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

Nested Loop (cost=15.41..64.34 rows=1 width=32) (actual rows= loops=)

237. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.84..63.53 rows=1 width=16) (actual rows= loops=)

238. 0.000 0.000 ↓ 0.0

Nested Loop (cost=14.28..53.76 rows=1 width=16) (actual rows= loops=)

239. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.72..52.97 rows=1 width=16) (actual rows= loops=)

240. 0.000 0.000 ↓ 0.0

Nested Loop (cost=13.16..51.25 rows=1 width=16) (actual rows= loops=)

241. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.59..48.55 rows=1 width=16) (actual rows= loops=)

242. 0.000 0.000 ↓ 0.0

Nested Loop (cost=12.03..45.96 rows=1 width=16) (actual rows= loops=)

243. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..33.75 rows=1 width=16) (actual rows= loops=)

244. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtah2timesheetid on timesheetapprovalhistory timesheetapprovalhistory111 (cost=0.43..5.51 rows=1 width=32) (actual rows= loops=)

  • Index Cond: (timesheetid = timesheet110.id)
  • Filter: (userid = 315)
246. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on timesheetapprovalhistorykeyvalue heetapprovalhistorykeyvalue112 (cost=11.18..12.20 rows=1 width=32) (actual rows= loops=)

  • Recheck Cond: ((timesheetapprovalhistoryid = timesheetapprovalhistory111.id) AND (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text))
  • Filter: (upper(key) = 'URN:REPLICON:APPROVAL-HISTORICAL-ACTION-DATA-KEY:REMOVED-APPROVAL-REQUEST-NODES'::text)
247. 0.000 0.000 ↓ 0.0

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

248. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (timesheetapprovalhistoryid = timesheetapprovalhistory111.id)
249. 0.000 0.000 ↓ 0.0

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

  • Index Cond: (upper(uri) = 'URN:REPLICON-TENANT:BC6BBD1A2ACF436AAE2CEE54A1A981D9:USER:315'::text)
250. 0.000 0.000 ↓ 0.0

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

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

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue heetapprovalhistorykeyvalue115 (cost=0.56..1.65 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = heetapprovalhistorykeyvalue114.id)
253. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue heetapprovalhistorykeyvalue117 (cost=0.56..9.69 rows=8 width=32) (actual rows= loops=)

  • Index Cond: (parentid = heetapprovalhistorykeyvalue116.id)
255. 0.000 0.000 ↓ 0.0

Index Scan using ixtahkvparentid on timesheetapprovalhistorykeyvalue heetapprovalhistorykeyvalue109 (cost=0.56..0.74 rows=8 width=88) (actual rows= loops=)

  • Index Cond: (parentid = heetapprovalhistorykeyvalue117.id)
256. 0.000 0.000 ↓ 0.0

Subquery Scan on *SELECT* 2 (cost=55,373,300.89..16,960,137,122,695.40 rows=3,871 width=64) (actual rows= loops=)

  • Filter: ((SubPlan 18) OR (hashed SubPlan 27))
257. 0.000 0.000 ↓ 0.0

Gather (cost=1,000.85..15,715.53 rows=5,161 width=140) (actual rows= loops=)

  • Workers Planned: 2
258. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.85..14,199.43 rows=2,150 width=140) (actual rows= loops=)

259. 0.000 0.000 ↓ 0.0

Parallel Index Scan using uix2toe_timeoffidentrydate on timeoffentries toe (cost=0.42..10,724.76 rows=2,150 width=28) (actual rows= loops=)

  • Index Cond: ((entrydate >= '2020-09-01'::date) AND (entrydate <= '2020-09-15'::date))
260. 0.000 0.000 ↓ 0.0

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

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

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata13 (cost=0.69..2.55 rows=1 width=75) (actual rows= loops=)

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

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata11 (cost=0.69..2.55 rows=1 width=75) (actual rows= loops=)

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

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata9 (cost=0.69..3.39 rows=2 width=75) (actual rows= loops=)

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

Index Only Scan using project_pkey on project project10 (cost=0.30..0.32 rows=1 width=4) (actual rows= loops=)

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

Index Scan using task_pkey on task task12 (cost=0.30..0.32 rows=1 width=8) (actual rows= loops=)

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

Index Scan using project_pkey on project pj (cost=0.29..0.39 rows=1 width=29) (actual rows= loops=)

  • Index Cond: (id = COALESCE(project10.id, task12.projectid))
267. 0.000 0.000 ↓ 0.0

Index Scan using login_pkey on login (cost=0.29..305.95 rows=10,311 width=18) (actual rows= loops=)

268. 0.000 0.000 ↓ 0.0

Hash (cost=263.43..263.43 rows=10,243 width=30) (actual rows= loops=)

269. 0.000 0.000 ↓ 0.0

Seq Scan on task tk (cost=0.00..263.43 rows=10,243 width=30) (actual rows= loops=)

270. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..2.38 rows=7 width=4) (actual rows= loops=)

271. 0.000 0.000 ↓ 0.0

Seq Scan on exchangerate (cost=0.00..2.35 rows=7 width=4) (actual rows= loops=)

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

Materialize (cost=0.00..1.03 rows=2 width=38) (actual rows= loops=)

273. 0.000 0.000 ↓ 0.0

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

274. 0.000 0.000 ↓ 0.0

Index Scan using ixtem2timeentryid on timeentrymetadata timeentrymetadata14 (cost=0.69..2.55 rows=1 width=75) (actual rows= loops=)

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

Hash (cost=102.37..102.37 rows=4,006 width=4) (actual rows= loops=)

276. 0.000 0.000 ↓ 0.0

Index Only Scan using clients_pkey on clients clients15 (cost=0.28..102.37 rows=4,006 width=4) (actual rows= loops=)

277. 0.000 0.000 ↓ 0.0

Hash (cost=208.06..208.06 rows=4,006 width=52) (actual rows= loops=)

278. 0.000 0.000 ↓ 0.0

Seq Scan on clients cl (cost=0.00..208.06 rows=4,006 width=52) (actual rows= loops=)

279. 0.000 0.000 ↓ 0.0

Hash (cost=489.11..489.11 rows=10,311 width=20) (actual rows= loops=)

280. 0.000 0.000 ↓ 0.0

Seq Scan on userinfo userinfo8 (cost=0.00..489.11 rows=10,311 width=20) (actual rows= loops=)