-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/33280/#review85153
-----------------------------------------------------------


Overall looks good to me. Thanks a lot! I just had one comment to use builder 
pattern instead of adding setters to OperatorSpec.


build.gradle
<https://reviews.apache.org/r/33280/#comment136656>

    You might need to re-base this change.



samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/ExecutionPlanner.java
<https://reviews.apache.org/r/33280/#comment136657>

    A better way maybe following the builder pattern. 
OperatorSpecBuilder.setInputNames().setOutputName().setId().build();
    We can iterate on this later.



samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/ExecutionPlanner.java
<https://reviews.apache.org/r/33280/#comment136658>

    The more I look at the use case, the more I feel that an OperatorBuilder 
class fits better in this pattern:
    
    this.opBuilder = 
OperatorBuilder.getFilterableStreamScanBuilder().setOperatorId().setInputs(inputs).setOutputs(outpus)....
    
    Then, in method visit(RelNode node, int ordinal, RelNode parent)
    
    We can always do:
    
    this.opBuilder.setInputs(inputs) // if necessary
    router.addOperator(this.opBuilder.build());



samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/AvroSchemaUtils.java
<https://reviews.apache.org/r/33280/#comment136660>

    I think that we should support timestamp and skip date/time now.



samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/Stream.java
<https://reviews.apache.org/r/33280/#comment136661>

    Question: do we have a way to specify the primary keys/index keys used in 
the stream?



samza-sql-core/src/main/java/org/apache/samza/sql/api/operators/OperatorSpec.java
<https://reviews.apache.org/r/33280/#comment136662>

    Use builder to avoid this??



samza-sql-core/src/main/java/org/apache/samza/sql/operators/factory/SimpleOperatorSpec.java
<https://reviews.apache.org/r/33280/#comment136663>

    Change this to a builder pattern?



samza-sql-core/src/main/java/org/apache/samza/sql/operators/scan/StreamScanSpec.java
<https://reviews.apache.org/r/33280/#comment136664>

    Just a question: is this just a dummy op that never materialized?


- Yi Pan (Data Infrastructure)


On May 23, 2015, 4:27 p.m., Milinda Pathirage wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/33280/
> -----------------------------------------------------------
> 
> (Updated May 23, 2015, 4:27 p.m.)
> 
> 
> Review request for samza, Guozhang Wang and Yi Pan (Data Infrastructure).
> 
> 
> Bugs: SAMZA-561
>     https://issues.apache.org/jira/browse/SAMZA-561
> 
> 
> Repository: samza
> 
> 
> Description
> -------
> 
> This patch contains initial query execution planner implementation based on 
> Apache Calcite. 
> 
> - Basic 'insert into' and 'where' clause support
> - Doesn't support projections, widnowing and aggregates. They will be added 
> later.
> 
> 
> Diffs
> -----
> 
>   build.gradle 16c3574 
>   samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/Utils.java 
> PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/ExecutionPlanner.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/QueryPlanner.java
>  e1c22e9 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/RexToJavaCompiler.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/rules/FilterableStreamScanRule.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/rules/ProjectableStreamScanRule.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/planner/rules/RemoveIdentityProjectRule.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/rel/ProjectableFilterableStreamScan.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/rel/StreamScan.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/AvroSchemaConverter.java
>  705c0ff 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/AvroSchemaUtils.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/RelDataTypeUtils.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/SamzaStreamType.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/schema/Stream.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/main/java/org/apache/samza/sql/calcite/task/StreamSqlTask.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/planner/SamzaStreamTableFactory.java
>  fd87aa5 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/planner/TestExecutionPlanner.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/planner/TestQueryPlanner.java
>  0bb15b2 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/planner/TestRexToJavaCompiler.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/schema/TestAvroSchemaConverter.java
>  fbb5c59 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/schema/TestAvroSchemaUtils.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/test/Constants.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/test/OrderStreamTableFactory.java
>  PRE-CREATION 
>   
> samza-sql-calcite/src/test/java/org/apache/samza/sql/calcite/test/Utils.java 
> PRE-CREATION 
>   samza-sql-core/src/main/java/org/apache/samza/sql/Utils.java PRE-CREATION 
>   samza-sql-core/src/main/java/org/apache/samza/sql/api/data/Field.java 
> PRE-CREATION 
>   samza-sql-core/src/main/java/org/apache/samza/sql/api/data/Schema.java 
> 1e8f192 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/api/expressions/Expression.java
>  PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/api/operators/OperatorSpec.java
>  4d670fd 
>   samza-sql-core/src/main/java/org/apache/samza/sql/data/DataUtils.java 
> PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/data/IntermediateMessageTuple.java
>  PRE-CREATION 
>   samza-sql-core/src/main/java/org/apache/samza/sql/data/avro/AvroSchema.java 
> 577cf74 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/data/serializers/SqlAvroSerdeFactory.java
>  aad18f4 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/data/string/StringSchema.java
>  348fc0c 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/factory/SimpleOperatorFactoryImpl.java
>  cbc84d0 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/factory/SimpleOperatorSpec.java
>  56753b6 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/factory/TypeAwareOperatorSpec.java
>  PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/insert/InsertToStreamOp.java
>  PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/insert/InsertToStreamSpec.java
>  PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/scan/FilterableStreamScanOp.java
>  PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/scan/FilterableStreamScanSpec.java
>  PRE-CREATION 
>   
> samza-sql-core/src/main/java/org/apache/samza/sql/operators/scan/StreamScanSpec.java
>  PRE-CREATION 
>   
> samza-sql-core/src/test/java/org/apache/samza/sql/data/serializers/SqlAvroSerdeTest.java
>  7412669 
>   
> samza-sql-core/src/test/java/org/apache/samza/sql/data/serializers/TestSqlAvroSerde.java
>  PRE-CREATION 
>   samza-sql-core/src/test/resources/orders.avsc PRE-CREATION 
>   samza-test/src/main/config/sql-filter.properties PRE-CREATION 
>   
> samza-test/src/main/java/org/apache/samza/test/integration/sql/OrdersStreamFactory.java
>  PRE-CREATION 
>   samza-test/src/main/python/integration_tests.py df64e23 
>   samza-test/src/main/python/perf.py 144cf58 
>   samza-test/src/main/python/requirements.txt 2ae9590 
>   samza-test/src/main/python/tests/sql_tests.py PRE-CREATION 
>   samza-test/src/main/resources/orders.avsc PRE-CREATION 
>   samza-test/src/main/resources/orders.json PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/33280/diff/
> 
> 
> Testing
> -------
> 
> * ./bin/check-all.sh passed.
> * Integration tests passed including new streaming sql integration test.
> 
> 
> Thanks,
> 
> Milinda Pathirage
> 
>

Reply via email to