From f3b0517e4e02a3e6445c50b42176bc138b1bf6cb Mon Sep 17 00:00:00 2001
From: Joris van Zwieten <zwieten@astron.nl>
Date: Fri, 22 Dec 2006 12:42:59 +0000
Subject: [PATCH] BugID: 987 - changed API: add_solve_arguments ->
 add_solve_step, so API ensures consistency (i.e.   with the change it is
 harder to add a solve step without solve arguments.

---
 .../sql/create_blackboard_functions.sql       | 28 +++++++++++++++----
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/CEP/BB/BBSControl/sql/create_blackboard_functions.sql b/CEP/BB/BBSControl/sql/create_blackboard_functions.sql
index 99cf69cb588..a5cb4099599 100644
--- a/CEP/BB/BBSControl/sql/create_blackboard_functions.sql
+++ b/CEP/BB/BBSControl/sql/create_blackboard_functions.sql
@@ -119,17 +119,33 @@ $$
 LANGUAGE plpgsql;
 
 
--- Function: blackboard.add_solve_arguments
+-- Function: blackboard.add_solve_step
 -- Full signature:
--- blackboard.add_solve_arguments(step_id INTEGER, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT[], "ExclParms" TEXT[], "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
-CREATE OR REPLACE FUNCTION blackboard.add_solve_arguments(INTEGER, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT[], TEXT[], DOUBLE PRECISION, DOUBLE PRECISION)
+-- blackboard.add_solve_step("Name" TEXT, "Baselines.Station1" TEXT[], "Baselines.Station2" TEXT[], "Correlation.Selection" TEXT, "Correlation.Type" TEXT[], "Sources" TEXT[], "InstrumentModel" TEXT[], "OutputData" TEXT, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT[], "ExclParms" TEXT[], "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
+CREATE OR REPLACE FUNCTION blackboard.add_solve_step(TEXT, TEXT[], TEXT[], TEXT, TEXT[], TEXT[], TEXT[], TEXT, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT[], TEXT[], DOUBLE PRECISION, DOUBLE PRECISION)
 RETURNS VOID AS
 $$
-    INSERT INTO blackboard.solve_arguments(step_id, "MaxIter", "Epsilon", "MinConverged", "Parms", "ExclParms", "DomainSize.Freq", "DomainSize.Time")
-        VALUES ($1, $2, $3, $4, $5, $6, $7, $8);
+    DECLARE
+        _step_id INTEGER;
+    BEGIN
+        _step_id := blackboard.add_step($1, 'SOLVE', $2, $3, $4, $5, $6, $7, $8);
+        INSERT INTO blackboard.solve_arguments(step_id, "MaxIter", "Epsilon", "MinConverged", "Parms", "ExclParms", "DomainSize.Freq", "DomainSize.Time")
+            VALUES (_step_id, $9, $10, $11, $12, $13, $14, $15);
+    END;
 $$
-LANGUAGE SQL;
+LANGUAGE plpgsql;
+
 
+-- Function: blackboard.add_solve_arguments
+-- Full signature:
+-- blackboard.add_solve_arguments(_step_id INTEGER, "MaxIter" INTEGER, "Epsilon" DOUBLE PRECISION, "MinConverged" DOUBLE PRECISION, "Parms" TEXT[], "ExclParms" TEXT[], "DomainSize.Freq" DOUBLE PRECISION, "DomainSize.Time" DOUBLE PRECISION)
+--CREATE OR REPLACE FUNCTION blackboard.add_solve_arguments(INTEGER, INTEGER, DOUBLE PRECISION, DOUBLE PRECISION, TEXT[], TEXT[], DOUBLE PRECISION, DOUBLE PRECISION)
+--RETURNS VOID AS
+--$$
+--    INSERT INTO blackboard.solve_arguments(step_id, "MaxIter", "Epsilon", "MinConverged", "Parms", "ExclParms", "DomainSize.Freq", "DomainSize.Time")
+--        VALUES ($1, $2, $3, $4, $5, $6, $7, $8);
+--$$
+--LANGUAGE SQL;
 
 
 -- ----------------- --
-- 
GitLab