contract
6.19.3
Contract 6.19.3
Faster level gaps and trends, and three more tools on the analytical budget. Wire shapes are unchanged.
- Every level gap (
mean_level_gaponbattles_cards,battles_decks, the two meta tools,players_summaryandclans_standings) now reads the opponent's deck level from the battle row, not from a lookup per battle. A clan's seasonbattles_meta_cardswent from 8.2 s to 2.3 s, andbattles_meta_decksfrom 6.7 s to 0.4 s. The values are the same. battles_trendsno longer joins every battle back to the battle table for fields the participant row already carries.battles_trends,cards_cardandcards_synergyjoin the analytical reads. They get the larger sort memory, and they return a structuredquery_timeoutwith a request id at the 18-second budget instead of racing the function's deadline.war_historywas already one of these reads; the limits page now lists it.
Performance; the only behaviour change is which error an over-budget read returns.