EXEC SQL BEGIN DECLARE SECTION;
char tab[INCREMENTAL_TABLE_NAME_SIZE], serv[INCREMENTAL_SERVICE_SIZE];
EXEC SQL END DECLARE SECTION;
- struct iupdate *iu;
+ struct iupdate *iu, *iu_save;
if (!inited)
{
if (!strcmp(c->table, iu->table))
{
iu->service = c->service;
- sq_save_data(incremental_exec, iu);
- break;
+ iu_save = xmalloc(sizeof(struct iupdate));
+ iu_save->service = iu->service;
+ iu_save->table = iu->table;
+ iu_save->beforec = iu->beforec;
+ iu_save->afterc = iu->afterc;
+ iu_save->before = copy_argv(iu->before, iu->beforec);
+ iu_save->after = copy_argv(iu->after, iu->afterc);
+ sq_save_data(incremental_exec, iu_save);
}
}
if (!c)