trio_asprintf(&stmt, "insert into %|Ss(%|Ss) values (%|Ss);",
bi->table_name, cols, vals);
- // XXX:fire statement, check result, check errors
- printf("\n%s\n",stmt);
+ // XXX: remove after testing
+ fprintf(stderr,"\n%s\n",stmt);
+
+ if (edg_wll_ExecStmt(bi->ctx,stmt,NULL) < 0) {
+ if (edg_wll_Error(bi->ctx,NULL,NULL) == EEXIST)
+ edg_wll_ResetError(bi->ctx);
+ }
/* reset bi counters */
bi->rec_size = 0;
free(vals);
free(stmt);
- return 0;
+ return edg_wll_Error(bi->ctx,NULL,NULL);
}
(bi->record_limit && bi->rec_num >= bi->record_limit))
{
if (flush_bufferd_insert(bi))
- return -1; // XXX use edg_wll_SetError(something)
+ return edg_wll_Error(bi->ctx,NULL,NULL);
}
va_end(l);
edg_wll_ErrorCode edg_wll_bufferedInsertClose(edg_wll_bufInsert *bi)
{
if (flush_bufferd_insert(bi))
- return -1; // XXX use edg_wll_SetError(something)
+ return edg_wll_Error(bi->ctx,NULL,NULL);
free_buffered_insert(bi);
return edg_wll_ResetError(bi->ctx);