diff --git a/methods/k-means/src/pg_gp/kmeans_create.sql_in b/methods/k-means/src/pg_gp/kmeans_create.sql_in index 648e8ff4b..8ce1bafc2 100644 --- a/methods/k-means/src/pg_gp/kmeans_create.sql_in +++ b/methods/k-means/src/pg_gp/kmeans_create.sql_in @@ -234,12 +234,15 @@ CREATE AGGREGATE MADLIB_SCHEMA.__kmeans_meanPosition( MADLIB_SCHEMA.SVEC ) CREATE OR REPLACE FUNCTION MADLIB_SCHEMA.kmeans_run( input_table text, k int, goodness int, run_id text, output_table text) RETURNS text AS $$ - - from madlib import kmeans - - plpy.execute( 'set client_min_messages=warning'); - return kmeans.kmeans_run( input_table, k, goodness, run_id, output_table); - + import sys + try: + from madlib import kmeans + except: + sys.path.append("PLPYTHON_LIBDIR") + from madlib import kmeans + + plpy.execute( 'set client_min_messages=warning'); + return kmeans.kmeans_run( input_table, k, goodness, run_id, output_table); $$ LANGUAGE plpythonu; -COMMIT; \ No newline at end of file +COMMIT; diff --git a/methods/profile/src/pg_gp/profile_create.sql_in b/methods/profile/src/pg_gp/profile_create.sql_in index 3cddbc77d..7c9583357 100644 --- a/methods/profile/src/pg_gp/profile_create.sql_in +++ b/methods/profile/src/pg_gp/profile_create.sql_in @@ -79,10 +79,13 @@ seems to be present as of version 2.3.2. The simple workaround is to use CREATE OR REPLACE FUNCTION MADLIB_SCHEMA.profile_run( input_table text) RETURNS text AS $$ - - from madlib import profile - - plpy.execute( 'set client_min_messages=warning'); - return profile.profile_run( input_table); - -$$ LANGUAGE plpythonu; \ No newline at end of file + import sys + try: + from madlib import profile + except: + sys.path.append("PLPYTHON_LIBDIR") + from madlib import profile + + plpy.execute( 'set client_min_messages=warning'); + return profile.profile_run( input_table); +$$ LANGUAGE plpythonu; diff --git a/methods/regress/src/pg_gp/logRegress.py_in b/methods/regress/src/pg_gp/logRegress.py_in index 29ea5d523..09e6cf100 100644 --- a/methods/regress/src/pg_gp/logRegress.py_in +++ b/methods/regress/src/pg_gp/logRegress.py_in @@ -227,7 +227,7 @@ def compute_logregr_coef(**kwargs): in the log-likelihood of less than precision. In other words, we terminate if the objective function value has converged. If this parameter is 0.0, then the algorithm will not check for - convergence and only terminate after numIterations + convergence and only terminate after numIterations iterations. @return array with coefficients in case of convergence, otherwise None diff --git a/methods/regress/src/pg_gp/regression.sql_in b/methods/regress/src/pg_gp/regression.sql_in index 3a931e68d..b4e709109 100644 --- a/methods/regress/src/pg_gp/regression.sql_in +++ b/methods/regress/src/pg_gp/regression.sql_in @@ -501,7 +501,13 @@ CREATE FUNCTION MADLIB_SCHEMA.logregr_coef( "depColumn" VARCHAR, "indepColumn" VARCHAR) RETURNS DOUBLE PRECISION[] AS $$ - from madlib import logRegress + import sys + try: + ifdef(DEBUG,,from madlib )import logRegress + except: + sys.path.append("PLPYTHON_LIBDIR") + ifdef(DEBUG,,from madlib )import logRegress + return logRegress.compute_logregr_coef(**globals()) $$ LANGUAGE plpythonu VOLATILE; @@ -511,7 +517,13 @@ CREATE FUNCTION MADLIB_SCHEMA.logregr_coef( "indepColumn" VARCHAR, "numIterations" INTEGER) RETURNS DOUBLE PRECISION[] AS $$ - from madlib import logRegress + import sys + try: + ifdef(DEBUG,,from madlib )import logRegress + except: + sys.path.append("PLPYTHON_LIBDIR") + ifdef(DEBUG,,from madlib )import logRegress + return logRegress.compute_logregr_coef(**globals()) $$ LANGUAGE plpythonu VOLATILE; @@ -522,7 +534,13 @@ CREATE FUNCTION MADLIB_SCHEMA.logregr_coef( "numIterations" INTEGER, "optimizer" VARCHAR) RETURNS DOUBLE PRECISION[] AS $$ - from madlib import logRegress + import sys + try: + ifdef(DEBUG,,from madlib )import logRegress + except: + sys.path.append("PLPYTHON_LIBDIR") + ifdef(DEBUG,,from madlib )import logRegress + return logRegress.compute_logregr_coef(**globals()) $$ LANGUAGE plpythonu VOLATILE; @@ -553,7 +571,8 @@ $$ LANGUAGE plpythonu VOLATILE; * 0.001); * * @internal - * @sa This function is a wrapper for logRegress::compute_logregr_coef(). + * @sa This function is a wrapper for logRegress::compute_logregr_coef(), which + * sets the default values. */ CREATE FUNCTION MADLIB_SCHEMA.logregr_coef( "source" VARCHAR, @@ -563,7 +582,13 @@ CREATE FUNCTION MADLIB_SCHEMA.logregr_coef( "optimizer" VARCHAR /*+ DEFAULT 'irls' */, "precision" DOUBLE PRECISION /*+ DEFAULT 0.0001 */) RETURNS DOUBLE PRECISION[] AS $$ - from madlib import logRegress + import sys + try: + ifdef(DEBUG,,from madlib )import logRegress + except: + sys.path.append("PLPYTHON_LIBDIR") + ifdef(DEBUG,,from madlib )import logRegress + return logRegress.compute_logregr_coef(**globals()) $$ LANGUAGE plpythonu VOLATILE; diff --git a/methods/svd-mf/src/pg_gp/svdmf_create.sql_in b/methods/svd-mf/src/pg_gp/svdmf_create.sql_in index 20c8705bb..509232671 100644 --- a/methods/svd-mf/src/pg_gp/svdmf_create.sql_in +++ b/methods/svd-mf/src/pg_gp/svdmf_create.sql_in @@ -127,10 +127,13 @@ CREATE OR REPLACE FUNCTION MADLIB_SCHEMA.svdmf_run( ) RETURNS TEXT AS $$ - - from madlib import svdmf - - plpy.execute( 'set client_min_messages=warning'); - return svdmf.svdmf_run( input_table, col_name, row_name, value, num_features); - + import sys + try: + from madlib import svdmf + except: + sys.path.append("PLPYTHON_LIBDIR") + from madlib import svdmf + + plpy.execute( 'set client_min_messages=warning'); + return svdmf.svdmf_run( input_table, col_name, row_name, value, num_features); $$ LANGUAGE plpythonu;