You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Madushanka Fonseka <ma...@gmail.com> on 2014/02/10 17:35:50 UTC

Apache Derby - Query Validation

Hi,

I have been working with Apache Derby for last few months (for a research)
and I need to know more about following mechanisms.My research is based on
innovating Derby to support fuzzy-logy based queries

 (Ex. select * from student where *Avg* is *good, *select * from employee
where *salary *is *low*)

*1. How Qualifiers being created for different predicates ?*
*2. How a query or so as to speak something like "Salary > 55000" being
validated     against a row collection ?*
*3. How heap + conglomerate machinery get connected with this Qualifie*rs
*?*

I would be pleased if you can give me some insight related to above
questions.

*And on a different note I'd like to submit a research paper in regard to
my concept. I'd also like to know what would be the process for that.*

Thanks,

Madushanka Fonseka
Computer Science Dept,
Faculty of Engineering
University of Moratuwa
Sri Lanka

Re: Apache Derby - Query Validation

Posted by "Dag H. Wanvik" <da...@oracle.com>.
On 10. feb. 2014 17:35, Madushanka Fonseka wrote:
> Hi,
>
> I have been working with Apache Derby for last few months (for a 
> research) and I need to know more about following mechanisms.My 
> research is based on innovating Derby to support fuzzy-logy based queries
>
>  (Ex. select * from student where /Avg/ is /good, /select * from 
> employee where /salary /is /low/)
>
> *1. How Qualifiers being created for different predicates ?*

Start looking at the WHERE clause code, e.g. in SelectNode.java, later 
pushed in ProjectRestrictNodes (in SelectNode#preprocess)

> *2. How a query or so as to speak something like "Salary > 55000" 
> being validated     against a row collection ?*

The evaluation of predicates are done in generated code, cf. the code in 
ProjectRestrictNode.java. Some predicates are
pushed down to the storage layer in the form of Qualifiers, cf. where 
PRN#modifyAccessPath calls pushUsefulPredicates.
The machinery is quite complex, so using an IDE/debugger will help 
understand what's happening.

> *3. How heap + conglomerate machinery get connected with this 
> Qualifie*rs *?*

Cf above.

Hope this helps,

Dag

>
> I would be pleased if you can give me some insight related to above 
> questions.
>
> *And on a different note I'd like to submit a research paper in regard 
> to my concept. I'd also like to know what would be the process for that.*
>
> Thanks,
>
> Madushanka Fonseka
> Computer Science Dept,
> Faculty of Engineering
> University of Moratuwa
> Sri Lanka
>
>
>
>
>
>