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.
```
---
|