Browse Source

- move new_result and free_columns function to db directory
- remove the implementation of this functions in all database modules
- still missing
- postgresql and db_berkeley implement different, more thouroughly
free methods for colums and such
- review if we can use the common functions like the other three modules


git-svn-id: https://openser.svn.sourceforge.net/svnroot/openser/trunk@2871 689a6050-402a-0410-94f2-e92a70836424

Henning Westerholt 18 years ago
parent
commit
bf80253428

+ 0 - 16
modules/db_berkeley/km_bdb_res.c

@@ -499,22 +499,6 @@ int* sc_get_colmap(table_p _dtp, db_key_t* _k, int _n)
 }
 }
 
 
 
 
-db_res_t* sc_result_new(void)
-{
-	db_res_t* _res = NULL;
-	_res = (db_res_t*)pkg_malloc(sizeof(db_res_t));
-	if (!_res) 
-	{
-		LM_ERR("Failed to allocate %lu bytes for result structure\n"
-			, (unsigned long)sizeof(db_res_t));
-		return NULL;
-	}
-	
-	memset(_res, 0, sizeof(db_res_t));
-	return _res;
-}
-
-
 int sc_free_result(db_res_t* _res)
 int sc_free_result(db_res_t* _res)
 {
 {
 	sc_free_columns(_res);
 	sc_free_columns(_res);

+ 0 - 1
modules/db_berkeley/km_bdb_res.h

@@ -53,7 +53,6 @@ int sc_convert_row( db_res_t* _res, char *bdb_result, int* _lres);
 int sc_append_row(db_res_t* _res, char *bdb_result, int* _lres, int _rx);
 int sc_append_row(db_res_t* _res, char *bdb_result, int* _lres, int _rx);
 int* sc_get_colmap(table_p _tp, db_key_t* _k, int _n);
 int* sc_get_colmap(table_p _tp, db_key_t* _k, int _n);
 
 
-db_res_t*  sc_result_new(void);
 int sc_free_result(db_res_t* _res);
 int sc_free_result(db_res_t* _res);
 int sc_free_columns(db_res_t* _res);
 int sc_free_columns(db_res_t* _res);
 int sc_free_rows(db_res_t* _res);
 int sc_free_rows(db_res_t* _res);

+ 4 - 3
modules/db_berkeley/km_db_berkeley.c

@@ -36,6 +36,7 @@
 #include "../../mem/mem.h"
 #include "../../mem/mem.h"
 
 
 #include "../../sr_module.h"
 #include "../../sr_module.h"
+#include "../../db/db_res.h"
 #include "db_berkeley.h"
 #include "db_berkeley.h"
 #include "bdb_lib.h"
 #include "bdb_lib.h"
 #include "bdb_res.h"
 #include "bdb_res.h"
@@ -428,7 +429,7 @@ int sc_query(db_con_t* _con, db_key_t* _k, db_op_t* _op, db_val_t* _v,
 		LM_DBG("%i = SELECT COUNT(*) FROM %.*s\n", i, _tp->name.len, _tp->name.s);
 		LM_DBG("%i = SELECT COUNT(*) FROM %.*s\n", i, _tp->name.len, _tp->name.s);
 #endif
 #endif
 
 
-		*_r = sc_result_new();
+		*_r = db_new_result();
 		if (!*_r) 
 		if (!*_r) 
 		{	LM_ERR("no memory left for result \n");
 		{	LM_ERR("no memory left for result \n");
 			ret = -2;
 			ret = -2;
@@ -504,7 +505,7 @@ int sc_query(db_con_t* _con, db_key_t* _k, db_op_t* _op, db_val_t* _v,
 	data.flags = DB_DBT_USERMEM;
 	data.flags = DB_DBT_USERMEM;
 
 
 	/*create an empty db_res_t which gets returned even if no result*/
 	/*create an empty db_res_t which gets returned even if no result*/
-	*_r = sc_result_new();
+	*_r = db_new_result();
 	if (!*_r) 
 	if (!*_r) 
 	{	LM_ERR("no memory left for result \n");
 	{	LM_ERR("no memory left for result \n");
 		ret = -2;
 		ret = -2;
@@ -926,7 +927,7 @@ int _sc_delete_cursor(db_con_t* _h, db_key_t* _k, db_op_t* _op, db_val_t* _v, in
 	}
 	}
 	
 	
 	/* create an empty db_res_t which gets returned even if no result */
 	/* create an empty db_res_t which gets returned even if no result */
-	_r = sc_result_new();
+	_r = db_new_result();
 	if (!_r) 
 	if (!_r) 
 	{	LM_ERR("no memory for result \n");
 	{	LM_ERR("no memory for result \n");
 	}
 	}