jimcoly / h2database

Automatically exported from code.google.com/p/h2database
0 stars 0 forks source link

LOB Compression appears broken since 1.4.177 #583

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. stat.execute("set COMPRESS_LOB LZF"); (or DEFLATE) makes no difference to DB 
size
2. method not reached in debugger:   CompressLZF.compress(byte[] in, int inLen, 
byte[] out, int outPos)
3. changing version to 1.3.176 restores LOB compression to expected results.

What is the expected output? What do you see instead?

Please use labels and text to provide additional information.

Original issue reported on code.google.com by altin.p...@gmail.com on 15 Sep 2014 at 10:12

GoogleCodeExporter commented 9 years ago
Hmm, looks like LobStorageMap, ie. the LOB storage class we use for the 
MVStore, does not implement LOB compression.

Original comment by noelgrandin on 16 Sep 2014 at 12:11

GoogleCodeExporter commented 9 years ago
Yes, LobStorageMap doesn't support compression. However, the MVStore does 
support compression: 
http://h2database.com/javadoc/org/h2/engine/DbSettings.html#COMPRESS - that 
means with H2 version 1.4.x, except when explicitly disabling the MVStore, you 
can use the database URL jdbc:h2:~/test;compress=true to basically get the same 
as compress_lob, but in addition to compressing just the lob data, all data is 
compressed.

In future versions of H2, compress_lob will be removed.

In the meantime, I think it makes sense to document that compress_lob only 
applies to version 1.3.x or 1.4.x with MVStore disabled.

Original comment by thomas.t...@gmail.com on 16 Sep 2014 at 7:10