----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30287/ -----------------------------------------------------------
(Updated Jan. 26, 2015, 10:04 p.m.) Review request for samza, Chris Riccomini and Yi Pan (Data Infrastructure). Repository: samza Description ------- WIP: Stream SQL Object Model Overview view of the design: There are three main types of objects in this model * Expression: Can be a reference to a column of a table or a field of a tuple or a property of a nested data structure, a arithmetic expression, a logical expression, a function or expressions that can be used in where clauses, having clauses, field based window clauses * DataSource: Data source can be a stream, a table or a time varying relation results from applying a window operator to a stream. (**I'm not sure whether DataSource is the correct naming. We need to discuss this.**) * Statement: Stream SQL statements like SELECT, INSERT and UPDATE Then we have a simple factory (**StreamSQLFactory**) which creates different types of expressions. And I have implemented a fluent style API for **Select** to demonstrate how building a query using this OM will looks like. Two examples queries can be found in **StreamSQLSamples**. This is the first draft. Please feel free to comment on this. Diffs ----- build.gradle 7a40ad4 gradle/wrapper/gradle-wrapper.properties 78596c0 samza-sql/src/main/java/org/apache/samza/sql/om/AbstractDataSource.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/AbstractExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/AliasedExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/ArithmeticExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/CompareExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/FieldReference.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/FromExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/FunctionExpressions.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/Literal.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/LogicalExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/OrderByExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/OrderByField.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/PartitionByExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/Select.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/Stream.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/StreamSQLFactory.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/Table.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/TimeBasedWindow.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/TimeVaryingRelation.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/TupleBasedWindow.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/WindowExpression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/api/DataSource.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/api/Expression.java PRE-CREATION samza-sql/src/main/java/org/apache/samza/sql/om/api/Statement.java PRE-CREATION samza-sql/src/test/java/org/apache/samza/sql/om/StreamSQLSamples.java PRE-CREATION settings.gradle 3a01fd6 Diff: https://reviews.apache.org/r/30287/diff/ Testing ------- Thanks, Milinda Pathirage