[patch] libmdbsql api cleanup

Nirgal <[email protected]> Mon, 8 Aug 2011 20:04:31 +0000
Newsgroups gmane.comp.db.mdb-tools.devel
Message-ID <[email protected]>
That patch unexport 3 symbols for libmdbsql:

mdb-sql and gmdb2 now properly call mdb_sql_run_query rather than accessing the yacc variables directly.

------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
The must-attend event for mobile developers. Connect with experts. 
Get tools for creating Super Apps. See the latest technologies.
Sessions, hands-on labs, demos & much more. Register early & save!
http://p.sf.net/sfu/rim-blackberry-1

_______________________________________________
mdbtools-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mdbtools-dev
noyyexport.diff (text/x-patch, 2.5 KB)
Author: Nirgl Vourgère <[email protected]>
Date: 2011-08-08T142700
Description: Stop exporting internal libmdbsql symbols
Index: mdbtools-0.6pre1/src/sql/libmdbsql.map
===================================================================
--- mdbtools-0.6pre1.orig/src/sql/libmdbsql.map
+++ mdbtools-0.6pre1/src/sql/libmdbsql.map
@@ -5,9 +5,6 @@
 #LIBMDBSQL_2.0 {
 global:
 	mdb_sql_*;
-	g_input_ptr;
-	_mdb_sql;
-	yyparse;
 
 local:
 	*;
Index: mdbtools-0.6pre1/src/gmdb2/sql.c
===================================================================
--- mdbtools-0.6pre1.orig/src/gmdb2/sql.c
+++ mdbtools-0.6pre1/src/gmdb2/sql.c
@@ -386,20 +386,7 @@
 	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 @@
 		gtk_widget_destroy (dlg);
 		mdb_sql_reset(sql);
 		return;
-        }
+	}
 
 	treeview = glade_xml_get_widget(xml, "sql_results");
 
Index: mdbtools-0.6pre1/src/util/mdb-sql.c
===================================================================
--- mdbtools-0.6pre1.orig/src/util/mdb-sql.c
+++ mdbtools-0.6pre1/src/util/mdb-sql.c
@@ -55,7 +55,6 @@
 
 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 @@
 }
 #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 @@
 {
 	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);