4 Replies Latest reply on Dec 3, 2014 9:44 AM by philmodjunk

    Possible Dependency Tree Bug

    philmodjunk

      Summary

      Possible Dependency Tree Bug

      Product

      FileMaker Pro

      Version

      FMP 13, FM Server 12, Citrix Terminal Server

      Operating system version

      Windows 7 and Windows Server

      Description of the issue

      Clicking a simple button to set a number field to a new simple value seems to cause FileMaker to run through every record in the table before refreshing the window even though the current found set may be less than 10 records.

      There are no aggregate calculations (no summary fields, no aggregate functions...) that seem to be a factor.

      Changing the button option to perform a script to do the same field value change followed by an immediate commit records step then keeps this "mass refresh" from happening.

      Note that there are several buttons that each assign a different integer to the same local field and I can trigger this result even if I click different copies of this button in the current record.

      Steps to reproduce the problem

      We have a table with over one million records but less than 10 in the current found set.

      Original Button option does a fairly simple set field step:

      Set Field [LayoutTable::NumberField ;
      Let ( x = 1 ; If ( x > LayoutTable::MinValue and x < LayoutTable::MaxValue ; x ; layoutTable::NumberField ) ]

      Scripted version:
      Set Field [LayoutTable::NumberField ;
      Let ( x = Get ( ScriptParameter ) ; If ( x > LayoutTable::MinValue and x < LayoutTable::MaxValue ; x ; layoutTable::NumberField ) ]
      Commit Records

      Expected result

      That both the original version and the scripted version would quickly update the field and a calculation field displaying a graphic would display a different graphic to show that the field's value has changed.

      Actual result

      With the first version, clicking the second button, does not matter if you click two buttons in the same record or two different records, results in a delay of nearly a minute during which the application window shows "not responding" and the cursor shows as an hour glass (no spinner, no coffee cup).

      With the scripted "fix", the affected fields update almost instantly.

      Configuration information

      Recreated user complaint by remotely accessing database via Remote Desktop from over a hundred miles from the server.

      Layout is a list view layout with a sub summary layout part and a modest number of layout text objects that have conditional formatting or Hide Object when settings. (But none reference the field being changed by these button clicks.)

      Workaround

      Set Field [LayoutTable::NumberField ;
      Let ( x = Get ( ScriptParameter ) ; If ( x > LayoutTable::MinValue and x < LayoutTable::MaxValue ; x ; layoutTable::NumberField ) ]
      Commit Records

        • 1. Re: Possible Dependency Tree Bug
          TSGal

          PhilModJunk:

          Thank you for your post.

          I don't have a file that large to test, so I have forwarded your entire post to our Development and Testing departments for review.  When I receive any feedback, I will let you know.

          TSGal
          FileMaker, Inc.

          • 2. Re: Possible Dependency Tree Bug
            philmodjunk

            If you want to see a clone of the file, let me know and I'll ask my colleague for a cloned copy that I can send you. I might even be able to gin up a script that produces a massive record set of test data.

            It just seems really odd that such a small change produces such a huge difference--especially when we are getting such a response when re-editing the same field in the same record.

            • 3. Re: Possible Dependency Tree Bug
              TSGal

              PhilModJunk:

              Thanks.  If you can get a clone of the file, that would be ideal.  Creating a script to add a million records is not difficult.  The key is having the instructions to reproduce the issue.  Let me know if you need the email address where to send the file.

              TSGal
              FileMaker, Inc.

              • 4. Re: Possible Dependency Tree Bug
                philmodjunk

                Oh, I know how to write the script in general terms, but this is a multi-file data separation model solution with a fairly complex layout design so generating test data that renders the layouts in question comprehensible with behavior that is reproducible (and which doesn't lock up due to a lot of missing external data source refs) may not be so simple a thing to do. wink

                Then again, the attempt to produce such a test file may be a useful way to gather more info about the issue.

                I'll see what I can do...