[FIXED] Re: Firebird driver bughunt

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Sat Sep 13 2003 - 00:42:03 EDT

  • Next message: Andrus Adamchik: "Re: [ cayenne-Bugs-803355 ] Import EOModel: wrong default for NSCalendarDate/NSTimestamp"

    On Monday, September 8, 2003, at 04:40 AM, Holger Hoffstätte wrote:
    > I've looked into the Firebird OOM caused by
    > DataContextExtrasTst.(testCommitChangesError/testSelectException) and
    > am
    > unfortunately none the wiser. Performing the usual suspects with plain
    > JDBC like selecting from nonexiting tables, creating a table and
    > selecting
    > nonexisting columns etc. always raises the expected exceptions. All
    > testCommitChangesError does is pull the auto_pk_table from underneath
    > Cayenne to see whether inserts fail as expected, but for some reason
    > the
    > driver goes into la-la land during commitChanges() and trying to SELECT
    > NEXT_ID FROM AUTO_PK_SUPPORT WHERE TABLE_NAME = 'ARTIST'.
    >
    > No clue what this could be :(
    > Holger

    Holger,

    I just fixed this issue.

    It was an ugly bug in Cayenne ConnectionWrapper - on database failure
    it would recursively loop between "prepareStatement" and "reconnect"
    methods, creating new database connections over and over again. Hence -
    OutOfMemory. We haven't noticed it with other databases,t since not all
    drivers throw an exception in "Connection.prepareStatement" if the
    statement is invalid. Most defer it till such invalid PreparedStatement
    is actually executed. So we couldn't reproduce the "reconnect"
    situation until we tried Firebird.

    Anyway, now we only have the RTRIM issue left.

    Andrus



    This archive was generated by hypermail 2.0.0 : Sat Sep 13 2003 - 00:38:25 EDT