#include "../../util/check_error.h" #include "../../view/state0.h" #include "sel_save.h" #include "sqlca.h" #include extern struct sqlca sqlca; /* * A simple alias to make the code more readable. */ #define S state0 void sel_save (void) { EXEC SQL BEGIN DECLARE SECTION; char gi[255]; EXEC SQL END DECLARE SECTION; /* * WHERE gi IS NOT NULL is added to prevent the PRECOMPILE command * from throwing a warning about modifying an entire table. Since * gi is defined as NOT NULL this will clear the entire table. */ EXEC SQL DELETE FROM vis_selection WHERE gi IS NOT NULL; check_error (__FILE__, __LINE__); for (unsigned int i = 0; i < S.rows; i++) { if (S.selection.set[i] == true) { strncpy (gi, S.gi_data + i + 3, sizeof (gi)); EXEC SQL INSERT INTO vis_selection VALUES (:gi); } } EXEC SQL COMMIT; check_error (__FILE__, __LINE__); return; }