Re: autoPkTableExists() is flaky w/MSAccess

From: Øyvind Harboe (oyvind.harbo..ylin.com)
Date: Wed May 24 2006 - 02:13:13 EDT

  • Next message: Øyvind Harboe: "Re: autoPkTableExists() is flaky w/MSAccess"

    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
    



    This archive was generated by hypermail 2.0.0 : Wed May 24 2006 - 02:13:48 EDT