Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 094A610841 for ; Mon, 10 Feb 2014 17:10:18 +0000 (UTC) Received: (qmail 69987 invoked by uid 500); 10 Feb 2014 17:10:17 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 69935 invoked by uid 500); 10 Feb 2014 17:10:17 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 69928 invoked by uid 99); 10 Feb 2014 17:10:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Feb 2014 17:10:17 +0000 X-ASF-Spam-Status: No, hits=1.4 required=5.0 tests=FSL_NEW_HELO_USER,HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of dag.wanvik@oracle.com designates 156.151.31.81 as permitted sender) Received: from [156.151.31.81] (HELO userp1040.oracle.com) (156.151.31.81) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 10 Feb 2014 17:10:09 +0000 Received: from ucsinet22.oracle.com (ucsinet22.oracle.com [156.151.31.94]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id s1AH9lR4016896 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 10 Feb 2014 17:09:47 GMT Received: from aserz7022.oracle.com (aserz7022.oracle.com [141.146.126.231]) by ucsinet22.oracle.com (8.14.5+Sun/8.14.5) with ESMTP id s1AH9kAm018160 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 10 Feb 2014 17:09:47 GMT Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by aserz7022.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id s1AH9kel027361 for ; Mon, 10 Feb 2014 17:09:46 GMT Received: from [10.175.38.94] (/10.175.38.94) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Mon, 10 Feb 2014 09:09:46 -0800 Message-ID: <52F907CE.7090103@oracle.com> Date: Mon, 10 Feb 2014 18:09:34 +0100 From: "Dag H. Wanvik" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: derby-dev@db.apache.org Subject: Re: Apache Derby - Query Validation References: In-Reply-To: Content-Type: multipart/alternative; boundary="------------060506000106090907080401" X-Source-IP: ucsinet22.oracle.com [156.151.31.94] X-Virus-Checked: Checked by ClamAV on apache.org This is a multi-part message in MIME format. --------------060506000106090907080401 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 > > > > > > --------------060506000106090907080401 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
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 Qualifiers ?

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







--------------060506000106090907080401--