Hi,

There is Database.getModificationMetaId(), which should return a different
value whenever there was a change in the metadata. Maybe this could be used
to ensure the cache statement can / cannot be re-used.

Regards,
Thomas



On Mon, Aug 12, 2013 at 11:00 AM, Noel Grandin <[email protected]>wrote:

>
>  I was on 168, but testing with 173 gives the same error. Below is a test
> class and the output I get when I run it.
>
>
> Ah, thanks, that helped a lot. I have a working test case now:
>
>     private void testClearingCacheWithTableStructureChanges() throws
> Exception {
>         Connection conn = getConnection("queryCache;QUERY_CACHE_SIZE=10");
>         assertThrows(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1,
> conn).prepareStatement("SELECT * FROM TEST");
>         Statement stat = conn.createStatement();
>         stat.executeUpdate("CREATE TABLE TEST(col1 bigint, col2
> varchar(255))");
>         PreparedStatement prep = conn.prepareStatement("SELECT * FROM
> TEST");
>         prep.close();
>         stat.executeUpdate("DROP TABLE TEST");
>         assertThrows(ErrorCode.TABLE_OR_VIEW_NOT_FOUND_1,
> conn).prepareStatement("SELECT * FROM TEST");
>         conn.close();
>     }
>
>
> But no idea how to fix it easily.
>
> The problem is that the cache lives in Session, which logically above the
> layers that know about changes in metadata.
>
> I'll think further on this, but I don't expect to have a solution quickly.
>
>  --
> 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 [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/h2-database.
> 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to