# name<TAB>class[<TAB>ratio]: the shapes of shapes.sql that scripts/plangate.sh --calibrate ranks the plans of (a competitor besides the scan: b-tree, bitmap, sequential, PostgreSQL's own aggregate); every shape of the file is here, the class other for those that no class names; known: a wrong choice that is open work, with the worst ratio of its instructions to the best plan's that bench/results/estimate-misses.tsv records (written by --calibrate --update): a run that grows it by over 25% fails
one_parent_narrow	point
point_day_count	point
point_days_three	point
point_days_ten	point
distinct_one_parent	point
one_day	point
range_only_by_month	range
deleted_rows	range
global	range
top_groups	order_limit
top_rows_by_ts	order_limit
top_rows_one_parent	order_limit
top_rows_trailing_key	order_limit
partitions_top	order_limit
count_all	count
count_by_kind	count
count_live	count
partitions_count	count
distinct_global	count
one_key	group
parent_key	group
two_keys_month	group
having	group
sum_by_parent	group
join_tier	join
in_active_parents	join
join_two_lookups	known	2.63
exists_in_table	join
float_metric	agg
min_max	agg
mean_of_counts	agg
two_distincts	agg
running_total	agg
arms_union	agg
arms_per_parent_metrics	agg
two_keys_parent_kind	other
three_keys	other
filter_clauses	other
expression_key	other
float_sum_unrounded	other
top_two_keys	other
top_months	other
top_offset	other
top_rows_trailing_key_desc_offset	other
top_rows_trailing_key_ties	other
join_active_filter	other
join_month	other
join_spans_values	other
left_join_active	other
join_other_fact_filter	other
join_filter_on_lookup_column	other
lateral_latest_fact	other
lateral_first_fact_per_parent	other
lateral_recordset	other
lateral_series	other
lateral_dim_limit_one	other
sum_of_maxima_by_month	other
mean_of_means	other
groups_over_threshold	other
two_level_join_outer	other
count_of_groups	other
spine_range_join	known	2.07
spine_derived_cells	known	
spine_expression_key	known	2.81
spine_span_kind	other
spine_series	other
spine_dims_cross	known	1.78
exists_element	other
not_exists_element	other
jsonpath_element	other
exists_by_parent_month	other
not_exists_in_table	other
elements_counted	other
partitions_group	other
partition_pruned	known	15.20
partitions_join	other
sum_by_kind_month	other
distinct_by_kind	other
distinct_by_month	other
select_distinct	other
distinct_join	other
arms_scalar_subselects	other
arms_filter	other
rank_within_month	other
share_of_total	other
lag_of_months	other
top_parents_per_kind	other
search_group	other
search_count	other
search_one_parent	known	5.92
search_latest_rows	other
search_or_by_month	other
search_join	other
scope_path_filter_in	other
scope_path_filter_join	other
scope_expression_filter	other
skew_heaviest_parents	other
skew_rarest_parents	other
flat_list	other
any_array_subselect	other
in_constants	other
text_not_equal	other
top_rows_per_kind_unindexed_column	known	1.28
skew_join_rows_read	join
dirty_pages_set	group
# dimexpr_dim_c (tuned lane, 250,000 rows): PostgreSQL's own choice, not the scan's: seq_page_cost 100 makes it drop the sequential plan that takes 822 M instructions for the plan it runs at 1,111 M; the scan (1,173 M) is not chosen and is not the best.
dimexpr_dim_c	known	1.35
dimexpr_two	join
dimsum_two	join
# dimexpr_few_sets (stock lane, 30,000 rows): PostgreSQL's own choice: it prices its hash join at 188 against 274 for the index plan that takes 0.44 M instructions instead of 2.34 M; the scan takes 0.66 M. A loss of 1.9 M instructions, under half a millisecond.
dimexpr_few_sets	known	5.32
dimrate_one	join
dimrate_two	join
dimright_dim_c	join
dimfull_dim_b	join
dimright_filtered	join
linkjoin_200_parents	join
linksemi_200_parents	join
linkanti_200_parents	join
linkleft_200_parents	join
linkjoin_2000_parents	join
linksemi_2000_parents	join
linkanti_2000_parents	join
linkleft_2000_parents	join
linkjoin_all_parents	join
linksemi_all_parents	join
linkanti_all_parents	join
linkleft_all_parents	join
