Skip to content
Snippets Groups Projects
Commit a756a808 authored by Joris van Zwieten's avatar Joris van Zwieten
Browse files

BugID: 1037

- All add_<command type>_command() function now return the id of the newly added
  command.
- Replaced get_result by get_new_results that results a SETOF results and marks
  them as read.
parent fe38fa12
No related branches found
No related tags found
No related merge requests found
...@@ -246,10 +246,10 @@ LANGUAGE SQL; ...@@ -246,10 +246,10 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_finalize_command() CREATE OR REPLACE FUNCTION blackboard.add_finalize_command()
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
BEGIN BEGIN
PERFORM blackboard.add_command('finalize'); RETURN blackboard.add_command('finalize');
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -263,10 +263,10 @@ LANGUAGE SQL; ...@@ -263,10 +263,10 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_initialize_command() CREATE OR REPLACE FUNCTION blackboard.add_initialize_command()
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
BEGIN BEGIN
PERFORM blackboard.add_command('initialize'); RETURN blackboard.add_command('initialize');
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -280,10 +280,10 @@ LANGUAGE SQL; ...@@ -280,10 +280,10 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_nextchunk_command() CREATE OR REPLACE FUNCTION blackboard.add_nextchunk_command()
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
BEGIN BEGIN
PERFORM blackboard.add_command('nextchunk'); RETURN blackboard.add_command('nextchunk');
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -298,7 +298,7 @@ LANGUAGE SQL; ...@@ -298,7 +298,7 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_predict_command CREATE OR REPLACE FUNCTION blackboard.add_predict_command
(command_args blackboard.iface_predict_args) (command_args blackboard.iface_predict_args)
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
DECLARE DECLARE
_command_id INTEGER; _command_id INTEGER;
...@@ -306,6 +306,7 @@ $$ ...@@ -306,6 +306,7 @@ $$
_command_id := blackboard.add_command('predict'); _command_id := blackboard.add_command('predict');
command_args."Operation" := 'PREDICT'; command_args."Operation" := 'PREDICT';
PERFORM blackboard.add_single_step_args(_command_id, command_args); PERFORM blackboard.add_single_step_args(_command_id, command_args);
RETURN _command_id;
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -322,7 +323,7 @@ LANGUAGE SQL; ...@@ -322,7 +323,7 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_subtract_command CREATE OR REPLACE FUNCTION blackboard.add_subtract_command
(command_args blackboard.iface_subtract_args) (command_args blackboard.iface_subtract_args)
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
DECLARE DECLARE
_command_id INTEGER; _command_id INTEGER;
...@@ -330,6 +331,7 @@ $$ ...@@ -330,6 +331,7 @@ $$
_command_id := blackboard.add_command('subtract'); _command_id := blackboard.add_command('subtract');
command_args."Operation" := 'SUBTRACT'; command_args."Operation" := 'SUBTRACT';
PERFORM blackboard.add_single_step_args(_command_id, command_args); PERFORM blackboard.add_single_step_args(_command_id, command_args);
RETURN _command_id;
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -346,7 +348,7 @@ LANGUAGE SQL; ...@@ -346,7 +348,7 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_correct_command CREATE OR REPLACE FUNCTION blackboard.add_correct_command
(command_args blackboard.iface_correct_args) (command_args blackboard.iface_correct_args)
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
DECLARE DECLARE
_command_id INTEGER; _command_id INTEGER;
...@@ -354,6 +356,7 @@ $$ ...@@ -354,6 +356,7 @@ $$
_command_id := blackboard.add_command('correct'); _command_id := blackboard.add_command('correct');
command_args."Operation" := 'CORRECT'; command_args."Operation" := 'CORRECT';
PERFORM blackboard.add_single_step_args(_command_id, command_args); PERFORM blackboard.add_single_step_args(_command_id, command_args);
RETURN _command_id;
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -370,7 +373,7 @@ LANGUAGE SQL; ...@@ -370,7 +373,7 @@ LANGUAGE SQL;
CREATE OR REPLACE FUNCTION blackboard.add_solve_command CREATE OR REPLACE FUNCTION blackboard.add_solve_command
(command_args blackboard.iface_solve_args) (command_args blackboard.iface_solve_args)
RETURNS VOID AS RETURNS INTEGER AS
$$ $$
DECLARE DECLARE
_command_id INTEGER; _command_id INTEGER;
...@@ -397,6 +400,7 @@ $$ ...@@ -397,6 +400,7 @@ $$
command_args."Solve.ExclParms", command_args."Solve.ExclParms",
command_args."Solve.DomainSize.Freq", command_args."Solve.DomainSize.Freq",
command_args."Solve.DomainSize.Time"); command_args."Solve.DomainSize.Time");
RETURN _command_id;
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
...@@ -454,27 +458,26 @@ $$ ...@@ -454,27 +458,26 @@ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION blackboard.get_result() CREATE OR REPLACE FUNCTION blackboard.get_new_results()
RETURNS blackboard.result AS RETURNS SETOF blackboard.result AS
$$ $$
DECLARE DECLARE
_result blackboard.result%ROWTYPE; _result blackboard.result%ROWTYPE;
BEGIN BEGIN
SELECT * FOR _result IN
INTO _result SELECT *
FROM blackboard.result FROM blackboard.result
WHERE read_flag = 'false' WHERE read_flag = 'false'
ORDER BY timestamp ORDER BY timestamp
LIMIT 1; LOOP
IF FOUND THEN
UPDATE blackboard.result UPDATE blackboard.result
SET read_flag = 'true' SET read_flag = 'true'
WHERE command_id = _result.command_id WHERE command_id = _result.command_id
AND node = _result.node; AND node = _result.node;
END IF;
RETURN NEXT _result;
RETURN _result; END LOOP;
RETURN;
END; END;
$$ $$
LANGUAGE plpgsql; LANGUAGE plpgsql;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment