diff --git a/src/gmdb2/sql.c b/src/gmdb2/sql.c index 8f89a39..5599b77 100644 --- a/src/gmdb2/sql.c +++ b/src/gmdb2/sql.c @@ -386,20 +386,7 @@ gmdb_sql_execute_cb(GtkWidget *w, GladeXML *xml) gtk_combo_set_popdown_strings(GTK_COMBO(combo), history); /* ok now execute it */ - g_input_ptr = buf; - /* begin unsafe */ - _mdb_sql(sql); - mdb_sql_clear_error(sql); - if (yyparse()) { - /* end unsafe */ - GtkWidget* dlg = gtk_message_dialog_new (GTK_WINDOW (gtk_widget_get_toplevel (w)), - GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, - _("Couldn't parse SQL.")); - gtk_dialog_run (GTK_DIALOG (dlg)); - gtk_widget_destroy (dlg); - mdb_sql_reset(sql); - return; - } + mdb_sql_run_query(sql, buf); if (mdb_sql_has_error(sql)) { GtkWidget* dlg = gtk_message_dialog_new (GTK_WINDOW (gtk_widget_get_toplevel (w)), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE, @@ -408,7 +395,7 @@ gmdb_sql_execute_cb(GtkWidget *w, GladeXML *xml) gtk_widget_destroy (dlg); mdb_sql_reset(sql); return; - } + } treeview = glade_xml_get_widget(xml, "sql_results"); diff --git a/src/util/mdb-sql.c b/src/util/mdb-sql.c index caa3a1f..a70a2f0 100644 --- a/src/util/mdb-sql.c +++ b/src/util/mdb-sql.c @@ -55,7 +55,6 @@ extern void clear_history (); void dump_results(FILE *out, MdbSQL *sql, char *delimiter); void dump_results_pp(FILE *out, MdbSQL *sql); -int yyparse(void); #if SQL @@ -92,21 +91,6 @@ int i = 0; } #endif -int parse(MdbSQL *sql, char *buf) -{ - g_input_ptr = buf; - /* begin unsafe */ - _mdb_sql(sql); - if (yyparse()) { - /* end unsafe */ - fprintf(stderr, "Couldn't parse SQL\n"); - mdb_sql_reset(sql); - return 1; - } else { - return 0; - } -} - void do_set_cmd(MdbSQL *sql, char *s) { @@ -204,7 +188,8 @@ run_query(FILE *out, MdbSQL *sql, char *mybuf, char *delimiter) { MdbTableDef *table; - if (!parse(sql, mybuf) && sql->cur_table) { + mdb_sql_run_query(sql, mybuf); + if (!mdb_sql_has_error(sql)) { if (showplan) { table = sql->cur_table; if (table->sarg_tree) mdb_sql_dump_node(table->sarg_tree, 0);