Joerg Thuemmler
27-Dec-2005, 08:52 AM
Hi,
we use df 3.1d on linux (kernel 2.4.19 actually), our users connect
as terminal users on the box (ssh), all databases and programs
running on the server box. Last time I had some seldom lock
problems, like a deadlock stopping most users work. Other was a
get_current_lockcount not 0 where it should be (and in 1000s of
cases is). Today the following construction failed (a little bit
simplified):
....
autopage sc1
name today artnr menge ...
...
clear p502
sysdate4 today
entermode
ARTIN:
entry pa21.artnr artnr {autofind}
[not found] goto ARTIN
entry 0 menge
endmode
gosub GETNR // gets unique number nr
reread pa21
calc (pa21.menge+menge) to pa21.menge
move today to pa21.lastdate
save pa21
move nr to p502.nr
move menge to p502.menge
move today to p502.budate
save p502
unlock
....
after running this (working a million times) p502 record was written
correctly, but no changes were made to pa21!
If there was a finding problem, so how autofind did work but reread
didn't?
I can't see any way to produce this, repeating gave the correct
behavior (p502 record written, pa21 changed). Lurking into several
directions i found the possibility to set transaction type in dffile
but no explanation in my users manual, this selection doesn't appear
in the "dffile" section at all and the explanation on client/server
architectures is poor.
Who knows the use of this, does it have any influence on a terminal
servers system?
Some other ideas to explain the above errors?
thx for any help...
joerg
we use df 3.1d on linux (kernel 2.4.19 actually), our users connect
as terminal users on the box (ssh), all databases and programs
running on the server box. Last time I had some seldom lock
problems, like a deadlock stopping most users work. Other was a
get_current_lockcount not 0 where it should be (and in 1000s of
cases is). Today the following construction failed (a little bit
simplified):
....
autopage sc1
name today artnr menge ...
...
clear p502
sysdate4 today
entermode
ARTIN:
entry pa21.artnr artnr {autofind}
[not found] goto ARTIN
entry 0 menge
endmode
gosub GETNR // gets unique number nr
reread pa21
calc (pa21.menge+menge) to pa21.menge
move today to pa21.lastdate
save pa21
move nr to p502.nr
move menge to p502.menge
move today to p502.budate
save p502
unlock
....
after running this (working a million times) p502 record was written
correctly, but no changes were made to pa21!
If there was a finding problem, so how autofind did work but reread
didn't?
I can't see any way to produce this, repeating gave the correct
behavior (p502 record written, pa21 changed). Lurking into several
directions i found the possibility to set transaction type in dffile
but no explanation in my users manual, this selection doesn't appear
in the "dffile" section at all and the explanation on client/server
architectures is poor.
Who knows the use of this, does it have any influence on a terminal
servers system?
Some other ideas to explain the above errors?
thx for any help...
joerg