Map Source Names to Attributes
Every partition key column must be a join key
Checks whether a logical plan contains only Filters, Aliases and CassandraSource Relations
Checks whether there is only a single leaf to this plan and that the leaf is a CassandraSourceRelation.
Recursively search the dependencies of an RDD for a CassandraTableScanRDD Only searches single dependency chains, on branches chooses left
Returns a single logical source for the branch if there is one
Returns the single DataSourceScanExec for the branch if there is one
Checks whether a query plan has either a logical or physical node pulling data from cassandra
Given our target Cassandra based branch, we remove the node which draws data from cassandra (DataSourceScanExec) and replace it with the passed directJoin plan instead.
Checks whether the Plan contains only acceptable logical nodes and all partition keys are joined
Currently we will only support Inner, LeftOuter and RightOuter joins Depending on the side of the CassandraTarget different joins are allowed.