On Tue, 2006-05-23 at 18:00 +0200, Tore Halset wrote: > On May 23, 2006, at 10:34, Øyvind Harboe wrote: > > > As far as I can tell JdbcPkGenerator.autoPkTableExists() is flaky > > w/MSAccess. > > > > This is a problem when I try to run the JUnit tests as it leads to > > exceptions when JdbcPkGenerator.createAutoPk() tries to create the > > AUTO_PK_SUPPORT table when the table already exists. > > > > It is almost as if the md.getTables(null, null, "AUTO_PK_SUPPORT", > > null) > > returns stale information. > > If getTables() does not work, perhaps you could issue a "select * > from AUTO_PK_SUPPORT" in your own PkGenerator and look for > SQLExceptions?
Good suggestion. I tried it and got closer to the core of the problem. It appears that it takes a couple of seconds from a table is created until it is possible to reliably check for the existence of AUTO_PK_SUPPORT. My data is weak, but I have not yet observed the problem if I add a 3000ms pause before I check for the presence of AUTO_PK_SUPPORT. A wild guess: Could it be that I'm getting bitten by connection pooling? One connection is used to create the table, another(stale) is used to check for the presence of AUTO_PK_SUPPORT. -- Øyvind Harboe http://www.zylin.com
