Github user njayaram2 commented on a diff in the pull request: https://github.com/apache/madlib/pull/315#discussion_r214485621 --- Diff: src/ports/postgres/modules/knn/knn.py_in --- @@ -53,22 +55,12 @@ def knn_validate_src(schema_madlib, point_source, point_column_name, point_id, if label_column_name and label_column_name.strip(): cols_in_tbl_valid(point_source, [label_column_name], 'kNN') - cols_in_tbl_valid(point_source, (point_column_name, point_id), 'kNN') - cols_in_tbl_valid(test_source, (test_column_name, test_id), 'kNN') - - if not is_col_array(point_source, point_column_name): - plpy.error("kNN Error: Feature column '{0}' in train table is not" - " an array.".format(point_column_name)) - if not is_col_array(test_source, test_column_name): - plpy.error("kNN Error: Feature column '{0}' in test table is not" - " an array.".format(test_column_name)) - - if not array_col_has_no_null(point_source, point_column_name): - plpy.error("kNN Error: Feature column '{0}' in train table has some" - " NULL values.".format(point_column_name)) - if not array_col_has_no_null(test_source, test_column_name): - plpy.error("kNN Error: Feature column '{0}' in test table has some" - " NULL values.".format(test_column_name)) --- End diff -- I think we will need to keep these asserts too. They seem to be checking for a different validation. If the helper function `array_col_has_no_null()` does not work for expressions, please go ahead and change that, or create a new helper function to handle the scenario (both expressions and column names).
---