Re: [h2] Re: Nested loop join implementation

2021-02-16 Thread impradee
Hi Noel Grandin, 

Thank You very much for the reply. 

On Tuesday, February 16, 2021 at 6:39:19 PM UTC+5:30 Noel Grandin wrote:

> We don't have such other join strategies so we don't need any interfaces, 
> so we just implement the join directly in code.
>
> That code that we pointed at, is in fact the join code.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/37334507-bd7e-4c0d-a275-4a15f39a55b3n%40googlegroups.com.


Re: [h2] Re: Nested loop join implementation

2021-02-16 Thread Noel Grandin

We don't have such other join strategies so we don't need any interfaces, so we 
just implement the join directly in code.

That code that we pointed at, is in fact the join code.

--
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/7c50b937-1e31-16a6-260f-308adfc60fab%40gmail.com.


[h2] Re: Nested loop join implementation

2021-02-16 Thread impradee
 Hi Evgenij,

Actually, I was initially exploring apache derby and came across different 
join methods which are Nested loop join, hash join and merge join. Derby 
has implemented their join strategy 

 
as an interface which represents the aforementioned approaches which the 
optimizer may pick for joining tables. However, I couldn't find such 
implementation in H2.  I am referring to join methods (i.e. nested loop, 
hash, block nested loop, merge etc) not join types (i.e. inner, outer, left 
etc).

Thank You
Regards
On Tuesday, February 16, 2021 at 12:08:42 PM UTC+5:30 Evgenij Ryazanov 
wrote:

> Why you think that this method is only about nested joins? It iterates 
> over tables or subqueries, including joined and nested ones (if there are 
> any) and their table filters do the same recursively. Index conditions are 
> used when possible to avoid iteration over the whole tables. They are 
> created by search and join conditions and query optimizer tries to choose 
> the best execution plan with taking existing indexes and their selectivity 
> into account. Only the usable index conditions are preserved. All these 
> operations are performed before the actual query execution and cursors 
> process conditions by themselves, so TableFilter.next() is a relatively 
> simple method. Sorry, but you need to understand how it works by yourself.
>
> Usually it's better to start from some trivial or at least simple enough 
> tasks to get some initial knowledge about the product you want to improve, 
> but you may have own reasons.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to h2-database+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/5157392b-4bbe-4c11-bed6-8d6b03f5ab18n%40googlegroups.com.