You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by bu...@apache.org on 2005/05/23 19:29:05 UTC

DO NOT REPLY [Bug 35028] New: - [sandbox compress] add a memory efficient stream compress InputStream - e.g. a "DeflaterInputStream"

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=35028>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=35028

           Summary: [sandbox compress] add a memory efficient stream
                    compress InputStream - e.g. a "DeflaterInputStream"
           Product: Commons
           Version: unspecified
          Platform: Other
               URL: http://lists.mysql.com/java/8369
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: Sandbox
        AssignedTo: commons-dev@jakarta.apache.org
        ReportedBy: hauser@acm.org


Assume from a struts-tomcate web-app I get a large file that I want to store in
a DB. To save DB permanent storage, I want to compress this. To be portable, I
rather want to do that in java than on the DB-side with some proprietary commands.

In order not to have to load into the RAM at least the entire compressed output
by e.g. creating a ByteArrayOutputStream with for example
java.util.zip.GZIPOutputStream or java.util.zip.DeflaterOutputStream and then
converting it back to an InputStream for the PreparedStatement
stmt.setBinaryStream(int pos,
InputStream stream, int length), I envision an InputStream converter that is
memory efficient.

I started implementing it myself and got it working at least for
single-byte reads. But it is far from production-readiness - perhaps I should
rather extend java.io.PipedInputStream than trying to do my own efficient
buffer management and do all the synchronize() blocking etc. 
==> shouldn't something go into org.apache.commons.compress.zip?

There are certainly other applications for such a class.

P.S.: Alternatively, there is a "OutputStream java.sql.Blob.setBinaryStream(long
pos)" but for example in MySQL that "updatable BLOB that can update in-place" is
not yet implemented. Doing proprietary SQL-"COMPRESS" as per
http://dev.mysql.com/doc/mysql/en/string-functions.html is probably an even less
preferrable option.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org