I am going to post here a response I got from Tim Penner in the TAOW a bit 
earlier today. While it does not change my mind that this issue should be 
characterized as a bug, it does clarify what the issue really is.

Am I the only one that was clueless that there is a field dirty field flag that 
controls whether or not a field gets updated or not during a save record. Guess 
that does make sense.

John

---------------
Hi John,

It's not a dirty flag for the record, but a dirty flag for the field. The 
object field has a dirty flag that only gets set if you reference the object 
field itself (not a property of it).

Here are some examples to help illustrate the difference:
OB SET([Table]OBField;"Prop";"Val") // references the object field itself and 
does set the dirty flag for this object field.
[Table]ObField.Prop:="Val" // references a property of the object and will not 
set the dirty flag for this object field.
OB SET([Table]ObField.Prop;"Property2";"Val2") // references a property of the 
object and does not set the dirty flag.
[Table]ObField:=[MyObject]ObField // references the object field itself and 
does set the dirty flag for this object field.

To be clear, in the example database that I submitted with my bug report I 
demonstrated, as you demonstrated in your last update, that other fields were 
being saved and that only the Object Field data was being lost. I even 
demonstrated in code that the change to the object field appeared to stick 
after a SAVE RECORD and it only reverted to its original state when the record 
was reloaded. Because of this i categorized the report as a Data Loss bug and 
made the data loss part clear.

Today, (after i noticed it was marked as standard behavior) i requested that 
our documentation be updated so that we can hopefully prevent further reports 
of data loss.

Regards,
Timothy PENNER
--------------

> On Oct 31, 2017, at 2:39 PM, David Adams via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> On Wed, Nov 1, 2017 at 10:23 AM, Tim Nevels via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
> 
>> I can guess the answer to that. The engineer responsible looked at the
>> code and said, “yeah I can fix that, but it will be a lot of work”. And
>> somebody said, "OK then don’t bother. You’ve got more important things to
>> do. We’ll just call it ‘Standard Behavior’”. Pitiful! :(
>> 
> 
> We'll never know. It could be that it is the result of a carefully thought
> out design.
> 
> Then again, you could have a function like Add(2;2) that returns 5 and
> claim that it's "standard behavior" because it's consistent. No matter
> what, it's still a bug (except for sufficiently large values of 2.)
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **********************************************************************

John Baughman
Kailua, Hawaii
(808) 262-0328
john...@hawaii.rr.com





**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to