explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Ty2W

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

Unique (cost=1,557.89..1,557.94 rows=1 width=401) (actual time=0.286..0.286 rows=0 loops=1)

  • Output: product.legacy_cod, item.catalog_item_id, product.product_name, item.owner_id, product.product_description, class_card.category_id, class_card.legacy_cod, class_card.category_name, (COALESCE((CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), '{0,1,2,3,4,5,6}'::integer[])), ((((array_agg("substring"((legacy_config.chave)::text, 6))) || (array_agg("substring"((legacy_config_1.chave)::text, 6)))) || CASE WHEN (item.promotion_status = 'S'::bpchar) THEN '{MKT::HIGHLIGHT}'::text[] ELSE '{}'::text[] END)), (sum(cg.min_group_price)), ((product.product_photo)::text), rp1.promo_original_price, rp1.run_price, (COALESCE((CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END), (array_agg((times_1.times)::time without time zone)))), (((setweight(to_tsvector('portuguese'::regconfig, (product.product_name)::text), 'A'::"char") || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(product.product_description, ''::character varying))::text), 'B'::"char")) || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(class_card.category_name, ''::character varying))::text), 'C'::"char"))), (r.path[1]), (r.path[2]), catalog.catalog_group
  • Buffers: shared hit=22
2. 0.011 0.286 ↓ 0.0 0 1

Sort (cost=1,557.89..1,557.90 rows=1 width=401) (actual time=0.286..0.286 rows=0 loops=1)

  • Output: product.legacy_cod, item.catalog_item_id, product.product_name, item.owner_id, product.product_description, class_card.category_id, class_card.legacy_cod, class_card.category_name, (COALESCE((CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), '{0,1,2,3,4,5,6}'::integer[])), ((((array_agg("substring"((legacy_config.chave)::text, 6))) || (array_agg("substring"((legacy_config_1.chave)::text, 6)))) || CASE WHEN (item.promotion_status = 'S'::bpchar) THEN '{MKT::HIGHLIGHT}'::text[] ELSE '{}'::text[] END)), (sum(cg.min_group_price)), ((product.product_photo)::text), rp1.promo_original_price, rp1.run_price, (COALESCE((CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END), (array_agg((times_1.times)::time without time zone)))), (((setweight(to_tsvector('portuguese'::regconfig, (product.product_name)::text), 'A'::"char") || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(product.product_description, ''::character varying))::text), 'B'::"char")) || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(class_card.category_name, ''::character varying))::text), 'C'::"char"))), (r.path[1]), (r.path[2]), catalog.catalog_group
  • Sort Key: product.legacy_cod, item.catalog_item_id, product.product_name, item.owner_id, product.product_description, class_card.category_id, class_card.legacy_cod, class_card.category_name, (COALESCE((CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), '{0,1,2,3,4,5,6}'::integer[])), ((((array_agg("substring"((legacy_config.chave)::text, 6))) || (array_agg("substring"((legacy_config_1.chave)::text, 6)))) || CASE WHEN (item.promotion_status = 'S'::bpchar) THEN '{MKT::HIGHLIGHT}'::text[] ELSE '{}'::text[] END)), (sum(cg.min_group_price)), ((product.product_photo)::text), rp1.promo_original_price, rp1.run_price, (COALESCE((CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END), (array_agg((times_1.times)::time without time zone)))), (((setweight(to_tsvector('portuguese'::regconfig, (product.product_name)::text), 'A'::"char") || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(product.product_description, ''::character varying))::text), 'B'::"char")) || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(class_card.category_name, ''::character varying))::text), 'C'::"char"))), (r.path[1]), (r.path[2]), catalog.catalog_group
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=22
3. 0.000 0.275 ↓ 0.0 0 1

Nested Loop (cost=1,320.96..1,557.88 rows=1 width=401) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: product.legacy_cod, item.catalog_item_id, product.product_name, item.owner_id, product.product_description, class_card.category_id, class_card.legacy_cod, class_card.category_name, COALESCE((CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), '{0,1,2,3,4,5,6}'::integer[]), (((array_agg("substring"((legacy_config.chave)::text, 6))) || (array_agg("substring"((legacy_config_1.chave)::text, 6)))) || CASE WHEN (item.promotion_status = 'S'::bpchar) THEN '{MKT::HIGHLIGHT}'::text[] ELSE '{}'::text[] END), (sum(cg.min_group_price)), (product.product_photo)::text, rp1.promo_original_price, rp1.run_price, COALESCE((CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END), (array_agg((times_1.times)::time without time zone))), ((setweight(to_tsvector('portuguese'::regconfig, (product.product_name)::text), 'A'::"char") || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(product.product_description, ''::character varying))::text), 'B'::"char")) || setweight(to_tsvector('portuguese'::regconfig, (COALESCE(class_card.category_name, ''::character varying))::text), 'C'::"char")), (r.path[1]), (r.path[2]), catalog.catalog_group
  • Buffers: shared hit=22
4. 0.000 0.275 ↓ 0.0 0 1

Nested Loop Left Join (cost=1,228.08..1,463.93 rows=1 width=476) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), rp1.promo_original_price, rp1.run_price, (r.path[1]), (r.path[2]), (array_agg((times_1.times)::time without time zone)), (CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END), (array_agg("substring"((legacy_config.chave)::text, 6))), (array_agg("substring"((legacy_config_1.chave)::text, 6)))
  • Buffers: shared hit=22
5. 0.000 0.275 ↓ 0.0 0 1

Nested Loop Left Join (cost=1,223.53..1,459.08 rows=1 width=444) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), rp1.promo_original_price, rp1.run_price, (r.path[1]), (r.path[2]), (array_agg((times_1.times)::time without time zone)), (CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END), (array_agg("substring"((legacy_config.chave)::text, 6)))
  • Buffers: shared hit=22
6. 0.000 0.275 ↓ 0.0 0 1

Nested Loop Left Join (cost=1,208.42..1,443.68 rows=1 width=412) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), rp1.promo_original_price, rp1.run_price, (r.path[1]), (r.path[2]), (array_agg((times_1.times)::time without time zone)), (CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END)
  • Buffers: shared hit=22
7. 0.000 0.275 ↓ 0.0 0 1

Nested Loop Left Join (cost=990.86..1,225.81 rows=1 width=396) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, item.category_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), rp1.promo_original_price, rp1.run_price, (r.path[1]), (r.path[2]), (array_agg((times_1.times)::time without time zone))
  • Buffers: shared hit=22
8. 0.000 0.275 ↓ 0.0 0 1

Nested Loop (cost=563.09..797.74 rows=1 width=380) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, item.product_id, item.category_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), rp1.promo_original_price, rp1.run_price, (r.path[1]), (r.path[2])
  • Buffers: shared hit=22
9. 0.000 0.275 ↓ 0.0 0 1

Nested Loop Left Join (cost=562.52..792.86 rows=1 width=372) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, item.product_id, item.category_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END), (r.path[1]), (r.path[2])
  • Buffers: shared hit=22
10. 0.001 0.275 ↓ 0.0 0 1

Nested Loop Left Join (cost=552.48..782.51 rows=1 width=340) (actual time=0.275..0.275 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, item.product_id, item.category_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)), (r.path[1]), (r.path[2])
  • Buffers: shared hit=22
11. 0.001 0.274 ↓ 0.0 0 1

Nested Loop (cost=534.72..764.45 rows=1 width=308) (actual time=0.274..0.274 rows=0 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, item.product_id, item.category_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, class_card.category_id, class_card.legacy_cod, class_card.category_name, (r.path[1]), (r.path[2])
  • Inner Unique: true
  • Buffers: shared hit=22
12. 0.001 0.265 ↑ 1.0 1 1

Nested Loop (cost=534.29..759.90 rows=1 width=270) (actual time=0.127..0.265 rows=1 loops=1)

  • Output: catalog.catalog_group, item.catalog_item_id, item.owner_id, item.promotion_status, item.product_id, item.category_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, (r.path[1]), (r.path[2])
  • Inner Unique: true
  • Buffers: shared hit=18
13. 0.001 0.257 ↑ 1.0 1 1

Nested Loop (cost=533.86..755.37 rows=1 width=270) (actual time=0.119..0.257 rows=1 loops=1)

  • Output: item.catalog_item_id, item.owner_id, item.promotion_status, item.product_id, item.category_id, item.catalog_id, product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, (r.path[1]), (r.path[2])
  • Buffers: shared hit=14
14. 0.013 0.246 ↑ 1.0 1 1

Hash Right Join (cost=533.30..750.58 rows=1 width=188) (actual time=0.109..0.246 rows=1 loops=1)

  • Output: product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, (r.path[1]), (r.path[2])
  • Inner Unique: true
  • Hash Cond: (r.taxonomy_id = product.taxonomy_id)
  • Join Filter: (product.taxonomy_classifier_score >= 0.4)
  • Buffers: shared hit=9
15. 0.217 0.217 ↑ 9.1 79 1

CTE Scan on r (cost=528.52..672.12 rows=718 width=80) (actual time=0.007..0.217 rows=79 loops=1)

  • Output: r.taxonomy_id, r.path[1], r.path[2]
  • Buffers: shared hit=4
16.          

CTE r

17. 0.025 0.178 ↑ 9.1 79 1

Recursive Union (cost=0.14..528.52 rows=718 width=60) (actual time=0.005..0.178 rows=79 loops=1)

  • Buffers: shared hit=4
18. 0.007 0.007 ↑ 1.0 8 1

Index Scan using taxonomy_parent_taxonomy_id_idx on ifood_catalog.taxonomy t (cost=0.14..5.00 rows=8 width=60) (actual time=0.004..0.007 rows=8 loops=1)

  • Output: ARRAY[(t.taxonomy_name)::text], t.taxonomy_id, t.taxonomy_name
  • Index Cond: (t.parent_taxonomy_id IS NULL)
  • Buffers: shared hit=2
19. 0.052 0.146 ↑ 2.0 36 2

Merge Join (cost=29.92..37.99 rows=71 width=60) (actual time=0.051..0.073 rows=36 loops=2)

  • Output: (r_1.path || (t_1.taxonomy_name)::text), t_1.taxonomy_id, t_1.taxonomy_name
  • Merge Cond: (t_1.parent_taxonomy_id = r_1.taxonomy_id)
  • Buffers: shared hit=2
20. 0.040 0.060 ↑ 1.1 72 2

Sort (cost=11.39..11.59 rows=79 width=44) (actual time=0.027..0.030 rows=72 loops=2)

  • Output: t_1.taxonomy_name, t_1.taxonomy_id, t_1.parent_taxonomy_id
  • Sort Key: t_1.parent_taxonomy_id
  • Sort Method: quicksort Memory: 32kB
  • Buffers: shared hit=2
21. 0.020 0.020 ↑ 1.0 79 2

Seq Scan on ifood_catalog.taxonomy t_1 (cost=0.00..8.90 rows=79 width=44) (actual time=0.003..0.010 rows=79 loops=2)

  • Output: t_1.taxonomy_name, t_1.taxonomy_id, t_1.parent_taxonomy_id
  • Buffers: shared hit=2
22. 0.026 0.034 ↑ 1.2 64 2

Sort (cost=18.53..18.73 rows=80 width=48) (actual time=0.014..0.017 rows=64 loops=2)

  • Output: r_1.path, r_1.taxonomy_id
  • Sort Key: r_1.taxonomy_id
  • Sort Method: quicksort Memory: 34kB
23. 0.008 0.008 ↑ 2.0 40 2

WorkTable Scan on r r_1 (cost=0.00..16.00 rows=80 width=48) (actual time=0.001..0.004 rows=40 loops=2)

  • Output: r_1.path, r_1.taxonomy_id
24. 0.002 0.016 ↑ 1.0 1 1

Hash (cost=4.68..4.68 rows=1 width=150) (actual time=0.016..0.016 rows=1 loops=1)

  • Output: product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, product.taxonomy_id, product.taxonomy_classifier_score
  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
  • Buffers: shared hit=5
25. 0.014 0.014 ↑ 1.0 1 1

Index Scan using product_product_id_pkey on ifood_catalog.product (cost=0.57..4.68 rows=1 width=150) (actual time=0.013..0.014 rows=1 loops=1)

  • Output: product.legacy_cod, product.product_name, product.product_description, product.product_photo, product.product_id, product.taxonomy_id, product.taxonomy_classifier_score
  • Index Cond: (product.product_id = '8f15f8f1-d295-42a3-b08c-dc25d5d0c1bc'::uuid)
  • Filter: (((product.violation_classifier_score IS NULL) OR (product.violation_classifier_score < 0.9)) AND (product.status = 'A'::bpchar))
  • Buffers: shared hit=5
26. 0.010 0.010 ↑ 1.0 1 1

Index Scan using catalog_item_product_id_fk_idx on ifood_catalog.catalog_item item (cost=0.56..4.69 rows=1 width=82) (actual time=0.009..0.010 rows=1 loops=1)

  • Output: item.catalog_item_id, item.catalog_id, item.category_id, item.owner_id, item.sequence, item.product_id, item.can_change_price, item.can_change_availability, item.status, item.created_at, item.modified_at, item.promotion_status, item.external_code, item.operation_modes
  • Index Cond: (item.product_id = '8f15f8f1-d295-42a3-b08c-dc25d5d0c1bc'::uuid)
  • Filter: ((item.status = 'A'::bpchar) AND ((item.operation_modes IS NULL) OR ('DELIVERY'::ifood_catalog.operationmodes = ANY (item.operation_modes))))
  • Buffers: shared hit=5
27. 0.007 0.007 ↑ 1.0 1 1

Index Scan using catalog_catalog_id_pkey on ifood_catalog.catalog (cost=0.42..4.54 rows=1 width=32) (actual time=0.007..0.007 rows=1 loops=1)

  • Output: catalog.catalog_id, catalog.owner_id, catalog.catalog_name, catalog.catalog_description, catalog.can_change_price, catalog.can_change_availability, catalog.can_add_category, catalog.status, catalog.created_at, catalog.modified_at, catalog.catalog_type, catalog.catalog_group
  • Index Cond: (catalog.catalog_id = item.catalog_id)
  • Filter: (catalog.status = 'A'::bpchar)
  • Buffers: shared hit=4
28. 0.008 0.008 ↓ 0.0 0 1

Index Scan using category_category_id_pkey on ifood_catalog.category class_card (cost=0.43..4.54 rows=1 width=38) (actual time=0.008..0.008 rows=0 loops=1)

  • Output: class_card.category_id, class_card.catalog_id, class_card.owner_id, class_card.sequence, class_card.external_code, class_card.category_name, class_card.category_description, class_card.can_change_price, class_card.can_change_availability, class_card.can_add_item, class_card.status, class_card.created_at, class_card.modified_at, class_card.legacy_cod, class_card.legacy_template, class_card.violation_classifier_score
  • Index Cond: (class_card.category_id = item.category_id)
  • Filter: (((class_card.violation_classifier_score IS NULL) OR (class_card.violation_classifier_score < 0.9)) AND (class_card.status = 'A'::bpchar))
  • Rows Removed by Filter: 1
  • Buffers: shared hit=4
29. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=17.76..17.87 rows=1 width=32) (never executed)

  • Output: array_remove(ARRAY[CASE bool_or(availability_configuration.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer)
30. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.69..17.73 rows=2 width=7) (never executed)

  • Output: availability_configuration.include_sunday, availability_configuration.include_monday, availability_configuration.include_tuesday, availability_configuration.include_wednesday, availability_configuration.include_thursday, availability_configuration.include_friday, availability_configuration.include_saturday
31. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.12..16.12 rows=2 width=32) (never executed)

  • Output: ao.availability_option_id, a.availability_option_id
  • Inner Unique: true
32. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_product_id_fk_idx on ifood_catalog.availability a (cost=0.56..6.78 rows=2 width=16) (never executed)

  • Output: a.availability_id, a.availability_option_id, a.availability_type, a.catalog_id, a.category_id, a.catalog_item_id, a.product_id, a.effective_start_date, a.effective_end_date, a.promotion_item_id
  • Index Cond: (a.product_id = product.product_id)
33. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_option_availability_option_id_pkey on ifood_catalog.availability_option ao (cost=0.56..4.67 rows=1 width=16) (never executed)

  • Output: ao.availability_option_id, ao.owner_id, ao.availability_name, ao.availability_description, ao.status
  • Index Cond: (ao.availability_option_id = a.availability_option_id)
  • Filter: (ao.status = 'A'::bpchar)
34. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_configuration_availability_option_id_fk_idx on ifood_catalog.availability_configuration (cost=0.56..0.70 rows=1 width=23) (never executed)

  • Output: availability_configuration.availability_configuration_id, availability_configuration.availability_option_id, availability_configuration.include_monday, availability_configuration.include_tuesday, availability_configuration.include_wednesday, availability_configuration.include_thursday, availability_configuration.include_friday, availability_configuration.include_saturday, availability_configuration.include_sunday, availability_configuration.start_time, availability_configuration.end_time
  • Index Cond: (availability_configuration.availability_option_id = ao.availability_option_id)
35. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=10.04..10.15 rows=1 width=32) (never executed)

  • Output: CASE WHEN (count(1) > 0) THEN array_remove(ARRAY[CASE bool_or(availability_configuration_1.include_sunday) WHEN CASE_TEST_EXPR THEN 0 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_monday) WHEN CASE_TEST_EXPR THEN 1 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_tuesday) WHEN CASE_TEST_EXPR THEN 2 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_wednesday) WHEN CASE_TEST_EXPR THEN 3 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_thursday) WHEN CASE_TEST_EXPR THEN 4 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_friday) WHEN CASE_TEST_EXPR THEN 5 ELSE NULL::integer END, CASE bool_or(availability_configuration_1.include_saturday) WHEN CASE_TEST_EXPR THEN 6 ELSE NULL::integer END], NULL::integer) ELSE NULL::integer[] END
36. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.56..10.02 rows=1 width=7) (never executed)

  • Output: availability_configuration_1.include_sunday, availability_configuration_1.include_monday, availability_configuration_1.include_tuesday, availability_configuration_1.include_wednesday, availability_configuration_1.include_thursday, availability_configuration_1.include_friday, availability_configuration_1.include_saturday
37. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.00..9.22 rows=1 width=32) (never executed)

  • Output: ao_1.availability_option_id, a_1.availability_option_id
  • Inner Unique: true
38. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_category_id_fk_idx on ifood_catalog.availability a_1 (cost=0.44..4.54 rows=1 width=16) (never executed)

  • Output: a_1.availability_id, a_1.availability_option_id, a_1.availability_type, a_1.catalog_id, a_1.category_id, a_1.catalog_item_id, a_1.product_id, a_1.effective_start_date, a_1.effective_end_date, a_1.promotion_item_id
  • Index Cond: (a_1.category_id = class_card.category_id)
39. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_option_availability_option_id_pkey on ifood_catalog.availability_option ao_1 (cost=0.56..4.67 rows=1 width=16) (never executed)

  • Output: ao_1.availability_option_id, ao_1.owner_id, ao_1.availability_name, ao_1.availability_description, ao_1.status
  • Index Cond: (ao_1.availability_option_id = a_1.availability_option_id)
  • Filter: (ao_1.status = 'A'::bpchar)
40. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_configuration_availability_option_id_fk_idx on ifood_catalog.availability_configuration availability_configuration_1 (cost=0.56..0.70 rows=1 width=23) (never executed)

  • Output: availability_configuration_1.availability_configuration_id, availability_configuration_1.availability_option_id, availability_configuration_1.include_monday, availability_configuration_1.include_tuesday, availability_configuration_1.include_wednesday, availability_configuration_1.include_thursday, availability_configuration_1.include_friday, availability_configuration_1.include_saturday, availability_configuration_1.include_sunday, availability_configuration_1.start_time, availability_configuration_1.end_time
  • Index Cond: (availability_configuration_1.availability_option_id = ao_1.availability_option_id)
41. 0.000 0.000 ↓ 0.0 0

Limit (cost=0.57..4.68 rows=1 width=16) (never executed)

  • Output: rp1.run_price, rp1.promo_original_price, rp1.effective_start_date
42. 0.000 0.000 ↓ 0.0 0

Index Scan Backward using run_price_product_id_owner_id_effective_start_date_idx on ifood_catalog.run_price rp1 (cost=0.57..4.68 rows=1 width=16) (never executed)

  • Output: rp1.run_price, rp1.promo_original_price, rp1.effective_start_date
  • Index Cond: ((rp1.product_id = product.product_id) AND (rp1.owner_id = item.owner_id) AND (rp1.effective_start_date <= now()))
43. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=427.77..427.87 rows=1 width=32) (never executed)

  • Output: array_agg((times_1.times)::time without time zone)
44. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.73..417.77 rows=2,000 width=8) (never executed)

  • Output: times_1.times
45. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.69..17.73 rows=2 width=16) (never executed)

  • Output: availability_configuration_2.start_time, availability_configuration_2.end_time
46. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.12..16.13 rows=2 width=32) (never executed)

  • Output: ao_2.availability_option_id, a_2.availability_option_id
  • Inner Unique: true
47. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_product_id_fk_idx on ifood_catalog.availability a_2 (cost=0.56..6.78 rows=2 width=16) (never executed)

  • Output: a_2.availability_id, a_2.availability_option_id, a_2.availability_type, a_2.catalog_id, a_2.category_id, a_2.catalog_item_id, a_2.product_id, a_2.effective_start_date, a_2.effective_end_date, a_2.promotion_item_id
  • Index Cond: (a_2.product_id = item.product_id)
48. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_option_availability_option_id_pkey on ifood_catalog.availability_option ao_2 (cost=0.56..4.68 rows=1 width=16) (never executed)

  • Output: ao_2.availability_option_id, ao_2.owner_id, ao_2.availability_name, ao_2.availability_description, ao_2.status
  • Index Cond: (ao_2.availability_option_id = a_2.availability_option_id)
  • Filter: ((ao_2.status <> 'D'::bpchar) AND (ao_2.status = 'A'::bpchar))
49. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_configuration_availability_option_id_fk_idx on ifood_catalog.availability_configuration availability_configuration_2 (cost=0.56..0.70 rows=1 width=32) (never executed)

  • Output: availability_configuration_2.availability_configuration_id, availability_configuration_2.availability_option_id, availability_configuration_2.include_monday, availability_configuration_2.include_tuesday, availability_configuration_2.include_wednesday, availability_configuration_2.include_thursday, availability_configuration_2.include_friday, availability_configuration_2.include_saturday, availability_configuration_2.include_sunday, availability_configuration_2.start_time, availability_configuration_2.end_time
  • Index Cond: (availability_configuration_2.availability_option_id = ao_2.availability_option_id)
50. 0.000 0.000 ↓ 0.0 0

Function Scan on pg_catalog.generate_series times_1 (cost=0.04..100.04 rows=1,000 width=8) (never executed)

  • Output: times_1.times
  • Function Call: generate_series((concat((now())::date, ' ', (availability_configuration_2.start_time)::text))::timestamp without time zone, (concat((now())::date, ' ', (availability_configuration_2.end_time)::text))::timestamp without time zone, '00:15:00'::interval)
51. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=217.56..217.67 rows=1 width=32) (never executed)

  • Output: CASE WHEN (count(1) > 0) THEN array_agg((times_1_1.times)::time without time zone) ELSE NULL::time without time zone[] END
52. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.60..210.06 rows=1,000 width=8) (never executed)

  • Output: times_1_1.times
53. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.56..10.02 rows=1 width=16) (never executed)

  • Output: availability_configuration_3.start_time, availability_configuration_3.end_time
54. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.00..9.22 rows=1 width=32) (never executed)

  • Output: ao_3.availability_option_id, a_3.availability_option_id
  • Inner Unique: true
55. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_category_id_fk_idx on ifood_catalog.availability a_3 (cost=0.44..4.54 rows=1 width=16) (never executed)

  • Output: a_3.availability_id, a_3.availability_option_id, a_3.availability_type, a_3.catalog_id, a_3.category_id, a_3.catalog_item_id, a_3.product_id, a_3.effective_start_date, a_3.effective_end_date, a_3.promotion_item_id
  • Index Cond: (a_3.category_id = item.category_id)
56. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_option_availability_option_id_pkey on ifood_catalog.availability_option ao_3 (cost=0.56..4.68 rows=1 width=16) (never executed)

  • Output: ao_3.availability_option_id, ao_3.owner_id, ao_3.availability_name, ao_3.availability_description, ao_3.status
  • Index Cond: (ao_3.availability_option_id = a_3.availability_option_id)
  • Filter: ((ao_3.status <> 'D'::bpchar) AND (ao_3.status = 'A'::bpchar))
57. 0.000 0.000 ↓ 0.0 0

Index Scan using availability_configuration_availability_option_id_fk_idx on ifood_catalog.availability_configuration availability_configuration_3 (cost=0.56..0.70 rows=1 width=32) (never executed)

  • Output: availability_configuration_3.availability_configuration_id, availability_configuration_3.availability_option_id, availability_configuration_3.include_monday, availability_configuration_3.include_tuesday, availability_configuration_3.include_wednesday, availability_configuration_3.include_thursday, availability_configuration_3.include_friday, availability_configuration_3.include_saturday, availability_configuration_3.include_sunday, availability_configuration_3.start_time, availability_configuration_3.end_time
  • Index Cond: (availability_configuration_3.availability_option_id = ao_3.availability_option_id)
58. 0.000 0.000 ↓ 0.0 0

Function Scan on pg_catalog.generate_series times_1_1 (cost=0.04..100.04 rows=1,000 width=8) (never executed)

  • Output: times_1_1.times
  • Function Call: generate_series((concat((now())::date, ' ', (availability_configuration_3.start_time)::text))::timestamp without time zone, (concat((now())::date, ' ', (availability_configuration_3.end_time)::text))::timestamp without time zone, '00:15:00'::interval)
59. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=15.11..15.21 rows=1 width=32) (never executed)

  • Output: array_agg("substring"((legacy_config.chave)::text, 6))
60. 0.000 0.000 ↓ 0.0 0

Index Scan using legacy_config_product_id_idx on ifood_catalog.legacy_config (cost=0.43..15.08 rows=6 width=20) (never executed)

  • Output: legacy_config.product_id, legacy_config.valor, legacy_config.chave, legacy_config.owner_id, legacy_config.catalog_item_id, legacy_config.legacy_config_id
  • Index Cond: (legacy_config.product_id = product.product_id)
61. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=4.55..4.65 rows=1 width=32) (never executed)

  • Output: array_agg("substring"((legacy_config_1.chave)::text, 6))
62. 0.000 0.000 ↓ 0.0 0

Index Scan using legacy_config_catalog_item_id_idx on ifood_catalog.legacy_config legacy_config_1 (cost=0.43..4.54 rows=1 width=20) (never executed)

  • Output: legacy_config_1.product_id, legacy_config_1.valor, legacy_config_1.chave, legacy_config_1.owner_id, legacy_config_1.catalog_item_id, legacy_config_1.legacy_config_id
  • Index Cond: (legacy_config_1.catalog_item_id = item.catalog_item_id)
63. 0.000 0.000 ↓ 0.0 0

Aggregate (cost=92.88..92.98 rows=1 width=32) (never executed)

  • Output: sum(cg.min_group_price)
64. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=1.12..92.84 rows=13 width=3) (never executed)

  • Output: cg.min_group_price
  • Inner Unique: true
65. 0.000 0.000 ↓ 0.0 0

Index Scan using cgm_product_id_fk_idx on ifood_catalog.customization_group_member cgm (cost=0.56..32.10 rows=13 width=16) (never executed)

  • Output: cgm.customization_group_member_id, cgm.customization_group_id, cgm.product_id, cgm.category_id, cgm.status, cgm.sequence, cgm.min_customization_options, cgm.max_customization_options, cgm.created_at, cgm.modified_at, cgm.promotion_item_id
  • Index Cond: (cgm.product_id = product.product_id)
  • Filter: (cgm.status <> 'D'::bpchar)
66. 0.000 0.000 ↓ 0.0 0

Index Scan using customization_group_customization_group_id_pkey on ifood_catalog.customization_group cg (cost=0.56..4.67 rows=1 width=19) (never executed)

  • Output: cg.customization_group_id, cg.owner_id, cg.customization_group_name, cg.customization_group_description, cg.status, cg.min_group_price
  • Index Cond: (cg.customization_group_id = cgm.customization_group_id)
  • Filter: (cg.status <> 'D'::bpchar)
Planning time : 2.874 ms
Execution time : 0.542 ms