Hi,

> Has anyone tried storing a BLOB in a database that uses MVTableEngine?

I didn't test it yet. Please note the MVTableEngine is very much work in
progress. There are still quite many missing features, and it will take a
while until it's ready. I'm not sure if it makes sense yet to test it,
unless you want to help implementing it. But anyway thanks a lot for the
test case! I will write a test case based on your code. So you don't need
to file a bug or so.

At this stage I'm implementing the basic transactional features (class
TransactionStore).
My original implementation of that class was much too slow, and the current
implementation also isn't good enough yet, for example because it generates
many short-lived objects. This will need to be fixed first. Then, there are
still quite many missing features. The blob / clob storage might be based
on org.h2.mvstore.StreamStore (not sure yet).

Regards,
Thomas






On Fri, Apr 19, 2013 at 9:49 PM, Stan <h...@data-bag.org> wrote:

> Dear H2 committers and users,
>
> Has anyone tried storing a BLOB in a database that uses MVTableEngine?
> When I attempt to retrieve a binary stream longer than 128 bytes from an
> MVStore table, I am seeing this exception:
>
> Exception in thread "main" java.io.IOException:
> org.h2.jdbc.JdbcSQLException: IO Exception: "Missing lob entry: 1/0"
> [90028-171]
>     at
> org.h2.message.DbException.convertToIOException(DbException.java:348)
>     at
> org.h2.store.LobStorage$LobInputStream.fillBuffer(LobStorage.java:466)
>     at org.h2.store.LobStorage$LobInputStream.read(LobStorage.java:380)
>     at PersistBLOB.run(PersistBLOB.java:75)
>     at PersistBLOB.main(PersistBLOB.java:144)
> Caused by: org.h2.jdbc.JdbcSQLException: IO Exception: "Missing lob entry:
> 1/0" [90028-171]
>     at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
>     at org.h2.message.DbException.get(DbException.java:169)
>     at org.h2.message.DbException.get(DbException.java:146)
>     at org.h2.store.LobStorage.readBlock(LobStorage.java:228)
>     at
> org.h2.store.LobStorage$LobInputStream.fillBuffer(LobStorage.java:463)
>     ... 3 more
>
> I have tried it with H2 version 1.3.171 and OpenJDK 6 on Linux Ubuntu
> 12.04. I have seen the same problem with Sun Java SE 1.6.0 on Windows XP as
> well. You can use the example (PersistBLOB.java) at
>
> http://www.mysticpaste.com/view/cxSbB9NNRp?2
>
> to reproduce it. Of course, you will need h2-1.3.171.jar on your classpath
> when compiling and running my example.
>
> Note that when I turn off MVStore (`-nomv` option) or make the stream 128
> bytes or shorter, (`-size 128` option), the exception disappears.
>
> This is my first post within your community, so I would appreciate if
> someone could review it and tell me if this is might be a bug or something
> that has not yet been implemented. If you need further information or help
> with filing a bug report, submitting a regression test, or fixing the
> problem, please let me know.
>
> Best regards,
> Stan.
>
> --
> You received this message because you are subscribed to the Google Groups
> "H2 Database" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to h2-database+unsubscr...@googlegroups.com.
> To post to this group, send email to h2-database@googlegroups.com.
> Visit this group at http://groups.google.com/group/h2-database?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To post to this group, send email to h2-database@googlegroups.com.
Visit this group at http://groups.google.com/group/h2-database?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to