Browse Source

modules/db_mysql: Implement affected_rows for mysql

Alex Hermann 14 years ago
parent
commit
588d1ffbb7
3 changed files with 24 additions and 2 deletions
  1. 1 1
      modules/db_mysql/km_db_mysql.c
  2. 16 1
      modules/db_mysql/km_dbase.c
  3. 7 0
      modules/db_mysql/km_dbase.h

+ 1 - 1
modules/db_mysql/km_db_mysql.c

@@ -114,7 +114,7 @@ int db_mysql_bind_api(db_func_t *dbb)
 	dbb->last_inserted_id = db_mysql_last_inserted_id;
 	dbb->insert_update    = db_mysql_insert_update;
 	dbb->insert_delayed   = db_mysql_insert_delayed;
+	dbb->affected_rows    = db_mysql_affected_rows;
 
 	return 0;
 }
-

+ 16 - 1
modules/db_mysql/km_dbase.c

@@ -480,7 +480,22 @@ int db_mysql_last_inserted_id(const db1_con_t* _h)
 }
 
 
- /**
+/**
+ * Returns the affected rows of the last query.
+ * \param _h database handle
+ * \return returns the affected rows as integer or -1 on error.
+ */
+int db_mysql_affected_rows(const db1_con_t* _h)
+{
+	if (!_h) {
+		LM_ERR("invalid parameter value\n");
+		return -1;
+	}
+	return (int)mysql_affected_rows(CON_CONNECTION(_h));
+}
+
+
+/**
   * Insert a row into a specified table, update on duplicate key.
   * \param _h structure representing database connection
   * \param _k key names

+ 7 - 0
modules/db_mysql/km_dbase.h

@@ -111,6 +111,13 @@ int db_mysql_replace(const db1_con_t* handle, const db_key_t* keys, const db_val
  */
 int db_mysql_last_inserted_id(const db1_con_t* _h);
 
+
+/*! \brief
+ * Returns number of affected rows for last query
+ */
+int db_mysql_affected_rows(const db1_con_t* _h);
+
+
 /*! \brief
  * Insert a row into table, update on duplicate key
  */