mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-09-19 02:27:55 +08:00
free backend structures on exit
This commit is contained in:
@@ -1,3 +1,8 @@
|
|||||||
|
Mon Apr 12 09:56:23 EDT 2004 Brian Bruns <brian@bruns.com>
|
||||||
|
* include/mdbtools:
|
||||||
|
* src/libmdb/mem.c:
|
||||||
|
* src/libmdb/backend.c: free backends on exit (Jeff Smith)
|
||||||
|
|
||||||
Thu Mar 25 04:56:05 EST 2004 Brian Bruns <brian@bruns.com>
|
Thu Mar 25 04:56:05 EST 2004 Brian Bruns <brian@bruns.com>
|
||||||
* src/odbc/odbc.c(_SQLFreeStmt): call mdb_sql_reset on stmt drop (Jeff Smith)
|
* src/odbc/odbc.c(_SQLFreeStmt): call mdb_sql_reset on stmt drop (Jeff Smith)
|
||||||
|
|
||||||
|
@@ -446,6 +446,7 @@ extern char *mdb_get_coltype_string(MdbBackend *backend, int col_type);
|
|||||||
extern int mdb_coltype_takes_length(MdbBackend *backend, int col_type);
|
extern int mdb_coltype_takes_length(MdbBackend *backend, int col_type);
|
||||||
extern void mdb_init_backends();
|
extern void mdb_init_backends();
|
||||||
extern void mdb_register_backend(MdbBackend *backend, char *backend_name);
|
extern void mdb_register_backend(MdbBackend *backend, char *backend_name);
|
||||||
|
extern void mdb_remove_backends();
|
||||||
extern int mdb_set_default_backend(MdbHandle *mdb, char *backend_name);
|
extern int mdb_set_default_backend(MdbHandle *mdb, char *backend_name);
|
||||||
extern char *mdb_get_relationships(MdbHandle *mdb);
|
extern char *mdb_get_relationships(MdbHandle *mdb);
|
||||||
|
|
||||||
|
@@ -192,6 +192,17 @@ void mdb_register_backend(MdbBackend *backend, char *backend_name)
|
|||||||
{
|
{
|
||||||
g_hash_table_insert(mdb_backends,backend_name,backend);
|
g_hash_table_insert(mdb_backends,backend_name,backend);
|
||||||
}
|
}
|
||||||
|
static gboolean mdb_drop_backend(gpointer key, gpointer value, gpointer data)
|
||||||
|
{
|
||||||
|
MdbBackend *backend = (MdbBackend *)value;
|
||||||
|
g_free (backend);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
void mdb_remove_backends()
|
||||||
|
{
|
||||||
|
g_hash_table_foreach_remove(mdb_backends, mdb_drop_backend, NULL);
|
||||||
|
g_hash_table_destroy(mdb_backends);
|
||||||
|
}
|
||||||
int mdb_set_default_backend(MdbHandle *mdb, char *backend_name)
|
int mdb_set_default_backend(MdbHandle *mdb, char *backend_name)
|
||||||
{
|
{
|
||||||
MdbBackend *backend;
|
MdbBackend *backend;
|
||||||
|
@@ -31,8 +31,7 @@ void mdb_init()
|
|||||||
|
|
||||||
void mdb_exit()
|
void mdb_exit()
|
||||||
{
|
{
|
||||||
/* FIX ME -- need to deallocate backend structures */
|
mdb_remove_backends();
|
||||||
g_hash_table_destroy(mdb_backends);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MdbStatistics *mdb_alloc_stats(MdbHandle *mdb)
|
MdbStatistics *mdb_alloc_stats(MdbHandle *mdb)
|
||||||
|
Reference in New Issue
Block a user