We noticed that Calcite can obtain better performance,  especially the 
insertion of  data. We decide to try to use Calcite in the production 
environment until we found that it did not support ‘setLocal’ ...... glad to 
learn that calcite will support SETLOCAL in the future.
















At 2023-06-30 16:05:09, "Stephen Darlington" <stephen.darling...@gridgain.com> 
wrote:

I’m curious: why did you switch to Calcite if your deployment is in production? 
I would generally be cautious about putting beta software into production. Was 
there some critical feature that you needed? 



On 30 Jun 2023, at 09:34, y <hty1994...@163.com> wrote:


Thanks for your suggestion. We are considering the feasibility of your proposed 
solution. For complex business production environments, it is difficult to 
distinguish whether the query requires setLocal or not. Anyway, thank you for 
your help. 









At 2023-06-30 15:18:07, "Stephen Darlington" <stephen.darling...@gridgain.com> 
wrote:

If this is an important feature for you, the obvious solution would be to use 
the H2 SQL engine (which is still the default, since the Calcite engine is 
still considered beta).


As noted in the documentation, you can even keep Calcite as the default engine 
in your cluster and only route these queries to H2. 
https://ignite.apache.org/docs/latest/SQL/sql-calcite#query_engine-hint



On 30 Jun 2023, at 03:50, y <hty1994...@163.com> wrote:


Hello.
   I'm sorry for it took so long time to reply to the message duing to I missed 
some messages. For example, I have multiple nodes performing the same 
computational tasks. The cache mode is  partition and the data is cached by 
affinity_key. So the different nodes have different data and node only 
query/calculate data from itself. If there is no setLocal, the node will query 
data from other nodes, which is inefficient.  That's why i need setLocal. What 
should I do if without setLocal?


<image.png>


Yours,
Hu Tiany
2023/6/30

At 2023-06-05 19:21:13, "Alex Plehanov" <plehanov.a...@gmail.com> wrote:
>Hello,
>
>The Calcite-based SQL engine currently doesn't analyze any properties
>of SqlFieldsQuery except "Sql", "Schema", "Args" and
>"QueryInitiatorId". Some of the rest properties are useless for the
>Calcite-based engine at all (for example, "DistributedJoins", since
>all joins in the Calcite-based engine are distributed by default if
>needed). But, perhaps, others can be useful. If you are really sure
>that the "Local" property is necessary for the new SQL engine, feel
>free to create a ticket and describe the reason why we need it.
>
>пн, 5 июн. 2023 г. в 12:05, y <hty1994...@163.com>:
>>
>> Hello igniters,
>>  Just like the title, setLocal seems invalid for Calcite 2.15. When I set 
>> ‘setLocal = true’ and query data from one node, the result sets is returned 
>> from all data nodes.  This problem is not present in version 2.13 ,which not 
>> use Calcite. I'd like to know is this an error? If yes it is, When will it 
>> be fixed?
>>
>> SqlFieldsQuery fieldsQuery = new SqlFieldsQuery(query);
>> fieldsQuery.setLocal(true);   // uneffective for this line
>> List<List<?>> rs = 
>> ignite.cache("bfaccounttitle2020").query(fieldsQuery).getAll();
>>
>>




Reply via email to