Thread: Re: [PATCHES] Re: [HACKERS] Query->hasSubLinks is always FALSE...
Bruce Momjian wrote: > > You know, after all our lengthy discussions, this SubLink thing looks > pretty clean to me. > > How are subselects going? Are you having to write a lot of code to get > it working? I would say after all our discussions and thinking, it took Mmm ... =~ 1000 lines of code :) > me about two or three days to do the parser and rewrite for sublinks. > How many coding days is the rest taking? I am curious. All was near ready Feb 6, but ... I got problems from canonification routines in optimizer: 'where A AND B OR C ' becomes 'where (A OR C) AND (B OR C)' and if C is subselect then ... C has to be processed twice (sometime) ... I remember your question about handling 'A AND (B OR SubSelect)' - unfortunately, I didn't see problems here (actually, there is no problem with this conjunctive normal form :), but there are troubles in common case. Ideas ? For the moment I could leave this un-optimized, with possibility of double subselect processing... Vadim
> > Bruce Momjian wrote: > > > > You know, after all our lengthy discussions, this SubLink thing looks > > pretty clean to me. > > > > How are subselects going? Are you having to write a lot of code to get > > it working? I would say after all our discussions and thinking, it took > > Mmm ... =~ 1000 lines of code :) > > > me about two or three days to do the parser and rewrite for sublinks. > > How many coding days is the rest taking? I am curious. > > All was near ready Feb 6, but ... I got problems from canonification > routines in optimizer: 'where A AND B OR C ' becomes 'where (A OR C) AND (B OR C)' > and if C is subselect then ... C has to be processed twice (sometime) ... > I remember your question about handling 'A AND (B OR SubSelect)' - unfortunately, > I didn't see problems here (actually, there is no problem with this > conjunctive normal form :), but there are troubles in common case. > > Ideas ? > > For the moment I could leave this un-optimized, with possibility > of double subselect processing... I would leave it for later. We already have an optimizer explosion problem when we have lots of OR's so at some point we may have to revisit the cnf-ify process anyway. Commerical Ingres has or had the same problem. -- Bruce Momjian maillist@candle.pha.pa.us
Bruce Momjian wrote: > > > > > > me about two or three days to do the parser and rewrite for sublinks. > > > How many coding days is the rest taking? I am curious. > > > > All was near ready Feb 6, but ... I got problems from canonification > > routines in optimizer: 'where A AND B OR C ' becomes 'where (A OR C) AND (B OR C)' > > and if C is subselect then ... C has to be processed twice (sometime) ... > > I remember your question about handling 'A AND (B OR SubSelect)' - unfortunately, > > I didn't see problems here (actually, there is no problem with this > > conjunctive normal form :), but there are troubles in common case. > > > > Ideas ? > > > > For the moment I could leave this un-optimized, with possibility > > of double subselect processing... > > I would leave it for later. We already have an optimizer explosion > problem when we have lots of OR's so at some point we may have to > revisit the cnf-ify process anyway. Commerical Ingres has or had the > same problem. Ok, follow this way... Vadim