DBI documentation says
> The statement handle will return one row per column, ordered by
> TABLE_CAT, TABLE_SCHEM, TABLE_NAME, and KEY_SEQ.
But since we're only querying one table the three first ones are by
definition the same, so it's only necessary to sort by KEY_SEQ.
This happened to come out in the same order on previous versions of
perl, but as of 5.17.10, hash insertion and traversal order is more
randomised, so now it fails mos of the time.