Github user njayaram2 commented on a diff in the pull request: https://github.com/apache/madlib/pull/225#discussion_r161917948 --- Diff: src/ports/postgres/modules/knn/knn.sql_in --- @@ -412,7 +451,8 @@ CREATE OR REPLACE FUNCTION MADLIB_SCHEMA.knn( output_table, k, output_neighbors, - fn_dist + fn_dist, + weighted_avg --- End diff -- Two overloaded functions are missing (one seems to be an old issue, and the other is due to this PR): 1. ``` madlib.knn(point_source, point_column_name, point_id, label_column_name, test_source, test_column_name, test_id, output_table, k, output_neighbors, fn_dist ) ``` 2. ``` madlib.knn(point_source, point_column_name, point_id, label_column_name, test_source, test_column_name, test_id, output_table, k, output_neighbors ) ``` The first one is a call which does not have the last param specified, and the second function misses both the last two optional params. This should take in default values and work, but it currently fails. I just ran through the examples in the user docs, and got the following error for one of the examples: ``` greenplum=# SELECT * FROM madlib.knn( greenplum(# 'knn_train_data', -- Table of training data greenplum(# 'data', -- Col name of training data greenplum(# 'id', -- Col name of id in train data greenplum(# 'label', -- Training labels greenplum(# 'knn_test_data', -- Table of test data greenplum(# 'data', -- Col name of test data greenplum(# 'id', -- Col name of id in test data greenplum(# 'knn_result_classification', -- Output table greenplum(# 3, -- Number of nearest neighbors greenplum(# True, -- True to list nearest-neighbors by id greenplum(# 'madlib.squared_dist_norm2' -- Distance function greenplum(# ); ERROR: function madlib.knn(unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, integer, boolean, unknown) does not exist LINE 1: SELECT * FROM madlib.knn( ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. ```
---