Github user njayaram2 commented on a diff in the pull request:
https://github.com/apache/madlib/pull/315#discussion_r213807744
--- Diff: src/ports/postgres/modules/knn/test/knn.sql_in ---
@@ -122,5 +122,13 @@ select
knn('knn_train_data_reg','data','id','label','knn_test_data','data','id',
select assert(array_agg(prediction::numeric order by
id)='{1,1,0.0408728591876018,1,0,0}', 'Wrong output in regression') from
madlib_knn_result_regression;
+drop table if exists madlib_knn_result_classification;
+select
knn('knn_train_data','data[1:1]||data[2:2]','id','label','knn_test_data','data[1:1]||data[2:2]','id','madlib_knn_result_classification',3,False,'MADLIB_SCHEMA.squared_dist_norm2',
True);
+select assert(array_agg(prediction::numeric order by id)='{1,1,0,1,0,0}',
'Wrong output in classification') from madlib_knn_result_classification;
+
+drop table if exists madlib_knn_result_regression;
+select
knn('knn_train_data_reg','data[1:1]||data[2:2]','id','label','knn_test_data','data[1:1]||data[2:2]','id','madlib_knn_result_regression',3,False,'MADLIB_SCHEMA.squared_dist_norm2',
True);
+select assert(array_agg(prediction::numeric order by
id)='{1,1,0.0408728591876018,1,0,0}', 'Wrong output in regression') from
madlib_knn_result_regression;
+
--- End diff --
We could add another test case, where we use `ARRAY(d1, d2)` as the
expression, say for `point_column_name`. Of course, you will then have to add
two new columns d1 and d2 while creating the input table `knn_train_data` in
that case.
---