That's very funny...
Learn-to-code site Code.org is apologising to its students after being caught by a database table maxing out, and dropping progress for an unknown number of participants. In its mea-culpa blog post, the group says it was burned by a database table with a 32-bit index. >“The way we store student coding activity is in a table …
if you were working on “CS Principles and CS Discoveries:” courses, the outage means there's an hour of your life that you won't get back.
Well, assuming the lesson is any good, its not a wasted hour, its an hour you spent learning things. If re-doing the things you learnt in that hour takes you another hour again, you probably didn't learn it that well and the extra look should be helpful.
We used to get this sort of problem sometimes with new DBAs working with Unisys' CODASYL DMS 1100 databse tech. The 36 bit db key word is chopped to include dataset #, page #, and slot #. A DBA had to keep the page size and number of pages front and center during design spec or data could be stored that couldn't be retrieved. Our local term for it was 'bit out'.
Don't understand the relevance of that sorry. The bug here is simply the wrong choice of data type meant all available values were exhausted. (Hint, for 64 bit fields that won't happen until after the heat death of the sun).
The xkcd comic refers to the common mistake (let me guess, it is still OWASP top error) of not using parametrised queries and so allow a user not just to provide data, but additionally instructions.
Biting the hand that feeds IT © 1998–2019