Question about disk-based file storage

Hello All,

I have recently implemented (via the use of overlays) the ability for RT
to store files on disk instead of in a BLOB of the database when the
file crosses some threshold. After I did this, I came across some posts
on this list (some three years old) debating the appropriateness of
handling files in this way… it also seems to me that files were
handled in this way in past versions of RT.

So, my question is why is this method of file storage frowned upon? I
made this change because I thought that my dbms (mysql) had a limit on
the maximum size of a table (which I later found is only os/file-system
dependent) and my individual files that will be committed can be quite

Anyways, I have also noticed that many of the file operations in RT are
managed by slurping the whole file in to memory and then operating on
it… this is problematic when the file becomes many mega bytes in size.
I would think that file streaming would be more straightforward with the
files on disk (though I am admittedly not that familiar with driver
capabilities or the DBI).

Anyways, I would be interested in pursuing friendly discussion on this
topic as I would like to be able to contribute some code that is
acceptable to the project, and I would very much like to help overcoming
some of these issues which I see as limitations.