Web browser: ---
            Bug ID: 61111
           Summary: Change log_id, page_id, rc_id, rev_id, and user_id to
                    bigint unsigned
           Product: MediaWiki
           Version: 1.23-git
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: Unprioritized
         Component: Database
    Classification: Unclassified
   Mobile Platform: ---

Some wikis (e.g. Inclupedia) may wish to import Wikipedia's logging, page,
recentchange, revision, and user data, using the same primary key values for
that imported data as Wikipedia, while also having their own data in those
fields, starting at, e.g., log_id, page_id, rc_id, rev_id, and user_id 1
quadrillion for future-proofing purposes. This will require a change of these
primary keys to bigint unsigned, since int unsigned maxes out at about 2.7

These keys are going to hit their maxes eventually anyway on enwiki, although
it might take a few decades more. Going to bigint unsigned will use up more
storage, though.

Another issue with this is extensive core use of intval() on these primary
keys. One solution is to create a wfBigintval() global function that removes
any decimal as intval does and removes any non-numeric characters. However,
then it will return a string rather than an int; hopefully no one does any
mathematical operations on these, or it will be necessary to come up with
alternative ways of doing those.

I can change old_id to bigint unsigned as well, if you think that would be
helpful. Should we just migrate all primary keys to bigint unsigned? See also
bug 60962, which this will at least partly fix. See also [[mw:Manual:Primary
key storage in other fields]].

You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
Wikibugs-l mailing list

Reply via email to