Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-39503

Idea for increasing the size of resource id



    • Type: Feature Request
    • Status: OPEN
    • Priority: Critical
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Kernel
    • Labels:
    • Previous Issue Keys:


      Looking back at some old tickets

      The field resource_id (and related fields) in the content tables has remained a small 255 characters since the beginning of Sakai. The main problem now is that this limits the length of file names and directory structures since that entire information is stored in the resource id. Previously it was also a problem for URL's but that was "fixed" in 2.7. (Even though the fix involved actually creating a file which introduced problems of it's own such as importing a tool like Lessons without importing it's content)

      It looks like historically it's remained that low because of Mysql. Prior to 5.0.3 the varchar was limited to 255 characters. That makes sense. Then the index was also limited to 737 bytes (255*3 for UTF-8). However in more recent versions, the index of InnoDB tables is allowed to be as large as 3072 bytes (1024*3) and the varchar limitation is up to 65K. Oracle still has the 4K limit which is larger than both and should be safe to increase now, but should probably still stay in the same limit for consistency.

      So it seems like we could safely increase these id's where they are used up to the MySQL maximum of 1024, giving us a little more room on these ids. Anything else seems like it would require a more creative solution (which may or may not be worked on)

      Any feedback on this?


        Gliffy Diagrams


            Issue Links



                • Assignee:
                  k1team KERNEL TEAM (Inactive)
                  jonespm Matthew Jones
                • Votes:
                  5 Vote for this issue
                  12 Start watching this issue


                  • Created:

                    Git Source Code