Chris
First of all, that's quite an old version of InstantDB, I'd recommend
getting 3.14 from the Lutris site. There have been quite a few bugs fixed
then, any number of which which could be responsible for this.
I was going to suggest that this might be an indexing bug until I read to
the end of your message:
>
>There are no indexes nor primary key defined for the UserAccount table.
>
>Is this a possible concurrency issue with multiple sessions in a single
>JVM hitting the db at the same time??
That _should_ be OK, but I think I'd need to see your database to take this
further. Is it possible to zip it up and mail it to me at
peter.hearty@lutris.com Let me know in advance if it zips to more than 250K
so that I can remove the size filter on my inbox.
Regards
Peter Hearty
Lutris Technologies UK Ltd.
-----Original Message-----
From: crink@betasys.com <crink@betasys.com>
To: instantdb@enhydra.org <instantdb@enhydra.org>
Date: 12 July 2000 22:30
Subject: InstantDB: Odd Select Results
>We're using InstantDB 3.10 on AIX 4.3.3 with JDK 1.1.8 and Jrun 2.3.3 and
>have created tables using the following commands:
>
>CREATE TABLE Users (UserID CHAR(40) PRIMARY KEY UNIQUE, FirstName
>CHAR(30), LastName CHAR(30), Password CHAR(40) NOT NULL, Email CHAR(100),
>RepEmail CHAR(100), Enable INT NOT NULL, NewMessage INT, MsgDelivery INT)
>CREATE TABLE UserAccount (UserID CHAR(40) NOT NULL FOREIGN KEY,
>AccountNumber CHAR(8) FOREIGN KEY)
>CREATE TABLE Account (AccountNumber CHAR(8) PRIMARY KEY UNIQUE, Enable INT
>NOT NULL)
>
>The database is populated through a web servlet-based interface via a JDBC
>connection. Essentially, users and accounts are set up and tied together
>via the UserAccount table. The servlet can be accessed by more than one
>user at the same time (concurrency issue?? ... not sure since there is
>only one JVM and the warnings in the documentation are for multiple
>JVM's).
>
>Anyhow, we're seeing a rather odd situation that appears to occur at
>random in the database. The following "selects" from commsql return
>different result sets (even though they should be the same):
>
>SELECT * FROM USERACCOUNT WHERE USERID='znc818712856'
>returns
>UserID, AccountNumber
>Row 1: znc818712856,18712856
>
>SELECT * FROM USERACCOUNT WHERE ACCOUNTNUMBER='18712856'
>returns
>UserID,AccountNumber
>Row 1: znc818712856,18712856
>Row 2: znc818712856,18712856
>
>Note that account number 18712856 is duplicated in the second select, but
>only shows up as such when selected by AccountNumber.
>
>Also, when we try to delete by AccountNumber, only one of the duplicated
>rows is deleted. Another delete must be executed to get rid of the second
>(duplicate) row.
>
>There are no indexes nor primary key defined for the UserAccount table.
>
>Is this a possible concurrency issue with multiple sessions in a single
>JVM hitting the db at the same time??
>
>Regards,
>Chris
-----------------------------------------------------------------------------
To unsubscribe from this mailing list, send email to majordomo@enhydra.org
with the text "unsubscribe instantdb" in the body of the email.
If you have other questions regarding this mailing list, send email to
the list admin at owner-instantdb@enhydra.org.
|