You are not logged in.
Pages: 1
Hello!
I faced with strange behavior while call method TSQLHttpClientWinHTTP.UpdateField on class inherited from TSQLRecord which contains TRecordVersion type property. If there is a published property of type TRecordVersion in class inherited from TSQLRecord then call of method TSQLHttpClientWinHTTP.UpdateField produces the following error:
20160124 17052021 C ERROR mORMotSQLite3.TSQLRestServerDB(032FA430) {"EORMException(04133CD0)":{"Message":"TSQLRestServerDB.GetAndPrepareStatement(UPDATE SrvMamClient SET TaskCount=?,TSQLPropInfoRTTIRecordVersion=? WHERE RowID=?) recognized 3 params, and 0 for SQLite3"}} for UPDATE SrvMamClient SET TaskCount=:(1):,TSQLPropInfoRTTIRecordVersion=:(1579848): WHERE RowID=:(1): // UPDATE SrvMamClient SET TaskCount=?,TSQLPropInfoRTTIRecordVersion=? WHERE RowID=?
Please check the code below:
HttpClient: TSQLHttpClientWinHTTP;
TSrvMamClient: TSQLRecord;
HttpClient.UpdateField(TSrvMamClient, 1, 'TaskCount', 1)
If I comment property of type TRecordVersion in TSrvMamClient class everything works fine.
Offline
Yes, I used version '1.18.2291'.
stack trace API 00553E62
005C41FF 00619112 0061AA78 0061ADF3 005C7D3C 0061C470 005DF5E8 005D5BBC 00604FFC 0054BF5A 0054B9D7 004C4A8C 0040B51A 754F338A 772497F2 772497C5
I can provide you with test project (modified 04 - HTTP Client-Server) if necessarily.
Last edited by dolfin (2016-01-25 14:34:24)
Offline
Please check the log below:
20160126 12411953 C ERROR mORMotSQLite3.TSQLRestServerDB(03BAB390) {"EORMException(03E6A680)":{"Message":"TSQLRestServerDB.GetAndPrepareStatement(UPDATE SrvMamClient SET TaskCount=?,TSQLPropInfoRTTIRecordVersion=? WHERE RowID=?) recognized 3 params, and 0 for SQLite3"}} for UPDATE SrvMamClient SET TaskCount=:(2):,TSQLPropInfoRTTIRecordVersion=:(1771): WHERE RowID=:(3): // UPDATE SrvMamClient SET TaskCount=?,TSQLPropInfoRTTIRecordVersion=? WHERE RowID=? stack trace API 005C79EB mORMot.TSQLRest.InternalLog (31496) 0061E9D6 mORMotSQLite3.TSQLRestServerDB.GetAndPrepareStatementRelease (767) 00620393 mORMotSQLite3.TSQLRestServerDB.InternalExecute (1152) 0062070F mORMotSQLite3.TSQLRestServerDB.EngineExecute (1213) 005CB61C mORMot.TSQLRest.ExecuteFmt (32641) 00621E2E mORMotSQLite3.TSQLRestServerDB.MainEngineUpdateField (1499) 005E3A38 mORMot.TSQLRestServer.EngineUpdateField (39014) 005D9F0E mORMot.TSQLRestServerURIContext.ExecuteORMWrite (36869) 006096BC mORMot.BackgroundExecuteProc (51396) 0054DB62 SynCommons.TSynBackgroundThreadMethod.Process (52119) 0054D5DF SynCommons.TSynBackgroundThreadAbstract.Execute (51988) 004C4A8C System.Classes.ThreadProc (14361) 0040B51A System.ThreadWrapper (24233)
Offline
Hi!
Do you have any news on the issue?
May be you need something else for investigations?
Offline
Looks like it's already fixed.
Please check https://synopse.info/fossil/info/530adf5475e9af5
ab,
Is it by design, that in mORMotDB.TSQLRestStorageExternal.EngineUpdateField/EngineUpdateFieldIncrement no update of TRecordVersion fields?
Thanks.
Offline
Pages: 1