Tava pegando um erro, nem fiz ainda o isolamento do problema, mas é/era na função UNLOCK, com WA = 1 e SHARED_TABLES = 1
Não sei se tem a ver com um "field type = M" e logo após um "field type = D" no DBF, tenho que simular o erro, mas final de ano tô muito ocupado.
Acho que foi o Alexandre Santos (AlxSts) que pegou esse BO. !?
! fix behaviour for field types: HB_FT_MODTIME & HB_FT_ROWVER,
done by receiving new record data after unlocking/ commit a record;
2018-11-19 11:19 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.github.com)
* include/letocl.h
* source/client/leto1.c
* source/client/letocl.c
! don't try lock/ unlock requests to server for *exclusive* table
! fix behaviour for field types: HB_FT_MODTIME & HB_FT_ROWVER,
done by receiving new record data after unlocking/ commit a record;
This applies only to such tables, any else behave as before.
; as *exclusive* table do not 'lock', DbUnlock() will not update
those fields -- DbCommit() must be used instead/ additionally
; these fields are not updated during active transaction at client,
fields are filled/ use-able firstly after transaction is commited
* new boolean flag fModStamp to indicate table with above field-types
* add RecNo to flush request
* include/srvleto.h
* source/server/letofunc.c
* move flush into leto_UpdateRec(),
add flushing in leto_Transaction() for exclusive 'bModStamp' tables
* return record data for bModStamp table in leto_Flush(), leto_Unlock()
2018-10-10 11:21 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.github.com)
* source/client/letocl.c
* debug message in leto_ParseRecord()
2018-10-09 19:38 UTC+0100 Rolf 'elch' Beckmann (elchs users.noreply.github.com)
* source/client/letocl.c
- remove unused headers
% activate infinite caching for *exclusive WA* ( LETO_EXCL_HOTBUFFER ),
means once send data is not timeout refreshed from server for SKIP/ GOTO
* source/server/letofunc.c
! leto_UpdateRecAddflush() / leto_UpdateRecUpdflush():
set bBeQuiet flag to prevent an (too) early de-select of the WA,
possible done in leto_SendAnswer() for leto_UpdateRec();
WA is needed afterwards for the leto_Unlock() / leto_Flush()
Saudações,
Itamar M. Lins Jr.