mirror of
https://github.com/postgres/postgres.git
synced 2025-11-25 12:03:53 +03:00
Do not translate dummy SpecialJoinInfos for child joins
This teaches build_child_join_sjinfo() to create the dummy SpecialJoinInfos (those created for inner joins) directly for a given child join, skipping the unnecessary overhead of translating the parent joinrel's SpecialJoinInfo. To that end, this commit moves the code to initialize the dummy SpecialJoinInfos to a new function named init_dummy_sjinfo() and changes the few existing sites that have this code and build_child_join_sjinfo() to call this new function. Author: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> Reviewed-by: Richard Guo <guofenglinux@gmail.com> Reviewed-by: Amit Langote <amitlangote09@gmail.com> Reviewed-by: Andrey Lepikhov <a.lepikhov@postgrespro.ru> Reviewed-by: Tomas Vondra <tomas.vondra@enterprisedb.com> Discussion: https://postgr.es/m/CAExHW5tHqEf3ASVqvFFcghYGPfpy7o3xnvhHwBGbJFMRH8KjNw@mail.gmail.com
This commit is contained in:
@@ -112,6 +112,8 @@ extern bool have_join_order_restriction(PlannerInfo *root,
|
||||
extern bool have_dangerous_phv(PlannerInfo *root,
|
||||
Relids outer_relids, Relids inner_params);
|
||||
extern void mark_dummy_rel(RelOptInfo *rel);
|
||||
extern void init_dummy_sjinfo(SpecialJoinInfo *sjinfo, Relids left_relids,
|
||||
Relids right_relids);
|
||||
|
||||
/*
|
||||
* equivclass.c
|
||||
|
||||
Reference in New Issue
Block a user