Commit 213fb7ca authored by Howl's avatar Howl
Browse files

log queries in opLeaderboard

parent 3feb0017
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -172,16 +172,7 @@ var execOperations = make(chan operation, 100000)

func worker() {
	for op := range execOperations {
		if c.LogQueries {
			// porcodio go se sei odioso a volte
			a := []interface{}{
				"=>",
				op.query,
				"| params:",
			}
			a = append(a, op.params...)
			fmt.Println(a...)
		}
		logquery(op.query, op.params)
		_, err := db.Exec(op.query, op.params...)
		if err != nil {
			queryError(err, op.query, op.params...)
@@ -196,3 +187,16 @@ func queryError(err error, query string, params ...interface{}) {
===> params: %v
===> error: %v`, query, params, err)
}

func logquery(q string, params []interface{}) {
	if c.LogQueries {
		// porcodio go se sei odioso a volte
		a := []interface{}{
			"=>",
			q,
			"| params:",
		}
		a = append(a, params...)
		fmt.Println(a...)
	}
}
+14 −6
Original line number Diff line number Diff line
@@ -27,7 +27,6 @@ func (l lbUserSlice) Swap(i, j int) {
	l[i], l[j] = l[j], l[i]
}

// TODO(howl): respect conf.LogQueries
func opBuildLeaderboard() {
	defer wg.Done()
	// creating a new db instance so that we don't have to execute everything
@@ -39,7 +38,8 @@ func opBuildLeaderboard() {
	}
	db.SetMaxOpenConns(1)
	db.SetMaxIdleConns(1)
	initQuery := "SELECT users_stats.id, pp_std, ranked_score_taiko, ranked_score_ctb, ranked_score_mania FROM users_stats INNER JOIN users ON users.id = users_stats.id WHERE privileges & 1 > 0"
	const initQuery = "SELECT users_stats.id, pp_std, ranked_score_taiko, ranked_score_ctb, ranked_score_mania FROM users_stats INNER JOIN users ON users.id = users_stats.id WHERE privileges & 1 > 0"
	logquery(initQuery, nil)
	rows, err := db.Query(initQuery)
	if err != nil {
		queryError(err, initQuery)
@@ -83,20 +83,28 @@ func opBuildLeaderboard() {
		// remove last two characters (`, `)
		modeInsert = modeInsert[:len(modeInsert)-2]
		// In this case, it is really important to truncate BEFORE and then add the insert.
		_, err := db.Exec("LOCK TABLES leaderboard_" + modeToString(modeID) + " WRITE")
		q := "LOCK TABLES leaderboard_" + modeToString(modeID) + " WRITE"
		logquery(q, nil)
		_, err := db.Exec(q)
		if err != nil {
			queryError(err, "LOCK TABLES leaderboard_"+modeToString(modeID)+" WRITE")
			queryError(err, q)
			return
		}
		_, err = db.Exec("TRUNCATE TABLE leaderboard_" + modeToString(modeID))

		q = "TRUNCATE TABLE leaderboard_" + modeToString(modeID)
		logquery(q, nil)
		_, err = db.Exec(q)
		if err != nil {
			queryError(err, "TRUNCATE TABLE leaderboard_"+modeToString(modeID))
			queryError(err, q)
		}
		logquery(modeInsert, params)
		_, err = db.Exec(modeInsert, params...)
		if err != nil {
			queryError(err, "<modeInsert>")
		}

		_, err = db.Exec("UNLOCK TABLES")
		logquery("UNLOCK TABLES", nil)
		if err != nil {
			queryError(err, "UNLOCK TABLES")
			return