All Classes and Interfaces
Class
Description
Calcite implementation layer that represents a result set of a scan.
A simple "case" class / POJO to help with code generation in
KuduToEnumerableConverter
.A
CalciteKuduTable
is responsible for returning rows of Objects back.Implementation of
Queryable
based on a CalciteKuduTable
.A Plain Java Object that represents a Projected response from Kudu RPCs.
Message object represents a Message from an active scanner.
An
Enumerable
that can be cloned with additional conjunctions.An implementation of
CalciteKuduPredicate
that creates comparison
KuduPredicate
KuduPredicate.newComparisonPredicate(ColumnSchema, org.apache.kudu.client.KuduPredicate.ComparisonOp, Object)
Generate rows using the row counts of a cube grouped by its primary keys.
Used to calculate aggregated values and upsert rows to the kudu cube tables
An implementation of
CalciteKuduPredicate
that creates an IN LIST
predicate to KuduEnumerable
KuduPredicate.newInListPredicate(ColumnSchema, List)
Rule to match a limit over a sort over aggregation.
Factory that uses
CalciteJdbc41Factory
as a delegate so that we can
create our own KuduCalciteConnectionImpl
that exposes
KuduMetaImpl
Customized driver so that we can use our own meta implementation
An
Enumerable
that *can* returns Kudu records in Ascending order on
their primary key.KuduMaterializedViewAggregateRule<C extends org.apache.calcite.rel.rules.materialize.MaterializedViewAggregateRule.Config>
Materialized view rewriting for aggregate.
Rule configuration.
KuduMaterializedViewRule<C extends org.apache.calcite.rel.rules.materialize.MaterializedViewRule.Config>
Planner rule that converts a
Project
followed by Aggregate
or an
Aggregate
to a scan (and possibly other
operations) over a materialized view.Rule configuration.
Edge for graph.
Class representing an equivalence class, i.e., a set of equivalent columns
Complete, view partial, or query partial.
Expression lineage details.
View partitioning result.
Builtin methods in the KuduDB adapter.
Implements a join algorithm between two
KuduToEnumerableRel
objects
using
EnumerableDefaults.correlateBatchJoin(JoinType, Enumerable, Function1, Function2, Predicate2, int)
A partially implemented implementation of
PhysType
.KuduPredicatePushDownVisitor returns a List of a List of
CalciteKuduPredicates.
Used to transform projections of a
LogicalProject
to use the output of a
KuduProjectRel
Relational expression representing a scan of a KuduTable
A relational expression that represents a Kudu convention This will be used
by the
KuduToEnumerableConverter
to translate into a Blocks
.Implementor is a container to hold information required to execute a query or
update to kudu.
A single KuduScanStats object is created per query that is executed and is
accessed from all the
ScannerCallback
s created for each scanner as
well as the KuduEnumerable
.Rule that matches a sort over an aggregation with both sort and aggregation
using the same columns.
This relation sets
KuduRelNode.Implementor.sorted
to true and conditionally sets
KuduRelNode.Implementor.limit
and KuduRelNode.Implementor.offset
.Two Sort Rules that look to push the Sort into the Kudu RPC.
Searches
RexNode
to see if the Kudu column index -- stored as
KuduSortRule.KuduFilterVisitor.mustHave
is present in the RexNode
and is required.Rule to match a Sort above
Filter
and it is above KuduQuery
.Rule to match a Sort above
KuduQuery
.Rule to convert a relational expression from
KuduRelNode.CONVENTION
to EnumerableConvention
.NestedJoinFactory
is an implementation of Function1
that
returns an Enumerable
for the Right hand side of a nested join.An implementation of
CalciteKuduPredicate
that pushes down both NOT
NULL and IS NULL to Kudu.Used to paginate through rows in the order of the primary key columns by
comparing row expressions with a greater than operator
If the the PK of the table is
(A asc, B asc, C asc) (A, B, C) > ('a1', 'b1', * 'c1')
is transformed
to
(A > 'a1') OR ((A = 'a1') AND (B > 'b1')) OR ((A = 'a1') AND (B = 'b1') AND (C > 'c1'))
If the the PK of the table is
(A asc, B desc, C asc) (A, B, C) > ('a1', 'b1', 'c1')
is transformed
to
(A > 'a1') OR ((A = 'a1') AND (B < 'b1')) OR ((A = 'a1') AND (B = 'b1') AND (C > 'c1'))
This implementation is different from the SQL-92 standard see
https://stackoverflow.com/questions/32981903/sql-syntax-term-for-where-col1-col2-val1-val2/32982077#32982077Scanner Callback that produces
CalciteScannerMessage
into a
BlockingQueue
.Metric information for a single kudu scanner
Generates a timestamp randomly between [numDaysAgo, now())
Computes the conjunction based on the join condition