summaryrefslogtreecommitdiffstats
path: root/src/controller/actions/sel_save.c (plain)
blob: 424f10190c6d7259c588ca5c642e91d34fae7538
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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;
}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.