Yes. On Nov 27, 2012, at 9:51 AM, Mehboob Alam <[email protected]> wrote:
> I see.. just "option to be executed within Active4D’s context"? > > > On Tue, Nov 27, 2012 at 9:48 AM, Aparajita Fishman < > [email protected]> wrote: > >> We're talking about the new *local* version of 'order by formula' that >> executes on Remote. >> >> On Nov 27, 2012, at 9:41 AM, Mehboob Alam <[email protected]> wrote: >> >>> As I recall, "query by formula" and "order by formula" were optimized in >>> v11 and onwards. Quoting from the Language Reference >>> >>> *4D Server:* Beginning with version 11 of 4D Server, these commands are >> run >>> on the server, which optimizes their execution. Keep in mind that when >>> variables are called directly in >>> queryFormula< >> http://doc.4d.com/4D-Language-Reference-13.2/Queries/QUERY-BY-FORMULA.301-1077481.en.html# >>> , >>> the query is calculated with the value of the variables on the client >>> machine. For example, the statement *QUERY BY >>> FORMULA*([mytable];[mytable]myfield=myvariable) >>> will be run on the server but with the contents of the myvariable >> variable >>> of the client machine. >>> >>> On the other hand, this principle is not applied for formulas using >> methods >>> that, themselves, call variables (the values of the variables are >> evaluated >>> on the server). In this context, it may be advisable to use the "Execute >> on >>> server" method attribute, which allows the method to be executed on the >>> server while passing parameters (variables) to it (see the Design >> Reference >>> manual). >>> >>> In previous versions of 4D Server, these commands were executed on client >>> machines. For compatibility's sake, this functioning is maintained for >>> databases converted to version 11. A compatibility preference and a >>> selector of the SET DATABASE >>> PARAMETER< >> http://doc.4d.com/4D-Language-Reference-13.2/4D-Environment/SET-DATABASE-PARAMETER.301-1077941.en.html >>> >>> command >>> can nevertheless be used to adopt the functioning of version 11 >> (execution >>> on the server) in converted databases >>> >>> >>> >>> The same applies to "order by formula" >>> >>> >>> *4D Server:* Beginning with version 11 of 4D Server, this command is >>> executed on the server, which optimizes its execution. Note that when >>> variables are called directly in the >>> expression< >> http://doc.4d.com/4D-Language-Reference-13.2/Queries/ORDER-BY-FORMULA.301-1077476.en.html# >>> , >>> the sort is calculated with the value of the variable on the client >> machine. >>> >>> On the other hand, this principle does not apply for formulas using >> methods >>> that, themselves, call variables (the values of the variables are >> evaluated >>> on the server). In this context, it may be advisable to use the "Execute >> on >>> server" method attribute that allows a method to be executed on the >> server >>> while passing parameters (variables) to it (see the Design Reference >>> manual). >>> >>> In previous versions of 4D Server, this command was executed on the >> client >>> machines. For compatibility's sake, this functioning is maintained in >>> databases converted to version 11. A compatibility preference and a >>> selector of the SET DATABASE >>> PARAMETER< >> http://doc.4d.com/4D-Language-Reference-13.2/4D-Environment/SET-DATABASE-PARAMETER.301-1077941.en.html >>> command >>> can nevertheless be used to adopt the functioning of version 11 >> (execution >>> on the server) in these databases. >>> >>> >>> >>> *your mileage may vary* - I hope this help? >>> >>> >>> >>> >>> On Tue, Nov 27, 2012 at 8:28 AM, Aparajita Fishman < >>> [email protected]> wrote: >>> >>>> 'order by formula' has to load every record in the selection no matter >>>> what the expressions are, because every expression expects the correct >>>> record to be current. >>>> >>>> You can't possibly expect me to do some kind of heuristics on the >>>> expressions and optimize accordingly, especially in this case where you >> are >>>> using a field of a table as the key for a collection. >>>> >>>> I specifically said on this list and in the documentation that there is >> a >>>> potential performance penalty on Remote. >>>> >>>> On Nov 27, 2012, at 4:45 AM, Peter Gutbrod <[email protected]> >> wrote: >>>> >>>>> Out of interest: >>>>> >>>>> What happens internally, if I do an "order by formula" on a collection, >>>>> which has an ID of the sort table as the key? >>>>> >>>>> Aka. >>>>> >>>>> order by formula(*; [contacts]; $collection{[contacts]ID}) >>>>> >>>>> Does is load each record of the current selection or does is just copy >>>>> [contacts]ID into an array and use that for the sort? >>>>> >>>>> Would make a big difference in performace if you run it on Remote. >>>>> >>>>> Peter >>>>> >>>>> >>>>> >>>>>> Hello, >>>>>> >>>>>> The latest and greatest version of Active4D, the ultimate 4D web >>>> development >>>>>> environment, is now available for download. Active4D v6.0r8 is a >> feature >>>>>> release: >>>>>> >>>>>> - ORDER BY FORMULA now has an option to be executed within Active4D¹s >>>> context, >>>>>> which allows access to Active4D¹s full execution environment within >> the >>>> order >>>>>> by expressions. >>>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> Active4D-dev mailing list >>>>> [email protected] >>>>> http://list.aparajitaworld.com/listinfo/active4d-dev >>>>> Archives: http://active4d-nabble.aparajitaworld.com/ >>>> >>>> Regards, >>>> >>>> Aparajita >>>> >>>> _______________________________________________ >>>> Active4D-dev mailing list >>>> [email protected] >>>> http://list.aparajitaworld.com/listinfo/active4d-dev >>>> Archives: http://active4d-nabble.aparajitaworld.com/ >>>> >>> >>> >>> >>> -- >>> >>> m|a >>> _______________________________________________ >>> Active4D-dev mailing list >>> [email protected] >>> http://list.aparajitaworld.com/listinfo/active4d-dev >>> Archives: http://active4d-nabble.aparajitaworld.com/ >> >> Regards, >> >> Aparajita >> >> _______________________________________________ >> Active4D-dev mailing list >> [email protected] >> http://list.aparajitaworld.com/listinfo/active4d-dev >> Archives: http://active4d-nabble.aparajitaworld.com/ >> > > > > -- > > m|a > _______________________________________________ > Active4D-dev mailing list > [email protected] > http://list.aparajitaworld.com/listinfo/active4d-dev > Archives: http://active4d-nabble.aparajitaworld.com/ Regards, Aparajita _______________________________________________ Active4D-dev mailing list [email protected] http://list.aparajitaworld.com/listinfo/active4d-dev Archives: http://active4d-nabble.aparajitaworld.com/
