Compilation and rule-based optimization framework for relational algebra. Raco is the language, optimization, and query translation layer for the Myria project.
The design is described in https://github.com/uwescience/myria/pull/858. RACO does the work of translating a stream(relationVar) statement into a logical Stream operator, and expanding that into a physical operator chain CollectProducer->CollectConsumer->StreamingSink, while MyriaX expands StreamingSink into a TupleSink with PipeSink instances that register their InputStreams under the running query, so we can construct an HTTP streaming response entity with the sequenced output of all stream() statements.
Coverage decreased (-0.2%) to 91.601% when pulling adba8c80feb997281fb61da535e1bff1ad2a26e1 on streaming_query_results into cf26abec675cbdc62008bd075bacb5e0d177247d on master.
Coverage decreased (-0.1%) to 91.565% when pulling ad977640d3f0dcf552c0f4b374cbf6e1f91bdddd on streaming_query_results into c6fdede520b3aff3476f74066d52ea0976d7959a on master.
Coverage decreased (-0.1%) to 91.565% when pulling ad977640d3f0dcf552c0f4b374cbf6e1f91bdddd on streaming_query_results into c6fdede520b3aff3476f74066d52ea0976d7959a on master.
The design is described in https://github.com/uwescience/myria/pull/858. RACO does the work of translating a
stream(relationVar)
statement into a logicalStream
operator, and expanding that into a physical operator chainCollectProducer->CollectConsumer->StreamingSink
, while MyriaX expandsStreamingSink
into aTupleSink
withPipeSink
instances that register theirInputStream
s under the running query, so we can construct an HTTP streaming response entity with the sequenced output of allstream()
statements.