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

Reply via email to