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;