James Fang has posted comments on this change.

Change subject: [ASTERIXDB-2459][FUN] Add sttdev() aggregate function
......................................................................


Patch Set 4:

(18 comments)

https://asterix-gerrit.ics.uci.edu/#/c/2990/4//COMMIT_MSG
Commit Message:

Line 7: WIP: stddev
> Follow the commit message template. So it should be something like:
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.2.update.sqlpp
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate-sql/serial_stddev_double_null/serial_stddev_double_null.2.update.sqlpp:

Line 25: select element {'id':1,'gid':1,'val':double(5.32)};
> It looks like the intent was to test cases when valplus is null, but in thi
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.query.sqlpp
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec/agg_null_rec.3.query.sqlpp:

Line 43: )), 'stddev':test.coll_stddev((
> should be "strict_stddev". "coll_" prefix still works but is deprecated
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_null_rec_1/agg_null_rec_1.3.query.sqlpp:

Line 56:     select element i.val
> should it be i.val (like in avg/sum above) or i.valplus (like in  min/max a
It does not mention which one, and all other aggregates have the similar cases. 
I choose to use val to match avg/sum


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.query.sqlpp
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/agg_number_rec/agg_number_rec.3.query.sqlpp:

Line 43: )),'stddev':test.coll_stddev((
> should be "strict_stddev"
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_nu.1.ddl.sqlpp
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_nu.1.ddl.sqlpp:

Line 1: /*
> type in the name of this file. should be '_null', not '_nu'
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_nu.3.query.sqlpp
File 
asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/aggregate/stddev_float_null/stddev_float_nu.3.query.sqlpp:

Line 1: /*
> type in the name of this file. should be '_null', not '_nu'
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float/serial_stddev_float.1.adm
File 
asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/serial_stddev_float/serial_stddev_float.1.adm:

Line 1: { "gid": 1, "stddev": 00.9574271077563381 }
> why two 0s before the decimal point?
Fixed with only one 0


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/sum_int8_null/sum_int8_null.1.adm
File 
asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate-sql/sum_int8_null/sum_int8_null.1.adm:

Line 1: -112
> this seems to be wrong. please file an issue for this and meanwhile change 
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
File 
asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java:

Line 1406:         addPrivateFunction(SERIAL_LOCAL_SQL_STDDEV, 
LocalAvgTypeComputer.INSTANCE, true);
> should be LocalSingleVarStatisticsTypeComputer.INSTANCE
Done


Line 1407:         addPrivateFunction(SERIAL_INTERMEDIATE_SQL_STDDEV, 
LocalAvgTypeComputer.INSTANCE, true);
> should be LocalSingleVarStatisticsTypeComputer.INSTANCE
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/AbstractSerializableSingleVariableStatisticsAggregateFunction.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/serializable/std/AbstractSerializableSingleVariableStatisticsAggregateFunction.java:

Line 173:         moments m = new moments(m1, m2, count);
> let's not create a new object for each tuple. We need to figure out a way t
Fixed with the new class SingleVarFunctionsUtil


Line 194:             case TINYINT: {
> Remove { } from case blocks to fix this SonarQube complaint
Done


Line 279:         moments m = new moments(m1, m2, count);
> same comment. avoid object creation
Same as above


Line 303:                 int offset5 = 
ARecordSerializerDeserializer.getFieldOffsetById(serBytes, offset, 
COUNT_FIELD_ID,
> should be "offset3"
Done


https://asterix-gerrit.ics.uci.edu/#/c/2990/4/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSingleVarStatisticsAggregateFunction.java
File 
asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractSingleVarStatisticsAggregateFunction.java:

Line 96:                 new IAType[] { BuiltinType.ADOUBLE, 
BuiltinType.ADOUBLE, BuiltinType.AINT64 }, false);
> LocalSingleVarStatisticsTypeComputer says that "count"'s type in AINT32, bu
Done


Line 121:         double delta = val - m1;
> Need to figure out how to reuse this code together with AbstractSerializabl
Fixed by making a new class called SingleVarFunctionsUtil


PS4, Line 258: offset5
> should be "offset3", not "5"?
Done


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2990
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: Ia709669a9d20358f11ad28f453ae8ad8551f6334
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: James Fang <jfang...@ucr.edu>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dmitry.lycha...@couchbase.com>
Gerrit-Reviewer: James Fang <jfang...@ucr.edu>
Gerrit-Reviewer: Jenkins <jenk...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: Yes

Reply via email to