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/
