From 78b84e45b2e36e2f105b219f29200425e18dcddd Mon Sep 17 00:00:00 2001
From: Danny Auble <da@schedmd.com>
Date: Wed, 16 Jul 2014 13:53:31 -0700
Subject: [PATCH] Put new debug flags to use.

---
 .../mysql/accounting_storage_mysql.c          | 85 +++++++++-------
 .../accounting_storage/mysql/as_mysql_acct.c  | 26 +++--
 .../mysql/as_mysql_archive.c                  | 52 +++++-----
 .../accounting_storage/mysql/as_mysql_assoc.c | 99 ++++++++++---------
 .../mysql/as_mysql_cluster.c                  | 61 +++++++-----
 .../accounting_storage/mysql/as_mysql_job.c   | 53 +++++-----
 .../mysql/as_mysql_jobacct_process.c          | 24 ++---
 .../mysql/as_mysql_problems.c                 |  4 +-
 .../accounting_storage/mysql/as_mysql_qos.c   | 19 ++--
 .../mysql/as_mysql_resource.c                 | 93 +++++++++--------
 .../accounting_storage/mysql/as_mysql_resv.c  | 16 +--
 .../mysql/as_mysql_rollup.c                   | 58 ++++++-----
 .../accounting_storage/mysql/as_mysql_txn.c   |  8 +-
 .../accounting_storage/mysql/as_mysql_usage.c | 12 +--
 .../accounting_storage/mysql/as_mysql_user.c  | 27 ++---
 .../accounting_storage/mysql/as_mysql_wckey.c | 24 +++--
 16 files changed, 363 insertions(+), 298 deletions(-)

diff --git a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
index 3bbfd961e80..04edab8c49f 100644
--- a/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
+++ b/src/plugins/accounting_storage/mysql/accounting_storage_mysql.c
@@ -317,8 +317,8 @@ static bool _check_jobs_before_remove(mysql_conn_t *mysql_conn,
 			assoc_char);
 	}
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return rc;
@@ -385,8 +385,10 @@ static bool _check_jobs_before_remove_assoc(mysql_conn_t *mysql_conn,
 			cluster_name, assoc_table,
 			assoc_char);
 	}
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
+
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -424,8 +426,9 @@ static bool _check_jobs_before_remove_without_assoctable(
 			       "where (%s) limit 1;",
 			       cluster_name, job_table, where_char);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
+
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -744,6 +747,8 @@ static int _as_mysql_acct_check_tables(mysql_conn_t *mysql_conn)
 					"on duplicate key update "
 					"id=LAST_INSERT_ID(id), deleted=0;",
 					qos_table, now, now, qos);
+				if (debug_flags & DEBUG_FLAG_DB_QOS)
+					DB_DEBUG(mysql_conn->conn, "%s", query);
 				qos_id = mysql_db_insert_ret_id(
 					mysql_conn, query);
 				if (!qos_id)
@@ -762,7 +767,8 @@ static int _as_mysql_acct_check_tables(mysql_conn_t *mysql_conn)
 				"on duplicate key update "
 				"id=LAST_INSERT_ID(id), deleted=0;",
 				qos_table, now, now);
-			//debug3("%s", query);
+			if (debug_flags & DEBUG_FLAG_DB_QOS)
+				DB_DEBUG(mysql_conn->conn, "%s", query);
 			qos_id = mysql_db_insert_ret_id(mysql_conn, query);
 			if (!qos_id)
 				fatal("problem added qos 'normal");
@@ -815,7 +821,7 @@ static int _as_mysql_acct_check_tables(mysql_conn_t *mysql_conn)
 		   "update name='root';",
 		   acct_table, (long)now, (long)now);
 
-	//debug3("%s", query);
+	//DB_DEBUG(mysql_conn->conn, "%s", query);
 	mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -870,7 +876,9 @@ extern int last_affected_rows(mysql_conn_t *mysql_conn)
 					rows = status;
 			}
 		if ((status = mysql_next_result(mysql_conn->db_conn)) > 0)
-			debug3("Could not execute statement\n");
+			if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+				DB_DEBUG(mysql_conn->conn,
+					 "Could not execute statement\n");
 	} while (status == 0);
 
 	return rows;
@@ -1139,8 +1147,8 @@ extern int create_cluster_tables(mysql_conn_t *mysql_conn, char *cluster_name)
 		"concat(delta_qos, ',')) "
 		"where delta_qos not like '%%,';",
 		table_name);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_QOS)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (mysql_db_query(mysql_conn, query) != SLURM_SUCCESS)
 		error("Couldn't update %s!", table_name);
 	xfree(query);
@@ -1717,8 +1725,8 @@ extern int modify_common(mysql_conn_t *mysql_conn,
 	}
 	xfree(tmp_cond_char);
 	xfree(tmp_vals);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -1856,8 +1864,8 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 
 	xfree(tmp_name_char);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 	if (rc != SLURM_SUCCESS) {
@@ -1892,8 +1900,8 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 				       cluster_name, assoc_table,
 				       cluster_name, assoc_table, assoc_char);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -1941,8 +1949,9 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 		   cluster_name, assoc_hour_table, now, loc_assoc_char,
 		   cluster_name, assoc_month_table, now, loc_assoc_char);
 
-	debug3("%d(%s:%d) query\n%s %zd",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query, strlen(query));
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s %zd",
+			 query, strlen(query));
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 	if (rc != SLURM_SUCCESS) {
@@ -1966,8 +1975,8 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 			       cluster_name, assoc_table,
 			       day_old, loc_assoc_char);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -1989,8 +1998,8 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 			   "SELECT lft, rgt, (rgt - lft + 1) "
 			   "FROM \"%s_%s\" WHERE id_assoc = %s;",
 			   cluster_name, assoc_table, row[0]);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result2 = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -2021,8 +2030,8 @@ extern int remove_common(mysql_conn_t *mysql_conn,
 
 		mysql_free_result(result2);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2072,8 +2081,8 @@ just_update:
 	if (table != assoc_table)
 		xfree(loc_assoc_char);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 	if (rc != SLURM_SUCCESS) {
@@ -2226,9 +2235,9 @@ extern int acct_storage_p_commit(mysql_conn_t *mysql_conn, bool commit)
 			   rollback, save it until right at the end.
 			*/
 			if (mysql_conn->pre_commit_query) {
-				debug3("%d(%d) query\n%s",
-				       mysql_conn->conn, __LINE__,
-				       mysql_conn->pre_commit_query);
+				if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+					DB_DEBUG(mysql_conn->conn, "query\n%s",
+						 mysql_conn->pre_commit_query);
 				rc = mysql_db_query(
 					mysql_conn,
 					mysql_conn->pre_commit_query);
@@ -2415,9 +2424,9 @@ extern List acct_storage_p_modify_qos(mysql_conn_t *mysql_conn, uint32_t uid,
 }
 
 extern List acct_storage_p_modify_res(mysql_conn_t *mysql_conn,
-					  uint32_t uid,
-					  slurmdb_res_cond_t *res_cond,
-					  slurmdb_res_rec_t *res)
+				      uint32_t uid,
+				      slurmdb_res_cond_t *res_cond,
+				      slurmdb_res_rec_t *res)
 {
 	return as_mysql_modify_res(mysql_conn, uid, res_cond, res);
 }
@@ -2476,8 +2485,8 @@ extern List acct_storage_p_remove_qos(mysql_conn_t *mysql_conn, uint32_t uid,
 }
 
 extern List acct_storage_p_remove_res(mysql_conn_t *mysql_conn,
-					  uint32_t uid,
-					  slurmdb_res_cond_t *res_cond)
+				      uint32_t uid,
+				      slurmdb_res_cond_t *res_cond)
 {
 	return as_mysql_remove_res(mysql_conn, uid, res_cond);
 }
@@ -2565,7 +2574,7 @@ extern List acct_storage_p_get_qos(mysql_conn_t *mysql_conn, uid_t uid,
 }
 
 extern List acct_storage_p_get_res(mysql_conn_t *mysql_conn, uid_t uid,
-				       slurmdb_res_cond_t *res_cond)
+				   slurmdb_res_cond_t *res_cond)
 {
 	return as_mysql_get_res(mysql_conn, uid, res_cond);
 }
@@ -2686,8 +2695,8 @@ extern uint16_t clusteracct_storage_p_register_disconn_ctld(
 			"control_port=%u where name='%s';",
 			cluster_table, control_host, control_port,
 			mysql_conn->cluster_name);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_EVENT)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (mysql_db_query(mysql_conn, query) != SLURM_SUCCESS)
 			control_port = 0;
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_acct.c b/src/plugins/accounting_storage/mysql/as_mysql_acct.c
index 8cd59c81580..88b5345acda 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_acct.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_acct.c
@@ -162,8 +162,8 @@ extern int as_mysql_add_accts(mysql_conn_t *mysql_conn, uint32_t uid,
 			"on duplicate key update deleted=0, mod_time=%ld %s;",
 			acct_table, cols, vals,
 			now, extra);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(cols);
 		xfree(vals);
@@ -174,10 +174,12 @@ extern int as_mysql_add_accts(mysql_conn_t *mysql_conn, uint32_t uid,
 			continue;
 		}
 		affect_rows = last_affected_rows(mysql_conn);
-/* 		debug3("affected %d", affect_rows); */
+		/* if (debug_flags & DEBUG_FLAG_DB_ASSOC) */
+		/* 	DB_DEBUG(mysql_conn->conn, "affected %d", affect_rows); */
 
 		if (!affect_rows) {
-			debug3("nothing changed");
+			if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+				DB_DEBUG(mysql_conn->conn, "nothing changed");
 			xfree(extra);
 			continue;
 		}
@@ -318,8 +320,8 @@ extern List as_mysql_modify_accts(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	query = xstrdup_printf("select name from %s %s;", acct_table, extra);
 	xfree(extra);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -344,7 +346,9 @@ extern List as_mysql_modify_accts(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		xfree(vals);
 		return ret_list;
@@ -474,7 +478,9 @@ extern List as_mysql_remove_accts(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		return ret_list;
 	}
@@ -656,8 +662,8 @@ empty:
 	xfree(tmp);
 	xfree(extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_archive.c b/src/plugins/accounting_storage/mysql/as_mysql_archive.c
index 17a57cc79f5..2d0141fb264 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_archive.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_archive.c
@@ -1452,8 +1452,8 @@ static uint32_t _archive_events(mysql_conn_t *mysql_conn, char *cluster_name,
 	xfree(tmp);
 
 //	START_TIMER;
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -1581,8 +1581,8 @@ static uint32_t _archive_jobs(mysql_conn_t *mysql_conn, char *cluster_name,
 	xfree(tmp);
 
 //	START_TIMER;
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -1761,8 +1761,8 @@ static uint32_t _archive_resvs(mysql_conn_t *mysql_conn, char *cluster_name,
 	xfree(tmp);
 
 //	START_TIMER;
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -1890,8 +1890,8 @@ static uint32_t _archive_steps(mysql_conn_t *mysql_conn, char *cluster_name,
 	xfree(tmp);
 
 //	START_TIMER;
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -2094,8 +2094,8 @@ static uint32_t _archive_suspend(mysql_conn_t *mysql_conn, char *cluster_name,
 	xfree(tmp);
 
 //	START_TIMER;
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -2227,8 +2227,8 @@ static int _execute_archive(mysql_conn_t *mysql_conn,
 		query = xstrdup_printf("delete from \"%s_%s\" where "
 				       "time_start <= %ld && time_end != 0",
 				       cluster_name, event_table, curr_end);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2264,8 +2264,8 @@ exit_events:
 		query = xstrdup_printf("delete from \"%s_%s\" where "
 				       "time_start <= %ld && time_end != 0",
 				       cluster_name, suspend_table, curr_end);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2302,8 +2302,8 @@ exit_suspend:
 		query = xstrdup_printf("delete from \"%s_%s\" where "
 				       "time_start <= %ld && time_end != 0",
 				       cluster_name, step_table, curr_end);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2340,8 +2340,8 @@ exit_steps:
 				       "where time_submit <= %ld "
 				       "&& time_end != 0",
 				       cluster_name, job_table, curr_end);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2366,8 +2366,8 @@ exit_jobs:
 
 		if (SLURMDB_PURGE_ARCHIVE_SET(arch_cond->purge_resv)) {
 			rc = _archive_resvs(mysql_conn, cluster_name,
-					   curr_end, arch_cond->archive_dir,
-					   arch_cond->purge_resv);
+					    curr_end, arch_cond->archive_dir,
+					    arch_cond->purge_resv);
 			if (!rc)
 				goto exit_resvs;
 			else if (rc == SLURM_ERROR)
@@ -2378,8 +2378,8 @@ exit_jobs:
 				       "where time_start <= %ld "
 				       "&& time_end != 0",
 				       cluster_name, resv_table, curr_end);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2500,7 +2500,9 @@ extern int as_mysql_jobacct_process_archive_load(
 	buffer = create_buf(data, data_size);
 
 	safe_unpack16(&ver, buffer);
-	debug3("Version in assoc_mgr_state header is %u", ver);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn,
+			 "Version in assoc_mgr_state header is %u", ver);
 	/* Don't verify the lower limit as we should be keeping all
 	   older versions around here just to support super old
 	   archive files since they don't get regenerated all the
@@ -2554,8 +2556,8 @@ got_sql:
 		error("No data to load");
 		return SLURM_ERROR;
 	}
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, data);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", data);
 	error_code = mysql_db_query_check_after(mysql_conn, data);
 	xfree(data);
 	if (error_code != SLURM_SUCCESS) {
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_assoc.c b/src/plugins/accounting_storage/mysql/as_mysql_assoc.c
index c6049598694..51f22c70221 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_assoc.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_assoc.c
@@ -230,8 +230,8 @@ static int _reset_default_assoc(mysql_conn_t *mysql_conn,
 			   "where (user='%s' && acct!='%s' && is_def=1);",
 			   assoc->cluster, assoc_table,
 			   assoc->user, assoc->acct);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, sel_query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", sel_query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, sel_query, 1))) {
 			xfree(sel_query);
@@ -327,8 +327,8 @@ static int _make_sure_users_have_default(
 				"user='%s' and acct='%s';",
 				cluster, assoc_table, user, acct);
 			xfree(acct);
-			debug3("%d(%s:%d) query\n%s",
-			       mysql_conn->conn, THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+				DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 			rc = mysql_db_query(mysql_conn, query);
 			xfree(query);
 			if (rc != SLURM_SUCCESS) {
@@ -363,8 +363,8 @@ static int _move_account(mysql_conn_t *mysql_conn, uint32_t *lft, uint32_t *rgt,
 	char *query = xstrdup_printf(
 		"SELECT lft from \"%s_%s\" where acct='%s' && user='';",
 		cluster, assoc_table, parent);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -382,8 +382,10 @@ static int _move_account(mysql_conn_t *mysql_conn, uint32_t *lft, uint32_t *rgt,
 	diff = ((par_left + 1) - *lft);
 
 	if (diff == 0) {
-		debug3("Trying to move association to the same position?  "
-		       "Nothing to do.");
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "Trying to move association to the same "
+				 "position?  Nothing to do.");
 		return ESLURM_SAME_PARENT_ACCOUNT;
 	}
 
@@ -433,8 +435,8 @@ static int _move_account(mysql_conn_t *mysql_conn, uint32_t *lft, uint32_t *rgt,
 	xstrfmtcat(query,
 		   "select lft, rgt from \"%s_%s\" where id_assoc = %s",
 		   cluster, assoc_table, id);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 1))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -477,8 +479,8 @@ static int _move_parent(mysql_conn_t *mysql_conn, uid_t uid,
 		"&& acct='%s' && user='' order by lft;",
 		cluster, assoc_table, *lft, *rgt,
 		new_parent);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result =
 	      mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
@@ -508,8 +510,8 @@ static int _move_parent(mysql_conn_t *mysql_conn, uid_t uid,
 	query = xstrdup_printf(
 		"select lft, rgt from \"%s_%s\" where id_assoc=%s;",
 		cluster, assoc_table, id);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result =
 	      mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
@@ -787,8 +789,8 @@ static int _modify_unset_users(mysql_conn_t *mysql_conn,
 			       object, assoc->cluster, assoc_table,
 			       lft, rgt, acct, acct);
 	xfree(object);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result =
 	      mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
@@ -1806,8 +1808,8 @@ static int _process_modify_assoc_results(mysql_conn_t *mysql_conn,
 	}
 
 	if (reset_query) {
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, reset_query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", reset_query);
 		if ((rc = mysql_db_query(mysql_conn, reset_query))
 		    != SLURM_SUCCESS)
 			error("Couldn't update defaults");
@@ -1997,8 +1999,8 @@ static int _cluster_get_assocs(mysql_conn_t *mysql_conn,
 			}
 			list_iterator_destroy(itr);
 		}
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(extra);
@@ -2044,8 +2046,8 @@ static int _cluster_get_assocs(mysql_conn_t *mysql_conn,
 			       qos_extra, extra);
 	xfree(qos_extra);
 	xfree(extra);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -2193,7 +2195,7 @@ static int _cluster_get_assocs(mysql_conn_t *mysql_conn,
 
 				if (row2[ASSOC2_REQ_MNPJ])
 					parent_mnpj = slurm_atoul(
-							row2[ASSOC2_REQ_MNPJ]);
+						row2[ASSOC2_REQ_MNPJ]);
 				else
 					parent_mnpj = INFINITE;
 
@@ -2389,9 +2391,8 @@ extern int as_mysql_get_modified_lfts(mysql_conn_t *mysql_conn,
 	char *query = xstrdup_printf(
 		"select id_assoc, lft from \"%s_%s\" where lft > %u",
 		cluster_name, assoc_table, start_lft);
-
-	debug3("%d(%d) query\n%s",
-	       mysql_conn->conn, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -2526,8 +2527,8 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 			   "FOR UPDATE;",
 			   tmp_char, object->cluster, assoc_table, update);
 		xfree(tmp_char);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -2581,9 +2582,10 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 						old_cluster, assoc_table,
 						incr, my_left,
 						old_cluster, assoc_table);
-					debug3("%d(%s:%d) query\n%s",
-					       mysql_conn->conn,
-					       THIS_FILE, __LINE__, up_query);
+					if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+						DB_DEBUG(mysql_conn->conn,
+							 "query\n%s",
+							 up_query);
 					rc = mysql_db_query(
 						mysql_conn,
 						up_query);
@@ -2599,8 +2601,9 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 					}
 				}
 
-				debug3("%d(%s:%d) query\n%s", mysql_conn->conn,
-				       THIS_FILE, __LINE__, sel_query);
+				if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+					DB_DEBUG(mysql_conn->conn, "query\n%s",
+						 sel_query);
 				if (!(sel_result = mysql_db_query_ret(
 					      mysql_conn,
 					      sel_query, 0))) {
@@ -2712,8 +2715,8 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 		xfree(cols);
 		xfree(vals);
 		xfree(update);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -2804,8 +2807,8 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 			old_cluster, assoc_table, incr,
 			my_left,
 			old_cluster, assoc_table);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, up_query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", up_query);
 		rc = mysql_db_query(mysql_conn, up_query);
 		xfree(up_query);
 		if (rc != SLURM_SUCCESS)
@@ -2926,8 +2929,8 @@ extern int as_mysql_add_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 	}
 	list_iterator_destroy(itr);
 	if (query) {
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS)
@@ -3118,8 +3121,8 @@ is_same_user:
 			   object, cluster_name,
 			   assoc_table, qos_extra, extra);
 		xfree(qos_extra);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -3160,7 +3163,8 @@ is_same_user:
 	} else if (!list_count(ret_list)) {
 		reset_mysql_conn(mysql_conn);
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything");
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "didn't effect anything");
 		return ret_list;
 	}
 
@@ -3232,8 +3236,8 @@ extern List as_mysql_remove_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 				       cluster_name, assoc_table,
 				       qos_extra, extra);
 		xfree(qos_extra);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -3267,8 +3271,8 @@ extern List as_mysql_remove_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 				       "and deleted = 0 order by lft;",
 				       object,
 				       cluster_name, assoc_table, name_char);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -3304,7 +3308,8 @@ extern List as_mysql_remove_assocs(mysql_conn_t *mysql_conn, uint32_t uid,
 	} else if (!list_count(ret_list)) {
 		reset_mysql_conn(mysql_conn);
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything");
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "didn't effect anything");
 		return ret_list;
 	}
 	if (jobs_running)
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_cluster.c b/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
index 7598a3589ee..6cec6d9f20b 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_cluster.c
@@ -186,8 +186,8 @@ extern int as_mysql_add_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 			   cluster_table,
 			   now, now, object->name, object->classification,
 			   now, object->classification);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -220,8 +220,8 @@ extern int as_mysql_add_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 
 		xfree(cols);
 		xfree(vals);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
@@ -403,8 +403,8 @@ extern List as_mysql_modify_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 	xstrfmtcat(query, "select name, control_port from %s%s;",
 		   cluster_table, extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -432,7 +432,9 @@ extern List as_mysql_modify_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(vals);
 		xfree(query);
 		return ret_list;
@@ -509,7 +511,9 @@ extern List as_mysql_remove_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 	if (!mysql_num_rows(result)) {
 		mysql_free_result(result);
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		return ret_list;
 	}
@@ -555,8 +559,8 @@ extern List as_mysql_remove_clusters(mysql_conn_t *mysql_conn, uint32_t uid,
 		return NULL;
 	}
 	if (!jobs_running) {
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -663,8 +667,8 @@ empty:
 	xfree(tmp);
 	xfree(extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -975,8 +979,8 @@ empty:
 		if (extra)
 			xstrfmtcat(query, " %s", extra);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(query);
@@ -1159,8 +1163,8 @@ extern int as_mysql_register_ctld(mysql_conn_t *mysql_conn,
 		   slurmctld_conf.slurm_user_name, address, port,
 		   SYSTEM_DIMENSIONS, flags, select_get_plugin_id());
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
@@ -1188,8 +1192,8 @@ extern int as_mysql_fini_ctld(mysql_conn_t *mysql_conn,
 		"control_host='%s' && control_port=%u;",
 		cluster_table, now, cluster_rec->name,
 		cluster_rec->control_host, cluster_rec->control_port);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_EVENT)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -1229,8 +1233,8 @@ extern int as_mysql_fini_ctld(mysql_conn_t *mysql_conn,
 		"values ('%u', %u, %ld, 'slurmctld disconnect')",
 		cluster_rec->name, event_table,
 		cluster_rec->cpu_count, NODE_STATE_DOWN, (long)now);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_EVENT)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -1295,9 +1299,11 @@ extern int as_mysql_cluster_cpus(mysql_conn_t *mysql_conn,
 	}
 
 	if (slurm_atoul(row[0]) == cpus) {
-		debug3("we have the same cpu count as before for %s, "
-		       "no need to update the database.",
-		       mysql_conn->cluster_name);
+		if (debug_flags & DEBUG_FLAG_DB_EVENT)
+			DB_DEBUG(mysql_conn->conn,
+				 "we have the same cpu count as before for %s, "
+				 "no need to update the database.",
+				 mysql_conn->cluster_name);
 		if (cluster_nodes) {
 			if (!row[1][0]) {
 				debug("Adding cluster nodes '%s' to "
@@ -1313,9 +1319,12 @@ extern int as_mysql_cluster_cpus(mysql_conn_t *mysql_conn,
 				xfree(query);
 				goto update_it;
 			} else if (!strcmp(cluster_nodes, row[1])) {
-				debug3("we have the same nodes in the cluster "
-				       "as before no need to "
-				       "update the database.");
+				if (debug_flags & DEBUG_FLAG_DB_EVENT)
+					DB_DEBUG(mysql_conn->conn,
+						 "we have the same nodes "
+						 "in the cluster "
+						 "as before no need to "
+						 "update the database.");
 				goto update_it;
 			}
 		} else
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_job.c b/src/plugins/accounting_storage/mysql/as_mysql_job.c
index 6c19c5c3590..764b42f5726 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_job.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_job.c
@@ -327,8 +327,8 @@ extern int as_mysql_job_start(mysql_conn_t *mysql_conn,
 				       mysql_conn->cluster_name,
 				       job_table, job_ptr->job_id,
 				       submit_time, begin_time, start_time);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result =
 		      mysql_db_query_ret(mysql_conn, query, 0))) {
 			xfree(query);
@@ -379,8 +379,8 @@ extern int as_mysql_job_start(mysql_conn_t *mysql_conn,
 				       mysql_conn->cluster_name,
 				       last_ran_table, check_time,
 				       check_time, check_time);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 	} else
@@ -537,8 +537,8 @@ no_rollup_change:
 		if (gres_alloc)
 			xstrfmtcat(query, ", gres_alloc='%s'", gres_alloc);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	try_again:
 		if (!(job_ptr->db_index = mysql_db_insert_ret_id(
 			      mysql_conn, query))) {
@@ -589,8 +589,8 @@ no_rollup_change:
 			   job_ptr->array_task_id,
 			   begin_time, job_ptr->db_index);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 	}
 
@@ -661,8 +661,8 @@ extern List as_mysql_modify_job(mysql_conn_t *mysql_conn, uint32_t uid,
 			       job_cond->cluster, job_table,
 			       job_cond->job_id);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_JOB)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(vals);
 		xfree(query);
@@ -693,7 +693,10 @@ extern List as_mysql_modify_job(mysql_conn_t *mysql_conn, uint32_t uid,
 		mysql_free_result(result);
 	} else {
 		errno = ESLURM_INVALID_JOB_ID;
-		debug3("as_mysql_modify_job: Job not found\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn,
+				 "as_mysql_modify_job: Job not found\n%s",
+				 query);
 		xfree(vals);
 		xfree(query);
 		mysql_free_result(result);
@@ -771,8 +774,8 @@ extern int as_mysql_job_complete(mysql_conn_t *mysql_conn,
 				       mysql_conn->cluster_name,
 				       last_ran_table, end_time,
 				       end_time, end_time);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 	} else
@@ -827,8 +830,8 @@ extern int as_mysql_job_complete(mysql_conn_t *mysql_conn,
 		   job_ptr->exit_code, job_ptr->requid,
 		   job_ptr->db_index);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_JOB)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -977,8 +980,8 @@ extern int as_mysql_step_start(mysql_conn_t *mysql_conn,
 		JOB_RUNNING, cpus, nodes, tasks, node_list, node_inx, task_dist,
 		step_ptr->cpu_freq, cpus, nodes, tasks, JOB_RUNNING,
 		node_list, node_inx, task_dist, step_ptr->cpu_freq);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_STEP)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 	xfree(step_name);
@@ -1161,8 +1164,8 @@ extern int as_mysql_step_complete(mysql_conn_t *mysql_conn,
 		jobacct->act_cpufreq,
 		jobacct->energy.consumed_energy,
 		step_ptr->job_ptr->db_index, step_ptr->step_id);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_STEP)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -1244,8 +1247,8 @@ extern int as_mysql_suspend(mysql_conn_t *mysql_conn,
 			   "job_db_inx=%u && time_end=0;",
 			   mysql_conn->cluster_name, suspend_table,
 			   (int)job_ptr->suspend_time, job_ptr->db_index);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_JOB)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 	rc = mysql_db_query(mysql_conn, query);
 
@@ -1286,8 +1289,8 @@ extern int as_mysql_flush_jobs_on_cluster(
 		"select distinct t1.job_db_inx, t1.state from \"%s_%s\" "
 		"as t1 where t1.time_end=0;",
 		mysql_conn->cluster_name, job_table);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_JOB)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result =
 	      mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
@@ -1348,8 +1351,8 @@ extern int as_mysql_flush_jobs_on_cluster(
 	}
 
 	if (query) {
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_jobacct_process.c b/src/plugins/accounting_storage/mysql/as_mysql_jobacct_process.c
index 5621042d337..539f01dbfd1 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_jobacct_process.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_jobacct_process.c
@@ -378,8 +378,8 @@ static int _cluster_get_jobs(mysql_conn_t *mysql_conn,
 			}
 			list_iterator_destroy(itr);
 		}
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_JOB)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
 			      mysql_conn, query, 0))) {
 			xfree(extra);
@@ -444,8 +444,8 @@ static int _cluster_get_jobs(mysql_conn_t *mysql_conn,
 	*/
 	xstrcat(query, " group by id_job, time_submit desc");
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_JOB)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		rc = SLURM_ERROR;
@@ -802,15 +802,15 @@ static int _cluster_get_jobs(mysql_conn_t *mysql_conn,
 			step->stats.disk_read_max =
 				atof(step_row[STEP_REQ_MAX_DISK_READ]);
 			step->stats.disk_read_max_taskid =
-				slurm_atoul(step_row[
-					STEP_REQ_MAX_DISK_READ_TASK]);
+				slurm_atoul(
+					step_row[STEP_REQ_MAX_DISK_READ_TASK]);
 			step->stats.disk_read_ave =
 				atof(step_row[STEP_REQ_AVE_DISK_READ]);
 			step->stats.disk_write_max =
 				atof(step_row[STEP_REQ_MAX_DISK_WRITE]);
 			step->stats.disk_write_max_taskid =
-				slurm_atoul(step_row[
-					STEP_REQ_MAX_DISK_WRITE_TASK]);
+				slurm_atoul(
+					step_row[STEP_REQ_MAX_DISK_WRITE_TASK]);
 			step->stats.disk_write_ave =
 				atof(step_row[STEP_REQ_AVE_DISK_WRITE]);
 			step->stats.vsize_max =
@@ -969,8 +969,8 @@ extern List setup_cluster_list_with_inx(mysql_conn_t *mysql_conn,
 			   job_cond->usage_end, job_cond->usage_start);
 	}
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_JOB)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		goto no_hosts;
@@ -1168,8 +1168,8 @@ no_resv:
 					   (int)job_cond->usage_end);
 			}
 
-			debug3("%d(%s:%d) query\n%s",
-			       mysql_conn->conn, THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_JOB)
+				DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 			result = mysql_db_query_ret(mysql_conn, query, 0);
 			xfree(query);
 			if (!result)
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_problems.c b/src/plugins/accounting_storage/mysql/as_mysql_problems.c
index efc348b4f34..c41c7def746 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_problems.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_problems.c
@@ -264,8 +264,8 @@ extern int as_mysql_acct_no_users(mysql_conn_t *mysql_conn,
 
 	xfree(tmp);
 	xfree(extra);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_QUERY)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_qos.c b/src/plugins/accounting_storage/mysql/as_mysql_qos.c
index 7a8f9b8ea04..81937d5a6f3 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_qos.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_qos.c
@@ -525,8 +525,8 @@ extern int as_mysql_add_qos(mysql_conn_t *mysql_conn, uint32_t uid,
 			   qos_table, cols, vals, extra);
 
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_QOS)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		object->id = mysql_db_insert_ret_id(mysql_conn, query);
 		xfree(query);
 		if (!object->id) {
@@ -788,7 +788,9 @@ extern List as_mysql_modify_qos(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_QOS)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(vals);
 		xfree(query);
 		return ret_list;
@@ -929,7 +931,8 @@ extern List as_mysql_remove_qos(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_QOS)
+			DB_DEBUG(mysql_conn->conn, "didn't effect anything\n%s", query);
 		xfree(query);
 		return ret_list;
 	}
@@ -939,8 +942,8 @@ extern List as_mysql_remove_qos(mysql_conn_t *mysql_conn, uint32_t uid,
 	query = xstrdup_printf("update %s set mod_time=%ld %s where deleted=0;",
 			       assoc_table, now, extra);
 	xfree(extra);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_QOS)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 	if (rc != SLURM_SUCCESS) {
@@ -1122,8 +1125,8 @@ empty:
 	xfree(tmp);
 	xfree(extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_QOS)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_resource.c b/src/plugins/accounting_storage/mysql/as_mysql_resource.c
index ceb1c89b3d5..798f5acd4fb 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_resource.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_resource.c
@@ -303,8 +303,8 @@ static uint32_t _get_res_used(mysql_conn_t *mysql_conn, uint32_t res_id,
 	if (extra)
 		xstrfmtcat(query, " && !(%s)", extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return percent_used;
@@ -373,8 +373,8 @@ static int _fill_in_res_rec(mysql_conn_t *mysql_conn, slurmdb_res_rec_t *res)
 
 	xfree(tmp);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return SLURM_ERROR;
@@ -443,8 +443,8 @@ static int _add_res(mysql_conn_t *mysql_conn, slurmdb_res_rec_t *object,
 		   res_table, cols, vals, extra);
 
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	object->id = mysql_db_insert_ret_id(mysql_conn, query);
 	xfree(query);
 	if (!object->id) {
@@ -480,8 +480,8 @@ static int _add_res(mysql_conn_t *mysql_conn, slurmdb_res_rec_t *object,
 	xfree(cols);
 	xfree(extra);
 	xfree(vals);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 	if (rc != SLURM_SUCCESS)
@@ -521,13 +521,17 @@ static int _add_clus_res(mysql_conn_t *mysql_conn, slurmdb_res_rec_t *res,
 		res->percent_used += object->percent_allowed;
 		if (res->percent_used > 100) {
 			rc = ESLURM_OVER_ALLOCATE;
-			debug3("Adding a new cluster with %u%% allowed to "
-			       "resource %s@%s would put the usage at %u%%, "
-			       "(which is over 100%%).  Please redo your math "
-			       "and resubmit.",
-			       object->percent_allowed,
-			       res->name, res->server,
-			       res->percent_used);
+			if (debug_flags & DEBUG_FLAG_DB_RES)
+				DB_DEBUG(mysql_conn->conn,
+					 "Adding a new cluster with %u%% "
+					 "allowed to "
+					 "resource %s@%s would put the usage "
+					 "at %u%%, (which is over 100%%).  "
+					 "Please redo your math "
+					 "and resubmit.",
+					 object->percent_allowed,
+					 res->name, res->server,
+					 res->percent_used);
 			break;
 		}
 		xfree(extra);
@@ -539,8 +543,8 @@ static int _add_clus_res(mysql_conn_t *mysql_conn, slurmdb_res_rec_t *res,
 			   clus_res_table, cols, vals,
 			   object->cluster, object->percent_allowed, extra);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_RES)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -564,8 +568,8 @@ static int _add_clus_res(mysql_conn_t *mysql_conn, slurmdb_res_rec_t *res,
 		xfree(name);
 		xfree(tmp_extra);
 		xfree(extra);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_RES)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS)
@@ -632,8 +636,8 @@ static List _get_clus_res(mysql_conn_t *mysql_conn, uint32_t res_id,
 		"select %s from %s as t2 where %s && (res_id=%u);",
 		tmp, clus_res_table, extra, res_id);
 	xfree(tmp);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return NULL;
@@ -774,8 +778,8 @@ extern List as_mysql_get_res(mysql_conn_t *mysql_conn, uid_t uid,
 	xfree(tmp);
 	xfree(extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return NULL;
@@ -855,8 +859,8 @@ extern List as_mysql_remove_res(mysql_conn_t *mysql_conn, uint32_t uid,
 			       res_table, clus_res_table, extra, clus_extra);
 	xfree(clus_extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return NULL;
@@ -869,8 +873,8 @@ extern List as_mysql_remove_res(mysql_conn_t *mysql_conn, uint32_t uid,
 		query = xstrdup_printf("select id, name, server "
 				       "from %s as t1 %s;",
 				       res_table, extra);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_RES)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 			xfree(query);
 			xfree(extra);
@@ -934,7 +938,9 @@ extern List as_mysql_remove_res(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_RES)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		xfree(name_char);
 		xfree(clus_extra);
@@ -1028,8 +1034,8 @@ extern List as_mysql_modify_res(mysql_conn_t *mysql_conn, uint32_t uid,
 				       "from %s as t1 %s;",
 				       res_table, extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RES)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(extra);
 		xfree(vals);
@@ -1061,8 +1067,8 @@ extern List as_mysql_modify_res(mysql_conn_t *mysql_conn, uint32_t uid,
 		query = xstrdup_printf("select id, name, server "
 				       "from %s as t1 %s;",
 				       res_table, extra);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_RES)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 			xfree(extra);
 			xfree(vals);
@@ -1117,14 +1123,17 @@ extern List as_mysql_modify_res(mysql_conn_t *mysql_conn, uint32_t uid,
 			if (res->percent_used != (uint16_t)NO_VAL)
 				percent_used += res->percent_used;
 			if (percent_used > 100) {
-				debug3("Modifing resource %s@%s with %u%% "
-				       "allowed to each cluster "
-				       "would put the usage "
-				       "at %u%%, (which is over 100%%).  "
-				       "Please redo your math and resubmit.",
-				       row[1], row[2],
-				       res->percent_used,
-				       percent_used);
+				if (debug_flags & DEBUG_FLAG_DB_RES)
+					DB_DEBUG(mysql_conn->conn,
+						 "Modifing resource %s@%s "
+						 "with %u%% allowed to each "
+						 "cluster would put the usage "
+						 "at %u%%, (which is "
+						 "over 100%%).  Please redo "
+						 "your math and resubmit.",
+						 row[1], row[2],
+						 res->percent_used,
+						 percent_used);
 
 				mysql_free_result(result);
 				xfree(clus_extra);
@@ -1169,7 +1178,9 @@ extern List as_mysql_modify_res(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_RES)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		xfree(vals);
 		xfree(name_char);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_resv.c b/src/plugins/accounting_storage/mysql/as_mysql_resv.c
index bba6c203a59..8cc14e09663 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_resv.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_resv.c
@@ -239,8 +239,8 @@ extern int as_mysql_add_resv(mysql_conn_t *mysql_conn,
 		   "insert into \"%s_%s\" (id_resv%s) values (%u%s) "
 		   "on duplicate key update deleted=0%s;",
 		   resv->cluster, resv_table, cols, resv->id, vals, extra);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RESV)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 	rc = mysql_db_query(mysql_conn, query);
 
@@ -434,8 +434,8 @@ try_again:
 			   vals, extra);
 	}
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RESV)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 	rc = mysql_db_query(mysql_conn, query);
 
@@ -483,8 +483,8 @@ extern int as_mysql_remove_resv(mysql_conn_t *mysql_conn,
 		   resv->cluster, resv_table, resv->time_start_prev,
 		   resv->id, resv->time_start);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RESV)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 
 	rc = mysql_db_query(mysql_conn, query);
 
@@ -604,8 +604,8 @@ empty:
 
 	xfree(tmp);
 	xfree(extra);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_RESV)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		if (local_cluster_list)
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_rollup.c b/src/plugins/accounting_storage/mysql/as_mysql_rollup.c
index edf4f7556c6..b0c9c725afd 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_rollup.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_rollup.c
@@ -301,8 +301,8 @@ static int _process_cluster_usage(mysql_conn_t *mysql_conn,
 			   "resv_cpu_secs=VALUES(resv_cpu_secs), "
 			   "consumed_energy=VALUES(consumed_energy)",
 			   now);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS)
@@ -360,8 +360,8 @@ static local_cluster_usage_t *_setup_cluster_usage(mysql_conn_t *mysql_conn,
 			       curr_end, curr_start);
 	xfree(event_str);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_USAGE)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
 		return NULL;
@@ -578,8 +578,10 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 		local_id_usage_t *a_usage = NULL;
 		local_id_usage_t *w_usage = NULL;
 
-		debug3("%s curr hour is now %ld-%ld",
-		       cluster_name, curr_start, curr_end);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn,
+				 "%s curr hour is now %ld-%ld",
+				 cluster_name, curr_start, curr_end);
 /* 		info("start %s", slurm_ctime(&curr_start)); */
 /* 		info("end %s", slurm_ctime(&curr_end)); */
 
@@ -602,10 +604,10 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 				       curr_end, curr_start,
 				       RESERVE_FLAG_IGN_JOBS);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
-			     mysql_conn, query, 0))) {
+			      mysql_conn, query, 0))) {
 			xfree(query);
 			_destroy_local_cluster_usage(c_usage);
 			return SLURM_ERROR;
@@ -707,10 +709,10 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 				       cluster_name, step_table,
 				       curr_end, curr_start);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		if (!(result = mysql_db_query_ret(
-			     mysql_conn, query, 0))) {
+			      mysql_conn, query, 0))) {
 			xfree(query);
 			_destroy_local_cluster_usage(c_usage);
 			return SLURM_ERROR;
@@ -765,8 +767,8 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 				       mysql_conn->conn, THIS_FILE,
 				       __LINE__, query);
 				if (!(result2 = mysql_db_query_ret(
-					     mysql_conn,
-					     query, 0))) {
+					      mysql_conn,
+					      query, 0))) {
 					xfree(query);
 					_destroy_local_cluster_usage(c_usage);
 					return SLURM_ERROR;
@@ -897,7 +899,7 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 							temp_end = r_usage->end;
 
 						if ((temp_end - temp_start)
-						   > 0) {
+						    > 0) {
 							r_usage->a_cpu +=
 								(temp_end
 								 - temp_start)
@@ -1053,8 +1055,8 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 				   "consumed_energy=VALUES(consumed_energy);",
 				   now);
 
-			debug3("%d(%s:%d) query\n%s",
-			       mysql_conn->conn, THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_USAGE)
+				DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 			rc = mysql_db_query(mysql_conn, query);
 			xfree(query);
 			if (rc != SLURM_SUCCESS) {
@@ -1102,8 +1104,8 @@ extern int as_mysql_hourly_rollup(mysql_conn_t *mysql_conn,
 				   "consumed_energy=VALUES(consumed_energy);",
 				   now);
 
-			debug3("%d(%s:%d) query\n%s",
-			       mysql_conn->conn, THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_USAGE)
+				DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 			rc = mysql_db_query(mysql_conn, query);
 			xfree(query);
 			if (rc != SLURM_SUCCESS) {
@@ -1175,7 +1177,10 @@ extern int as_mysql_daily_rollup(mysql_conn_t *mysql_conn,
 	curr_end = mktime(&start_tm);
 
 	while (curr_start < end) {
-		debug3("curr day is now %ld-%ld", curr_start, curr_end);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn,
+				 "curr day is now %ld-%ld",
+				 curr_start, curr_end);
 /* 		info("start %s", slurm_ctime(&curr_start)); */
 /* 		info("end %s", slurm_ctime(&curr_end)); */
 		query = xstrdup_printf(
@@ -1242,8 +1247,8 @@ extern int as_mysql_daily_rollup(mysql_conn_t *mysql_conn,
 				   cluster_name, wckey_hour_table,
 				   curr_end, curr_start, now);
 		}
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
@@ -1300,7 +1305,10 @@ extern int as_mysql_monthly_rollup(mysql_conn_t *mysql_conn,
 	curr_end = mktime(&start_tm);
 
 	while (curr_start < end) {
-		debug3("curr month is now %ld-%ld", curr_start, curr_end);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn,
+				 "curr month is now %ld-%ld",
+				 curr_start, curr_end);
 /* 		info("start %s", slurm_ctime(&curr_start)); */
 /* 		info("end %s", slurm_ctime(&curr_end)); */
 		query = xstrdup_printf(
@@ -1368,8 +1376,8 @@ extern int as_mysql_monthly_rollup(mysql_conn_t *mysql_conn,
 				   cluster_name, wckey_day_table,
 				   curr_end, curr_start, now);
 		}
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		if (rc != SLURM_SUCCESS) {
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_txn.c b/src/plugins/accounting_storage/mysql/as_mysql_txn.c
index a64539df2d8..dcd9cc70c1c 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_txn.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_txn.c
@@ -181,8 +181,8 @@ extern List as_mysql_get_txn(mysql_conn_t *mysql_conn, uid_t uid,
 		while ((object = list_next(itr))) {
 			xstrfmtcat(query, "select id_assoc from \"%s_%s\"%s",
 				   object, assoc_table, assoc_extra);
-			debug3("%d(%s:%d) query\n%s",
-			       mysql_conn->conn, THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_QUERY)
+				DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 			if (!(result = mysql_db_query_ret(
 				      mysql_conn, query, 0))) {
 				xfree(query);
@@ -378,8 +378,8 @@ empty:
 
 	xfree(tmp);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_QUERY)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_usage.c b/src/plugins/accounting_storage/mysql/as_mysql_usage.c
index 133502fc909..9cb025b6259 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_usage.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_usage.c
@@ -144,8 +144,8 @@ static void *_cluster_rollup_usage(void *arg)
 				"where node_name='' order by "
 				"time_start asc limit 1;",
 				local_rollup->cluster_name, event_table);
-			debug3("%d(%s:%d) query\n%s", mysql_conn.conn,
-			       THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_USAGE)
+				DB_DEBUG(mysql_conn.conn, "query\n%s", query);
 			if (!(result = mysql_db_query_ret(
 				      &mysql_conn, query, 0))) {
 				xfree(query);
@@ -172,8 +172,8 @@ static void *_cluster_rollup_usage(void *arg)
 				local_rollup->cluster_name, last_ran_table,
 				lowest, lowest, lowest);
 
-			debug3("%d(%s:%d) query\n%s", mysql_conn.conn,
-			       THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_USAGE)
+				DB_DEBUG(mysql_conn.conn, "query\n%s", query);
 			rc = mysql_db_query(&mysql_conn, query);
 			xfree(query);
 			if (rc != SLURM_SUCCESS) {
@@ -372,8 +372,8 @@ static void *_cluster_rollup_usage(void *arg)
 		       local_rollup->cluster_name, month_end, month_start);
 
 	if (query) {
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn.conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_USAGE)
+			DB_DEBUG(mysql_conn.conn, "query\n%s", query);
 		rc = mysql_db_query(&mysql_conn, query);
 		xfree(query);
 	}
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_user.c b/src/plugins/accounting_storage/mysql/as_mysql_user.c
index 41773706f84..ffaf5e24d5c 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_user.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_user.c
@@ -69,8 +69,8 @@ static int _change_user_name(mysql_conn_t *mysql_conn, slurmdb_user_rec_t *user)
 	xstrfmtcat(query, "update %s set user='%s' where user='%s';",
 		   acct_coord_table, user->name, user->old_name);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	rc = mysql_db_query(mysql_conn, query);
 	xfree(query);
 
@@ -497,8 +497,8 @@ extern int as_mysql_add_coord(mysql_conn_t *mysql_conn, uint32_t uid,
 			   " on duplicate key update mod_time=%ld, "
 			   "deleted=0;%s",
 			   (long)now, txn_query);
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		rc = mysql_db_query(mysql_conn, query);
 		xfree(query);
 		xfree(txn_query);
@@ -634,7 +634,9 @@ extern List as_mysql_modify_users(mysql_conn_t *mysql_conn, uint32_t uid,
 no_user_table:
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(vals);
 		xfree(query);
 		return ret_list;
@@ -818,7 +820,9 @@ no_user_table:
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		return ret_list;
 	}
@@ -993,7 +997,8 @@ extern List as_mysql_remove_coord(mysql_conn_t *mysql_conn, uint32_t uid,
 
 	if (!extra) {
 		errno = SLURM_ERROR;
-		debug3("No conditions given");
+		if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+			DB_DEBUG(mysql_conn->conn, "No conditions given");
 		return NULL;
 	}
 
@@ -1001,8 +1006,8 @@ extern List as_mysql_remove_coord(mysql_conn_t *mysql_conn, uint32_t uid,
 		"select user, acct from %s where deleted=0 && %s order by user",
 		acct_coord_table, extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result =
 	      mysql_db_query_ret(mysql_conn, query, 0))) {
 		xfree(query);
@@ -1203,8 +1208,8 @@ empty:
 	xfree(tmp);
 	xfree(extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_ASSOC)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
diff --git a/src/plugins/accounting_storage/mysql/as_mysql_wckey.c b/src/plugins/accounting_storage/mysql/as_mysql_wckey.c
index 458f26fd4c6..839a79d1d4a 100644
--- a/src/plugins/accounting_storage/mysql/as_mysql_wckey.c
+++ b/src/plugins/accounting_storage/mysql/as_mysql_wckey.c
@@ -77,8 +77,8 @@ static int _reset_default_wckey(mysql_conn_t *mysql_conn,
 		   wckey->user, wckey->name,
 		   wckey->cluster, wckey_table,
 		   wckey->user, wckey->name);
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_WCKEY)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(mysql_conn, query, 1))) {
 		xfree(query);
 		rc = SLURM_ERROR;
@@ -174,8 +174,8 @@ static int _make_sure_users_have_default(
 				"user='%s' and wckey_name='%s';",
 				cluster, wckey_table, user, wckey);
 			xfree(wckey);
-			debug3("%d(%s:%d) query\n%s",
-			       mysql_conn->conn, THIS_FILE, __LINE__, query);
+			if (debug_flags & DEBUG_FLAG_DB_WCKEY)
+				DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 			rc = mysql_db_query(mysql_conn, query);
 			xfree(query);
 			if (rc != SLURM_SUCCESS) {
@@ -312,7 +312,9 @@ static int _cluster_remove_wckeys(mysql_conn_t *mysql_conn,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_WCKEY)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		xfree(assoc_char);
 		return SLURM_SUCCESS;
@@ -398,7 +400,9 @@ static int _cluster_modify_wckeys(mysql_conn_t *mysql_conn,
 
 	if (!list_count(ret_list)) {
 		errno = SLURM_NO_CHANGE_IN_DATA;
-		debug3("didn't effect anything\n%s", query);
+		if (debug_flags & DEBUG_FLAG_DB_WCKEY)
+			DB_DEBUG(mysql_conn->conn,
+				 "didn't effect anything\n%s", query);
 		xfree(query);
 		xfree(wckey_char);
 		return SLURM_SUCCESS;
@@ -433,8 +437,8 @@ static int _cluster_get_wckeys(mysql_conn_t *mysql_conn,
 		   "order by wckey_name, user;",
 		   fields, cluster_name, wckey_table, extra);
 
-	debug3("%d(%s:%d) query\n%s",
-	       mysql_conn->conn, THIS_FILE, __LINE__, query);
+	if (debug_flags & DEBUG_FLAG_DB_WCKEY)
+		DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 	if (!(result = mysql_db_query_ret(
 		      mysql_conn, query, 0))) {
 		xfree(query);
@@ -548,8 +552,8 @@ extern int as_mysql_add_wckeys(mysql_conn_t *mysql_conn, uint32_t uid,
 			   "id_wckey=LAST_INSERT_ID(id_wckey)%s;",
 			   object->cluster, wckey_table, cols, vals, extra);
 
-		debug3("%d(%s:%d) query\n%s",
-		       mysql_conn->conn, THIS_FILE, __LINE__, query);
+		if (debug_flags & DEBUG_FLAG_DB_WCKEY)
+			DB_DEBUG(mysql_conn->conn, "query\n%s", query);
 		object->id = mysql_db_insert_ret_id(mysql_conn, query);
 		xfree(query);
 		if (!object->id) {
-- 
GitLab