int main(int argc, char **argv) { EditLine *el; History *hist; const char *buf; int num, state; check_args(argc, argv); if(connect_uri) { sql_conn = sql_connect(connect_uri); if(!sql_conn) { fprintf(stderr, "%s: [%s] %s\n", short_program_name, sql_sqlstate(NULL), sql_error(NULL)); exit(EXIT_FAILURE); } } fprintf(stderr, "%s interactive SQL shell (%s)\n\n", PACKAGE, VERSION); fprintf(stderr, "Type: \\c URI to establish a new connection\n" " \\g or ; to execute query\n" " \\G to execute the query showing results in long format\n" " \\q to end the SQL session\n" "\n" ); hist = history_init(); el = el_init(argv[0], stdin, stdout, stderr); el_set(el, EL_EDITOR, "emacs"); el_set(el, EL_SIGNAL, 1); el_set(el, EL_PROMPT, prompt); el_set(el, EL_HIST, history, hist); el_source(el, NULL); while((buf = el_gets(el, &num)) != NULL && num != 0) { state = parse_query(buf); if(state == 0) { exec_queries(hist); } } return 0; }
BOOL ddi_recall(CwtDBHandler *dbh, CwtDDI *ddi, int flags) { return exec_queries(dbh, ddi, flags, dbh->driver()->specForRecall); }
BOOL ddi_deploy(CwtDBHandler *dbh, CwtDDI *ddi, int flags) { return exec_queries(dbh, ddi, flags, dbh->driver()->specForDeploy); }