MathematicalMedicine / diver-issues

Semipublic tracking of issues for the DIVER front end
0 stars 0 forks source link

A sufficiently long username in Crowd will render that user unable to use DIVER #257

Closed Viqsi closed 1 month ago

Viqsi commented 1 month ago

Cohorts table column: `owner` varchar(32) DEFAULT NULL Valid possible username per ISI's Crowd instance: veronica.vieland@nationwidechildrens.org (40 characters)

Any attempt to INSERT INTO the cohorts table with that username is going to fail with Data too long for field 'owner'. Also true for everywhere else an "owner" column exists. Or is used.

Basically, I need to go through, find everywere we've got "owner" presumed to be VARCHAR(32), and change it to something else. @WValenti suggests TEXT type, which should work in all instances, but I need to find 'em all before I can be certain.

Viqsi commented 1 month ago

Not quite done yet. The procs are changed but the tables aren't.

Viqsi commented 1 month ago

In attempting to change the tables to use TEXT, I ran into issues in which using TEXT for table keys is... troubled. Instead, I'm opting for VARCHAR(254), because that's the practical limit of the length of an email address per the RFCs: https://stackoverflow.com/questions/386294/what-is-the-maximum-length-of-a-valid-email-address https://www.directedignorance.com/blog/maximum-length-of-email-address

That works pretty consistently and should handle anything we can reasonably expect to encounter.