No LETO usando transações, ele so enxerga o registro inserido pela estação depois de comitar a transação.
Ocorre q esse comportamento eh DIFERENTE de outros RDD's (DBFCDX, MEDIATOR+MYSQL), que mesmo antes do Commit o registro esta visivel para a maquina que o lançou. No leto SEM TRANSAÇÃO tbm o registro fica visivel.
O problema esta somente qndo ha transação.
Teste Leto com Transação:
Function Main( cPath )
Local i, aStru
Field NAME, NUM, INFO, DINFO
REQUEST LETO
RDDSETDEFAULT( "LETO" )
SET DATE FORMAT "dd/mm/yy"
IF Empty( cPath )
cPath := "//127.0.0.1:2812/temp/"
ELSE
cPath := "//" + cPath + Iif( Right(cPath,1) $ "/\", "", "/" )
ENDIF
Leto_fErase( cPath+"test1" )
dbCreate( cPath+"test1", { {"CODIGO","N",5,0}, {"DESCRI","C",10,0} } )
? "File has been created"
USE ( cPath+"test1" ) New
? "File has been opened"
INDEX ON CODIGO TAG CHAVE
? "File has been indexed"
leto_BeginTransaction()
APPEND BLANK
REPLACE CODIGO WITH 1
REPLACE DESCRI WITH "TESTEEEE"
? "Records has been added"
DbGoTop()
? DbSeek( 1 ) // nao encontrou o registro q acabou de ser inserido
leto_CommitTransaction()
DbGoTop()
? DbSeek( 1 ) // agora encontrou, depois do commit
?
? "Press any key to finish..."
Inkey(0)
Return Nil
Teste Leto SEM TRANSAÇÃO:
Function Main( cPath )
Local i, aStru
Field NAME, NUM, INFO, DINFO
REQUEST LETO
RDDSETDEFAULT( "LETO" )
SET DATE FORMAT "dd/mm/yy"
IF Empty( cPath )
cPath := "//127.0.0.1:2812/temp/"
ELSE
cPath := "//" + cPath + Iif( Right(cPath,1) $ "/\", "", "/" )
ENDIF
Leto_fErase( cPath+"test1" )
dbCreate( cPath+"test1", { {"CODIGO","N",5,0}, {"DESCRI","C",10,0} } )
? "File has been created"
USE ( cPath+"test1" ) New
? "File has been opened"
INDEX ON CODIGO TAG CHAVE
? "File has been indexed"
APPEND BLANK
REPLACE CODIGO WITH 1
REPLACE DESCRI WITH "TESTEEEE"
? "Records has been added"
DbGoTop()
? DbSeek( 1 ) // ENCONTROU antes do commit (ainda no buffer)
DbCommit()
DbUnLock()
DbGoTop()
? DbSeek( 1 ) // ENCONTROU novamente, depois do commit
?
? "Press any key to finish..."
Inkey(0)
Return Nil
Teste em DBFCDX:
Function Main( cPath )
Local i, aStru
Field NAME, NUM, INFO, DINFO
REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )
SET DATE FORMAT "dd/mm/yy"
fErase( "test1.dbf" )
dbCreate( "test1.dbf", { {"CODIGO","N",5,0}, {"DESCRI","C",10,0} } )
? "File has been created"
USE ( "test1" ) New
? "File has been opened"
INDEX ON CODIGO TAG CHAVE
? "File has been indexed"
APPEND BLANK
REPLACE CODIGO WITH 1
REPLACE DESCRI WITH "TESTEEEE"
? "Records has been added"
DbGoTop()
? DbSeek( 1 ) // ENCONTROU o registro q acabou de ser inserido mesmo ANTES DO COMMIT
DbCommit()
DbUnLock()
DbGoTop()
? DbSeek( 1 ) // ENCONTROU novamente, depois do commit
?
? "Press any key to finish..."
Inkey(0)
Return Nil