nageswaragunupudi wrote:Thanks for the feedback.
Now we have modified the method EditBaseRecord() in the above lines. In our tests, it is working as expected.
The modification is being released in FWH1910.
The last parameter lLock can be a codeblock also. When read fails, this codeblock is executed with oRs as parameter.
Hi Mr. Rao,
The last parameter lLock can be a codeblock also. When read fails, this codeblock is executed with oRs as parameter.
Have you changed this?
October, November, December 2019
- Code: Select all Expand view
* FWMariaRowSet METHOD EditBaseRecord( cFieldList, lNew, bEdit, oBrw, lLock )
If lLock is set to .t. or a codeblock is specified, the record is locked while
reading and on failure to read, the codeblock is evaluated with the rowset as
parameter.
Till FWH1909, read is attempted with clause "LOCK IN SHARE MODE". This approach
was not giving the expected results as other users also are able to read the
record for lock and attempt to write was resulting in deadlock issues.
This is now modified to read with clause "FOR UPDATE". This change is working
as expected.
viewtopic.php?f=3&t=37928
- Code: Select all Expand view
::oRs_View:EditBaseRecord( nil, .f., { |oRec| ::GO_DETAYS(lMoveState, oRec ) }, ::oBrw, {|oRs|Locked_Problem(oRs)} )
if we set to .T. or codeblock lLock parameter, it gives an error.
- Code: Select all Expand view
Application
===========
Path and name: C:\PrgW_SQL\Icra\IcraW.exe (32 bits)
Size: ********* bytes
Compiler version: Harbour 3.2.0dev (r1904111533)
FiveWin version: FWH 20.02
C compiler version: Microsoft Visual C++ 19.20.27508 (32-bit)
Windows version: 6.2, Build 9200
Time from start: 0 hours 0 mins 6 secs
Error occurred at: 01/04/2020, 12:27:17
Error description: Error BASE/1081 Argument error: +
Args:
[ 1] = C SET @@TRANSACTION_ISOLATION = '
[ 2] = U
Stack Calls
===========
Called from: => CHARACTER:__OPPLUS( 0 )
Called from: .\source\internal\FWMARIA.PRG => FWMARIACONNECTION:INTRANSACTION( 6478 )
Called from: .\source\internal\FWMARIA.PRG => (b)FWMARIACONNECTION( 5644 )
Called from: .\source\internal\FWMARIA.PRG => FWMARIACONNECTION:BEGINTRANSACTION( 0 )
Called from: .\source\internal\FWMARIA.PRG => FWMARIAROWSET:EDITBASERECORD( 4888 )
Called from: .\TOb_Browse1_SQL.prg => TYK_LIST_SQL:GO_DETAY( 838 )