Github user njayaram2 commented on a diff in the pull request:
https://github.com/apache/madlib/pull/315#discussion_r214487281
--- 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))
+
+ _assert(is_var_valid(point_source, point_column_name),
+ "kNN error: Invalid point_column_name expression")
--- End diff --
Can we change the error message to indicate invalid column name or
expression? How about
`"kNN error: {0} is an invalid column name or expression for
point_column_name param".format(point_column_name)`?
---