public final class Streaming extends AlgebraicOptimization
Modifier and Type | Class and Description |
---|---|
(package private) static class |
Streaming.Environment
An environment that binds variables to monoids
|
algebraic_operators, data_constructors, functions, global_datatype_env, global_functions, global_macros, global_type_env, global_vars, identity, impure_functions, monoids, plan_names, plans_with_distributed_lambdas, repeat_variables, st, type_env, type_names
Constructor and Description |
---|
Streaming() |
Modifier and Type | Method and Description |
---|---|
(package private) static Tree |
answer(Tree e,
Tree var,
Tree merge)
Return the answer function of a query e
|
(package private) static Trees |
find_homomorphisms(Tree e,
Streaming.Environment env)
find all homomorphic terms in the algebraic term e
|
(package private) static Tree |
generate_code(Tree e,
Streaming.Environment env)
Convert a stream-based query to an incremental stream-based program.
|
static Tree |
generate_incremental_code(Tree e)
Convert a stream-based query to an incremental stream-based program.
|
static Tree |
inference(Tree e) |
(package private) static Tree |
inference(Tree e,
Streaming.Environment env)
If e is a homomorphism, return the associated monoid;
if it returns none, then it fails to find a monoid;
if it returns fixed, then its invariant.
|
(package private) static Tree |
inject_c(Tree e)
Inject lineage (all groupBy/join keys) to a cMap e
|
(package private) static Tree |
inject_e(Tree e)
inject lineage (all groupBy/join keys) to a groupBy/join term e
|
static Tree |
inject_q(Tree e)
inject lineage (all groupBy/join keys) to a query e
|
static boolean |
is_streaming(Tree e)
Does this term contain a stream source?
|
(package private) static Tree |
simplify_term(Tree e)
Simplify the term e using rewrite rules
|
static Tree |
SimplifyTerm(Tree e)
Simplify the term e using rewrite rules
|
(package private) static Tree |
split_trace(Tree e,
Tree var,
Streaming.Environment env)
Split the term e into a homomorhism and an answer function
|
(package private) static Tree |
split(Tree e,
Tree var,
Streaming.Environment env)
Split the term e into a homomorhism and an answer function
|
static Tree |
streamify(Tree e)
Convert an algebraic expression into a stream-based by pulling out all the stream sources
|
static Tree |
unstreamify(Tree e) |
common_factoring, translate_all, translate
simplify_all, simplify
bind_pattern, normalize_all, normalize, remove_groupby, rename
alpha_equivalent, alpha_equivalent, collection_type, error, free_variables, global_reset, identity, is_collection, is_persistent_collection, is_pure, new_var, occurences, pattern_variables, persistent_collection, print_aggregates, reify, reify, reset, subst_list, subst_var, subst, template, top_level, transient_collection, translate_select, union
print_plan, print_query, print_type, print, reify
static Tree inference(Tree e, Streaming.Environment env)
e
- an MRQL algebraic termenv
- binds variables to monoidspublic static Tree inject_q(Tree e)
e
- an MRQL querystatic Tree inject_e(Tree e)
e
- a groupBy or coGroup (join) termstatic Tree inject_c(Tree e)
e
- a cMap termstatic Trees find_homomorphisms(Tree e, Streaming.Environment env)
e
- an algebraic termenv
- binds variables to monoidsstatic Tree split(Tree e, Tree var, Streaming.Environment env)
e
- an algebraic termvar
- the input variable of the answer functionenv
- binds variables to monoidsstatic Tree split_trace(Tree e, Tree var, Streaming.Environment env)
e
- an algebraic termvar
- the input variable of the answer functionenv
- binds variables to monoidspublic static boolean is_streaming(Tree e)
public static Tree streamify(Tree e)
e
- algebraic expressionstatic Tree answer(Tree e, Tree var, Tree merge)
e
- a queryvar
- the input of the answer functionmerge
- the monoid associated with the inputstatic Tree generate_code(Tree e, Streaming.Environment env)
e
- a stream-based queryenv
- binds variables to monoidsCopyright © 2013-2016 The Apache Software Foundation. All Rights Reserved.