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/

Reply via email to