Attean...Planner(3pm)

πŸ’… Attean...Planner(3pm) β€” like, the actual manual page bestie

okay so this is a page from the User Contributed Perl Documentation collection, and it's filed under Attean...Planner(3pm) ✨ (yes the name is literally abbreviated with dots, that's just how the man system rolls, we don't question it πŸŽ€)


✨ NAME ✨

AtteanX::API::JoinRotatingPlanner β€” the query planning role that whips up alternative join plans πŸŒ€πŸ’–


🌸 VERSION 🌸

This doc describes AtteanX::API::JoinRotatingPlanner version 0.035. periodt. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

So AtteanX::API::JoinRotatingPlanner is a role, and when you use it together with Attean::QueryPlanner, it produces alternatives for join query plans. It's giving "let me give you options" energy πŸ‘‘

Specifically (and this is the main character part): joins of the form

(Aβ‹ˆB)β‹ˆC

get rotated into

Aβ‹ˆ(Bβ‹ˆC)

...with the ability to coalesce Bβ‹ˆC too β€” like, for adjacent BGPs, iykyk 🫢✨


πŸ’œ REQUIRED METHODS πŸ’œ

  • allow_join_rotation( $join_plan ) β€” returns true if join rotation should be attempted on the given join plan. basically the vibe check: "should we even try rotating this one?" βœ…
  • coalesce_rotated_join( $join_plan ) β€” given a Attean::API::Plan::Join plan $join_plan, returns a list of equivalent plans. this is useful when the join can be reduced to a more fundamental plan type, like merging two adjacent BGP plans into a single plan πŸ§šπŸ’–

πŸ› BUGS πŸ›

Please report any bugs or feature requests through the GitHub web interface at <https://github.com/kasei/attean/issues>. ngl they wanna hear from you, fr fr πŸ™ˆ


πŸ‘€ SEE ALSO πŸ‘€

(crickets... it's empty bestie, nothing to see here πŸ’€ but the heading is iconic so we keep it)


🌈 AUTHOR 🌈

Gregory Todd Williams "<gwilliams@cpan.org>" β€” shoutout to the icon who made this πŸ«ΆπŸ‘‘


Copyright (c) 2014--2022 Gregory Todd Williams. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. πŸ’–

lowkey important: those are the actual redistribution terms, don't come for me, just copy them exactly like the original says 😭

aaaand that's the whole page bestie!! πŸŒΈπŸ¦‹ mwah πŸ’‹

sign-off time: this was generated by perl v5.40.0 on 2025-01-26, and that's the tea πŸ“βœ¨

πŸ“¦ where this page comes from