36 files changed, 332 insertions, 176 deletions
diff --git a/src/controller/actions/sel_save.c b/src/controller/actions/sel_save.c new file mode 100644 index 0000000..424f101 --- a/dev/null +++ b/src/controller/actions/sel_save.c @@ -0,0 +1,141 @@ +static char sqla_program_id[292] = +{ + 172,0,65,69,65,78,65,73,108,65,118,119,77,82,73,90,48,49,49,49, + 49,32,50,32,32,32,32,32,32,32,32,32,8,0,68,79,78,32,32,32, + 32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,8,0,83,69,76,95,83,65,86,69,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0 +}; + +#include "sqladef.h" + +static struct sqla_runtime_info sqla_rtinfo = +{{'S','Q','L','A','R','T','I','N'}, sizeof(wchar_t), 0, {' ',' ',' ',' '}}; + + +static const short sqlIsLiteral = SQL_IS_LITERAL; +static const short sqlIsInputHvar = SQL_IS_INPUT_HVAR; + + +#line 1 "sel_save.sqc" +#include "../../util/check_error.h" +#include "../../view/exp004state0.h" +#include "sel_save.h" +#include "sqlca.h" +#include <string.h> +extern struct sqlca sqlca; + +/* + * A simple alias to make the code more readable. + */ +#define S exp004state0 + +void +sel_save (void) +{ + +/* +EXEC SQL BEGIN DECLARE SECTION; +*/ + +#line 16 "sel_save.sqc" + + char gi[255]; + +/* +EXEC SQL END DECLARE SECTION; +*/ + +#line 18 "sel_save.sqc" + + + /* + * 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; +*/ + +{ +#line 25 "sel_save.sqc" + sqlastrt(sqla_program_id, &sqla_rtinfo, &sqlca); +#line 25 "sel_save.sqc" + sqlacall((unsigned short)24,1,0,0,0L); +#line 25 "sel_save.sqc" + sqlastop(0L); +} + +#line 25 "sel_save.sqc" + + 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); +*/ + +{ +#line 33 "sel_save.sqc" + sqlastrt(sqla_program_id, &sqla_rtinfo, &sqlca); +#line 33 "sel_save.sqc" + sqlaaloc(2,1,1,0L); + { + struct sqla_setdata_list sql_setdlist[1]; +#line 33 "sel_save.sqc" + sql_setdlist[0].sqltype = 460; sql_setdlist[0].sqllen = 255; +#line 33 "sel_save.sqc" + sql_setdlist[0].sqldata = (void*)gi; +#line 33 "sel_save.sqc" + sql_setdlist[0].sqlind = 0L; +#line 33 "sel_save.sqc" + sqlasetdata(2,0,1,sql_setdlist,0L,0L); + } +#line 33 "sel_save.sqc" + sqlacall((unsigned short)24,2,2,0,0L); +#line 33 "sel_save.sqc" + sqlastop(0L); +} + +#line 33 "sel_save.sqc" + + } + } + + +/* +EXEC SQL COMMIT; +*/ + +{ +#line 37 "sel_save.sqc" + sqlastrt(sqla_program_id, &sqla_rtinfo, &sqlca); +#line 37 "sel_save.sqc" + sqlacall((unsigned short)21,0,0,0,0L); +#line 37 "sel_save.sqc" + sqlastop(0L); +} + +#line 37 "sel_save.sqc" + + check_error (__FILE__, __LINE__); + + return; +} |