--------------------------------------------------------------------------------
-- MADlib K-Means Clustering:
-- DB Migration >> roll back script
--------------------------------------------------------------------------------


-- These functions are commented out because they are dropped earlier
-- by the SVEC cascade drop.
-- DROP FUNCTION IF EXISTS MADLIB_SCHEMA.__kmeans_closestID( MADLIB_SCHEMA.SVEC, MADLIB_SCHEMA.SVEC[]);
-- DROP FUNCTION IF EXISTS MADLIB_SCHEMA.__kmeans_mean_finalize( MADLIB_SCHEMA.SVEC);
-- DROP FUNCTION IF EXISTS MADLIB_SCHEMA.__kmeans_mean_product( MADLIB_SCHEMA.SVEC, MADLIB_SCHEMA.SVEC);
-- DROP FUNCTION IF EXISTS MADLIB_SCHEMA.__kmeans_mean_aggr( MADLIB_SCHEMA.SVEC, MADLIB_SCHEMA.SVEC);
-- DROP AGGREGATE IF EXISTS MADLIB_SCHEMA.__kmeans_meanPosition( MADLIB_SCHEMA.SVEC);

DROP FUNCTION IF EXISTS MADLIB_SCHEMA.kmeans_run( input_table text, k int, goodness int, run_id text, output_table text);
