Optimization: don't fetch replay field since we don't use it.
This commit is contained in:
parent
1cbbeb1a1e
commit
691ff70664
@ -39,7 +39,43 @@ class ScoreService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getReplayData(replayId: Long): ReplayData? {
|
fun getReplayData(replayId: Long): ReplayData? {
|
||||||
val result = dslContext.select(DSL.asterisk())
|
val result = dslContext.select(
|
||||||
|
SCORES.ID,
|
||||||
|
SCORES.USER_ID,
|
||||||
|
USERS.USERNAME,
|
||||||
|
SCORES.DATE,
|
||||||
|
BEATMAPS.BEATMAP_ID,
|
||||||
|
BEATMAPS.BEATMAPSET_ID,
|
||||||
|
BEATMAPS.ARTIST,
|
||||||
|
BEATMAPS.TITLE,
|
||||||
|
BEATMAPS.STAR_RATING,
|
||||||
|
BEATMAPS.CREATOR,
|
||||||
|
BEATMAPS.VERSION,
|
||||||
|
SCORES.PP,
|
||||||
|
SCORES.FRAMETIME,
|
||||||
|
SCORES.UR,
|
||||||
|
SCORES.ADJUSTED_UR,
|
||||||
|
SCORES.SCORE,
|
||||||
|
SCORES.MODS,
|
||||||
|
SCORES.RANK,
|
||||||
|
SCORES.SNAPS,
|
||||||
|
SCORES.EDGE_HITS,
|
||||||
|
SCORES.PERFECT,
|
||||||
|
SCORES.MAX_COMBO,
|
||||||
|
SCORES.COUNT_300,
|
||||||
|
SCORES.COUNT_100,
|
||||||
|
SCORES.COUNT_50,
|
||||||
|
SCORES.COUNT_MISS,
|
||||||
|
SCORES.MEAN_ERROR,
|
||||||
|
SCORES.ERROR_VARIANCE,
|
||||||
|
SCORES.ERROR_STANDARD_DEVIATION,
|
||||||
|
SCORES.MINIMUM_ERROR,
|
||||||
|
SCORES.MAXIMUM_ERROR,
|
||||||
|
SCORES.ERROR_RANGE,
|
||||||
|
SCORES.ERROR_COEFFICIENT_OF_VARIATION,
|
||||||
|
SCORES.ERROR_KURTOSIS,
|
||||||
|
SCORES.ERROR_SKEWNESS
|
||||||
|
)
|
||||||
.from(SCORES)
|
.from(SCORES)
|
||||||
.join(USERS).on(SCORES.USER_ID.eq(USERS.USER_ID))
|
.join(USERS).on(SCORES.USER_ID.eq(USERS.USER_ID))
|
||||||
.join(BEATMAPS).on(SCORES.BEATMAP_ID.eq(BEATMAPS.BEATMAP_ID))
|
.join(BEATMAPS).on(SCORES.BEATMAP_ID.eq(BEATMAPS.BEATMAP_ID))
|
||||||
@ -101,7 +137,19 @@ class ScoreService(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun getSuspiciousScores(condition: Condition = getDefaultCondition()): List<SuspiciousScoreEntry> {
|
fun getSuspiciousScores(condition: Condition = getDefaultCondition()): List<SuspiciousScoreEntry> {
|
||||||
val result = dslContext.select(DSL.asterisk())
|
val result = dslContext.select(
|
||||||
|
SCORES.USER_ID,
|
||||||
|
USERS.USERNAME,
|
||||||
|
SCORES.REPLAY_ID,
|
||||||
|
SCORES.DATE,
|
||||||
|
BEATMAPS.BEATMAP_ID,
|
||||||
|
BEATMAPS.BEATMAPSET_ID,
|
||||||
|
BEATMAPS.TITLE,
|
||||||
|
BEATMAPS.STAR_RATING,
|
||||||
|
SCORES.PP,
|
||||||
|
SCORES.FRAMETIME,
|
||||||
|
SCORES.UR
|
||||||
|
)
|
||||||
.from(SCORES)
|
.from(SCORES)
|
||||||
.join(USERS).on(SCORES.USER_ID.eq(USERS.USER_ID))
|
.join(USERS).on(SCORES.USER_ID.eq(USERS.USER_ID))
|
||||||
.join(BEATMAPS).on(SCORES.BEATMAP_ID.eq(BEATMAPS.BEATMAP_ID))
|
.join(BEATMAPS).on(SCORES.BEATMAP_ID.eq(BEATMAPS.BEATMAP_ID))
|
||||||
@ -161,9 +209,25 @@ class ScoreService(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSimilarReplaysRecords(condition: Condition = DSL.noCondition(), includeBanned: Boolean = false): Result<Record> {
|
fun getSimilarReplaysRecords(condition: Condition = DSL.noCondition(), includeBanned: Boolean = false): List<Record> {
|
||||||
return dslContext
|
return dslContext
|
||||||
.select()
|
.select(
|
||||||
|
osuScoreAlias1.REPLAY_ID,
|
||||||
|
osuScoreAlias1.USER_ID,
|
||||||
|
osuUserAlias1.USERNAME,
|
||||||
|
osuScoreAlias1.DATE,
|
||||||
|
osuScoreAlias1.PP,
|
||||||
|
osuScoreAlias2.REPLAY_ID,
|
||||||
|
osuScoreAlias2.USER_ID,
|
||||||
|
osuUserAlias2.USERNAME,
|
||||||
|
osuScoreAlias2.DATE,
|
||||||
|
osuScoreAlias2.PP,
|
||||||
|
BEATMAPS.BEATMAP_ID,
|
||||||
|
BEATMAPS.TITLE,
|
||||||
|
BEATMAPS.STAR_RATING,
|
||||||
|
BEATMAPS.BEATMAPSET_ID,
|
||||||
|
SCORES_SIMILARITY.SIMILARITY
|
||||||
|
)
|
||||||
.from(SCORES_SIMILARITY)
|
.from(SCORES_SIMILARITY)
|
||||||
.join(osuScoreAlias1).on(osuScoreAlias1.REPLAY_ID.eq(SCORES_SIMILARITY.REPLAY_ID_1))
|
.join(osuScoreAlias1).on(osuScoreAlias1.REPLAY_ID.eq(SCORES_SIMILARITY.REPLAY_ID_1))
|
||||||
.join(osuUserAlias1).on(osuScoreAlias1.USER_ID.eq(osuUserAlias1.USER_ID))
|
.join(osuUserAlias1).on(osuScoreAlias1.USER_ID.eq(osuUserAlias1.USER_ID))
|
||||||
@ -198,7 +262,7 @@ class ScoreService(
|
|||||||
return mapSimilarReplays(replays)
|
return mapSimilarReplays(replays)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun mapSimilarReplays(replays: Result<Record>) = replays.map {
|
private fun mapSimilarReplays(replays: List<Record>) = replays.map {
|
||||||
// Extract necessary fields
|
// Extract necessary fields
|
||||||
var replayId1 = it.get(osuScoreAlias1.REPLAY_ID, Long::class.java)
|
var replayId1 = it.get(osuScoreAlias1.REPLAY_ID, Long::class.java)
|
||||||
var replayId2 = it.get(osuScoreAlias2.REPLAY_ID, Long::class.java)
|
var replayId2 = it.get(osuScoreAlias2.REPLAY_ID, Long::class.java)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user