Row not found

2 posts, 0 answers
  1. Galin
    Galin avatar
    7 posts
    Member since:
    Aug 2013

    Posted 05 Sep 2013 Link to this post

    Hello,
    I've isolated my problem to the following example:
    Single context, on the left: listbox with 2 'Request' items; on the right: the Date and User properties for the selected Request
    Both items display correctly, and modifying the User property works fine. But for some reason changing the date only works for the first Request(ID=2), changing it for the second one(ID=3) throws a Telerik.OpenAccess Error: 887 : Row not found: GenericOID@a8ee84cc Request ID=3. I've logged a simple reproduction where first I modify and save the date for Request(ID=2), then I try to do the same with the date of Request(ID=3) and finally I update the User for the one that was supposed to be missing and it works fine :)

    About to change model property: Date sender: Sklad.Data.Request

    Telerik.OpenAccess Information: 636 : sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
    Telerik.OpenAccess Information: 637 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-843729013
    Telerik.OpenAccess Information: 638 : driver.con.begin            54 ReadCommitted
    Telerik.OpenAccess Information: 639 : driver.con.createStat       54
    Telerik.OpenAccess Information: 640 : driver.pspool.alloc         48 54 UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
    sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
    driver.pool.alloc           1 active=1/10 idle=1/10 con=-843729013
    driver.con.begin            54 ReadCommitted
    driver.con.createStat       54
    driver.pspool.alloc         48 54 UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
    driver.con.prepareCall      54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2
    Telerik.OpenAccess Information: 641 : driver.con.prepareCall      54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2
    Telerik.OpenAccess Information: 642 : driver.stat.executeNonQuery 54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2 [@p0="2013-07-31" @p1=2 @p2="2013-07-30"]
    Telerik.OpenAccess Information: 643 : driver.con.commit           54
    Telerik.OpenAccess Information: 644 : driver.con.close            54
    Telerik.OpenAccess Information: 645 : cache.evict.oids            1
    Telerik.OpenAccess Information: 646 : sm.begin                    1 optimistic
    Telerik.OpenAccess Information: 647 : sm.fetch                    Sklad.Data.Batch 2 [__requestsSklad.Data.Batch2] _requests 0 state(s)
    Telerik.OpenAccess Information: 648 : driver.pool.alloc           1 active=1/10 idle=0/10 con=-843663477
    Telerik.OpenAccess Information: 649 : driver.con.createStat       53
    Telerik.OpenAccess Information: 650 : driver.pspool.alloc         49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
    driver.stat.executeNonQuery 54 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2 [@p0="2013-07-31" @p1=2 @p2="2013-07-30"]
    driver.con.commit           54
    driver.con.close            54
    cache.evict.oids            1
    sm.begin                    1 optimistic
    sm.fetch                    Sklad.Data.Batch 2 [__requestsSklad.Data.Batch2] _requests 0 state(s)
    driver.pool.alloc           1 active=1/10 idle=0/10 con=-843663477
    driver.con.createStat       53
    driver.pspool.alloc         49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
    driver.con.prepareCall      53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[Telerik.OpenAccess Information: 651 : driver.con.prepareCall      53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                       
    Telerik.OpenAccess Information: 653 : driver.stat.execQuery       53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                        [@p0=2]
    Telerik.OpenAccess Information: 652 : driver.con.connect          55 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
    Telerik.OpenAccess Information: 654 : driver.rs.next
    Telerik.OpenAccess Information: 655 : driver.con.connect          56 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
    Telerik.OpenAccess Information: 656 : driver.rs.next
    Telerik.OpenAccess Information: 657 : driver.rs.next
    Telerik.OpenAccess Information: 658 : driver.rs.close
    BatchID]) WHERE a.[ID] = @p0                                       
    driver.con.connect          55 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
    driver.stat.execQuery       53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                        [@p0=2]
    driver.rs.next
    driver.con.connect          56 enlist=false;data source="C:\Users\Otherside\Documents\Visual Studio 2012\Projects\Sklad\Sklad.Data\LocalDatabase\Sklad.sqlite"
    driver.rs.next
    driver.rs.next
    driver.rs.close
    driver.pspool.release       49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERTelerik.OpenAccess Information: 659 : driver.pspool.release       49 53 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
    Telerik.OpenAccess Information: 660 : driver.con.close            53
    Telerik.OpenAccess Information: 661 : sm.fetch                    Sklad.Data.Batch 2 [__functionSklad.Data.Batch] _function 0 state(s)
    Telerik.OpenAccess Information: 662 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-843794549
    Telerik.OpenAccess Information: 663 : driver.con.createStat       55
    Telerik.OpenAccess Information: 664 : driver.pspool.alloc         48 55 SELECT a.[FunctionID] COL1, b.[ID] COL2, b.[Text] COL3 FROM [Batches] a LEFT JOIN [Functions] AS b ON (a.[FunctionID] = b.[ID]) WHERE a.[ID] = ?                                       
    Telerik.OpenAccess Information: 665 : driver.con.prepareCall      55 SELECT a.[FunctionID] COL1, b.[ID] COL2, b.[Text] COL3 FROM [Batches] a LEFT JOIN [Functions] AS b ON (a.[FunctionID] = b.[ID]) WHERE a.[ID] = @p0                                       
    Telerik.OpenAccess Information: 666 : driver.stat.execQuery       55 SELECT a.[FunctionID] COL1, b.[ID] COL2, b.[Text] COL3 FROM [Batches] a LEFT JOIN [Functions] AS b ON (a.[FunctionID] = b.[ID]) WHERE a.[ID] = @p0                                        [@p0=2]
    Telerik.OpenAccess Information: 667 : driver.rs.next
    Telerik.OpenAccess Information: 668 : driver.rs.close
    E a.[ID] = ?                                       
    driver.con.close            53



    About to change model property: User sender: Sklad.Data.Request
    Telerik.OpenAccess Information: 827 : sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
    Telerik.OpenAccess Information: 828 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-842942582
    Telerik.OpenAccess Information: 829 : driver.con.begin            68 ReadCommitted
    Telerik.OpenAccess Information: 830 : driver.con.createStat       68
    Telerik.OpenAccess Information: 831 : driver.pspool.alloc         48 68 UPDATE [Requests] SET [UserID]=? WHERE [ID] = ? AND [UserID]=?
    Telerik.OpenAccess Information: 832 : driver.con.prepareCall      68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2
    Telerik.OpenAccess Information: 833 : driver.stat.executeNonQuery 68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2 [@p0=2 @p1=3 @p2=1]
    Telerik.OpenAccess Information: 834 : driver.con.commit           68
    sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
    driver.pool.alloc           1 active=1/10 idle=1/10 con=-842942582
    driver.con.begin            68 ReadCommitted
    driver.con.createStat       68
    driver.pspool.alloc         48 68 UPDATE [Requests] SET [UserID]=? WHERE [ID] = ? AND [UserID]=?
    driver.con.prepareCall      68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2
    driver.stat.executeNonQuery 68 UPDATE [Requests] SET [UserID]=@p0 WHERE [ID] = @p1 AND [UserID]=@p2 [@p0=2 @p1=3 @p2=1]
    driver.con.commit           68
    Telerik.OpenAccess Information: 835 : driver.con.close            68
    Telerik.OpenAccess Information: 836 : cache.evict.oids            1
    Telerik.OpenAccess Information: 837 : sm.begin                    1 optimistic
    Telerik.OpenAccess Information: 838 : sm.fetch                    Sklad.Data.Batch 3 [__requestsSklad.Data.Batch2] _requests 0 state(s)
    Telerik.OpenAccess Information: 839 : driver.pool.alloc           1 active=1/10 idle=0/10 con=-843401335
    Telerik.OpenAccess Information: 840 : driver.con.createStat       69
    Telerik.OpenAccess Information: 841 : driver.pspool.alloc         48 69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
    Telerik.OpenAccess Information: 842 : driver.con.prepareCall      69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                       
    driver.con.close            68
    cache.evict.oids            1
    sm.begin                    1 optimistic
    sm.fetch                    Sklad.Data.Batch 3 [__requestsSklad.Data.Batch2] _requests 0 state(s)
    driver.pool.alloc           1 active=1/10 idle=0/10 con=-843401335
    driver.con.createStat       69
    driver.pspool.alloc         48 69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
    driver.con.prepareCall      69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                       
    driver.stat.execQuery       69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-Telerik.OpenAccess Information: 843 : driver.stat.execQuery       69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = @p0                                        [@p0=3]
    Telerik.OpenAccess Information: 844 : driver.rs.next
    Telerik.OpenAccess Information: 845 : driver.rs.next
    Telerik.OpenAccess Information: 846 : driver.rs.close
    Telerik.OpenAccess Information: 847 : driver.pspool.release       48 69 SELECT b.[ID] COL1, b.[BatchID] COL2, b.[BatchID] COL3, strftime('%Y-%m-%d %H:%M:%f',b.[Date]) COL4, b.[ID] COL5, b.[UserID] COL6, b.[UserID] COL7 FROM [Batches] a LEFT JOIN [Requests] AS b ON (a.[ID] = b.[BatchID]) WHERE a.[ID] = ?                                       
    Telerik.OpenAccess Information: 848 : driver.con.close            69




    About to change model property: Date sender: Sklad.Data.Request

    Telerik.OpenAccess Information: 887 : sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
    Telerik.OpenAccess Information: 888 : driver.pool.alloc           1 active=1/10 idle=1/10 con=-843597943
    Telerik.OpenAccess Information: 889 : driver.con.begin            72 ReadCommitted
    sm.store                    1 1 OID(s) delete 0 OID(s) 3 returnFieldsUpdatedBySM
    driver.pool.alloc           1 active=1/10 idle=1/10 con=-843597943
    driver.con.begin            72 ReadCommitted
    driver.con.createStat       72
    Telerik.OpenAccess Information: 890 : driver.con.createStat       72
    Telerik.OpenAccess Information: 891 : driver.pspool.alloc         49 72 UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
    Telerik.OpenAccess Information: 892 : driver.con.prepareCall      72 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2
    Telerik.OpenAccess Information: 893 : driver.stat.executeNonQuery 72 UPDATE [Requests] SET [Date]=@p0 WHERE [ID] = @p1 AND [Date]=@p2 [@p0="2013-08-30" @p1=3 @p2="2013-08-29"]
    Telerik.OpenAccess Error: 887 : Row not found: GenericOID@a8ee84cc Request ID=3
    UPDATE [Requests] SET [Date]=? WHERE [ID] = ? AND [Date]=?
    Params: [@p0="2013-08-30" @p1=3 @p2="2013-08-29"]
    Telerik.OpenAccess Information: 894 : sm.rollback                 1
    Telerik.OpenAccess Information: 895 : driver.con.rollback         72
    Telerik.OpenAccess Information: 896 : driver.con.close            72


    Requests(after):
    UserID  ID    Date        BatchID
    2           2    7/31/2013    2
    2           3    8/29/2013    3
  2. Galin
    Galin avatar
    7 posts
    Member since:
    Aug 2013

    Posted 06 Sep 2013 Link to this post

    I'm sorry to the people(if any) who actually went through the log..The problem has went away (as I secretly suspected it would) when I introduced the actual 'add' buttons to my view.. What I did before is add the values to the db by hand(allowing for the autogen to generate the indexes) and it must have somewhat confused the ORM, even though before each session(incl. the one in the example) I would recreate the db using the auto-generated script.
    Anyway it was a strange behavior and I'm happy it's now gone away :)
  3. DevCraft banner
Back to Top