---
name: "AtteanX::API::JoinRotatingPlanner"
section: "3pm"
platform: "linux"
package: "libattean-perl"
version: "0.035-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/AtteanX::API::JoinRotatingPlanner"
---

# AtteanX::API::JoinRotatingPlanner(3pm)

Query planning role to produce alternative join plans

## NAME

AtteanX::API::JoinRotatingPlanner - Query planning role to produce alternative join plans

## VERSION

This document describes AtteanX::API::JoinRotatingPlanner version 0.035

## DESCRIPTION

The AtteanX::API::JoinRotatingPlanner role, when used with Attean::QueryPlanner, produces alternatives for join query plans. Specifically, joins of the form (A⋈B)⋈C are rotated to A⋈(B⋈C), with the ability to coalesce B⋈C (e.g. for adjacent BGPs).

## REQUIRED METHODS

- allow\_join\_rotation( $join\_plan )

  Returns true if join rotation should be attempted on the given join plan.

- 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, such as merging two adjacent BGP plans into a single plan.

## BUGS

Please report any bugs or feature requests to through the GitHub web interface at \<https://github.com/kasei/attean/issues\>.

## SEE ALSO

## AUTHOR

Gregory Todd Williams  `"<gwilliams@cpan.org>"`

## COPYRIGHT

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.
