diff --git a/src/odbc/Makefile.am b/src/odbc/Makefile.am index f1e91bf..4f7c972 100644 --- a/src/odbc/Makefile.am +++ b/src/odbc/Makefile.am @@ -11,11 +11,7 @@ noinst_PROGRAMS = unittest lib_LTLIBRARIES = libmdbodbc.la AM_CPPFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(ODBC_CFLAGS) libmdbodbc_la_SOURCES= odbc.c connectparams.c -libmdbodbc_la_LIBADD= $(patsubst %, $(SQLDIR)/%, \ - $(patsubst %.c, %.lo, $(SQLSOURCES))) \ - $(patsubst %, $(MDBDIR)/%, \ - $(patsubst %.c, %.lo, $(MDBSOURCES))) \ - ../libmdb/libmdb.la +libmdbodbc_la_LIBADD= ../libmdb/libmdb.la ../sql/libmdbsql.la libmdbodbc_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libmdbodbc.map LIBS = @LEXLIB@ $(GLIB_LIBS) $(ODBC_LIBS) unittest_LDADD = libmdbodbc.la ../libmdb/libmdb.la ../sql/libmdbsql.la diff --git a/src/odbc/odbc.c b/src/odbc/odbc.c index a2729ff..c525326 100644 --- a/src/odbc/odbc.c +++ b/src/odbc/odbc.c @@ -960,13 +960,8 @@ static SQLRETURN SQL_API _SQLExecute( SQLHSTMT hstmt) mdb_sql_reset(env->sql); - /* calls to yyparse would need to be serialized for thread safety */ - - /* begin unsafe */ - g_input_ptr = stmt->query; - _mdb_sql(env->sql); - if (yyparse()) { - /* end unsafe */ + mdb_sql_run_query(env->sql, stmt->query); + if (mdb_sql_has_error(env->sql)) { LogError("Couldn't parse SQL\n"); mdb_sql_reset(env->sql); return SQL_ERROR;