Closed m3adow closed 6 years ago
Will give it a look tomorrow, when I'm back at my work station. Should be a quick fix. Do you know if summonerIDs are affected as well? I only know that matchIds are using BigIntegers because they exceed 32bit.
I just now had time to check for summonerIDs. I checked all Challenger and Master accounts in every region and couldn't find any occasion of a summonerId being too big for a normal int. So I suppose the problem does not apply to summonerIDs.
Thanks for checking summoner ids. I've fixed the bug in PR #8. You can pull
it from github as soon as it gets merged:
pip install -e 'git+https://github.com/meraki-analytics/cassiopeia-datastores#egg=cassiopeia-sqlstore&subdirectory=cassiopeia-sqlstore'
As I wrote in the PR message, the fix will only be in affect after the database scheme has been changed. You can do that manually (if possible in your database) or delete affected tables and let the library rebuild them.
Ok just merged, thanks @Satrium for always being on top of this even when I'm not!
I'm using the
cassiopeia-sqlstore
plugin with PostgreSQL as database.The "accountId" in the "summoner" table is only defined as an integer, resulting in
2147483647
being the biggest possible number in PostgreSQL. But there are accounts with way higher Ids, e.g. summoner "giverank1" with the summoner Id "20182777" in Turkey (TR) has the accountId1946032892047936
.As of now, I've encountered this error in Turkey and Japan, so perhaps it's limited to newer regions.
If I'm not mistaken, the same problem could apply to "p_accountId" in the "match_participant_identities" table.
Sadly, I'm not very experienced with SQLAlchemy, so I don't think I'm able to submit a PR. I suspect changing the type to a bigint should be sufficient, but I'm very uncertain.
Here is the full resulting stack trace (with anonymized pathes):