Hi, Alexandre, Thanks for reporting the problem and exploring the solutions. It turned out that we can tweak the lexer a little to recognize all quoted strings as string literals -- which eliminate the ambiguity in whether a string a column name or a string literal and correctly represents the original intend of your query expression. The change has been checked into the SVN repository. Please give the nightly snapshot a try when you get the chance.
John PS: The nightly snapshot is available at <https://codeforge.lbl.gov/snapshots.php?group_id=44> and it is built in the early morning hours Pacific Time -- which means you will need to wait till tomorrow morning in order to get your hand on it. If you want to try it earlier, please let me know, I will send you the source code separately. On 11/19/2009 3:47 AM, Alexandre Maurel wrote: > Hi John, > > I came back to the original column name , and I have changed the > previous query into : > > select Inhibitor,Barcode,Row,Col,Sample_name where ( ( ! > (Inhibitor IN ('DMSO') AND Barcode IN ('105006101') AND Row = 1 AND Col > = 1 AND Sample_name IN ('PA97'))) AND ( !(Inhibitor IN ('Imatinib') AND > Barcode IN ('105006101') AND Row = 4 AND Col = 4 AND Sample_name IN > ('FP83')))) > > replacing "=" (in the case of category) by the key word IN . > > It's working :). > > Is there any other way to solve such problem ? > > Regards, > > Alexandre > > Alexandre Maurel a écrit : >> Hi John, >> >> I found the problem, there is a column named Imatinib which is also a >> value of the column Inhibitor ! >> I have rename the column Imatinib into Imatinib2 and the problem is gone. >> >> Regards, >> >> Alexandre >> >> >> Alexandre Maurel a écrit : >>> Hi John, >>> >>> As attachment document , you will find the data and the logs from ibis. >>> In the log file I have highlighted the problem. >>> >>> Imatinib, 105006101, 4, 4, FP83, 6 error , this row should not >>> be there ( ! (Inhibitor = 'Imatinib' AND Barcode = '105006101' AND >>> Row = 4 AND Col = 4 AND Sample_name = 'FP83')) >>> >>> Note , I have run the following queries which are identical, and they >>> give the same error. >>> >>> select Inhibitor,Barcode,Row,Col,Sample_name where ( ( ! (Inhibitor = >>> 'DMSO' AND Barcode = '105006101' AND Row = 1 AND Col = 1 AND >>> Sample_name = 'PA97')) AND ( ! (Inhibitor = 'Imatinib' AND Barcode = >>> '105006101' AND Row = 4 AND Col = 4 AND Sample_name = 'FP83'))) >>> >>> select Inhibitor,Barcode,Row,Col,Sample_name where ((Inhibitor != >>> 'DMSO' OR Barcode != '105006101' OR Row != 1 OR Col != 1 OR >>> Sample_name != 'PA97') AND (Inhibitor != 'Imatinib' OR Barcode != >>> '105006101' OR Row != 4 OR Col != 4 OR Sample_name != 'FP83')) >>> >>> Regards, >>> >>> Alexandre >>> >>> [email protected] a écrit : >>>> Send FastBit-users mailing list submissions to >>>> [email protected] >>>> >>>> To subscribe or unsubscribe via the World Wide Web, visit >>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users >>>> or, via email, send a message with subject or body 'help' to >>>> [email protected] >>>> >>>> You can reach the person managing the list at >>>> [email protected] >>>> >>>> When replying, please edit your Subject line so it is more specific >>>> than "Re: Contents of FastBit-users digest..." >>>> >>>> >>>> Today's Topics: >>>> >>>> 1. Re: bundle segment method reorder the raw data (Alexandre Maurel) >>>> >>>> >>>> ---------------------------------------------------------------------- >>>> >>>> Message: 1 >>>> Date: Wed, 18 Nov 2009 09:54:37 +0100 >>>> From: Alexandre Maurel <[email protected]> >>>> Subject: Re: [FastBit-users] bundle segment method reorder the raw >>>> data >>>> To: [email protected] >>>> Message-ID: <[email protected]> >>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >>>> >>>> Hi John, >>>> >>>> Problem is solved , >>>> >>>> Thanks, >>>> >>>> Alexandre >>>> >>>> [email protected] a ?crit : >>>> >>>>> Send FastBit-users mailing list submissions to >>>>> [email protected] >>>>> >>>>> To subscribe or unsubscribe via the World Wide Web, visit >>>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users >>>>> or, via email, send a message with subject or body 'help' to >>>>> [email protected] >>>>> >>>>> You can reach the person managing the list at >>>>> [email protected] >>>>> >>>>> When replying, please edit your Subject line so it is more specific >>>>> than "Re: Contents of FastBit-users digest..." >>>>> >>>>> >>>>> Today's Topics: >>>>> >>>>> 1. Re: bundle segment method reorder the raw data (K. John Wu) >>>>> >>>>> >>>>> ---------------------------------------------------------------------- >>>>> >>>>> Message: 1 >>>>> Date: Mon, 16 Nov 2009 17:25:27 -0800 >>>>> From: "K. John Wu" <[email protected]> >>>>> Subject: Re: [FastBit-users] bundle segment method reorder the raw >>>>> data >>>>> To: FastBit Users <[email protected]> >>>>> Message-ID: <[email protected]> >>>>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed >>>>> >>>>> Hi, Alexandre, >>>>> >>>>> I have implemented some changes that I think will address the >>>>> problem you've encountered. The code has been checked in to SVN. >>>>> If you get the chance, please give the nightly snapshot a try and >>>>> let us know if it does address the problem. >>>>> >>>>> The nightly snapshot is available at >>>>> <https://codeforge.lbl.gov/snapshots.php?group_id=44>. You might >>>>> have to wait till the new snapshot is built during the middle of >>>>> the night pacific time. >>>>> >>>>> John >>>>> >>>>> >>>>> On 11/16/2009 1:24 AM, Alexandre Maurel wrote: >>>>> >>>>>> Hi John, >>>>>> >>>>>> I think I found a problem in function ibis::column::selectValuesT. >>>>>> When a query does not specify a where clause or when mask.cnt() == >>>>>> mask.size(), the method ibis::column::selectValuesT return a >>>>>> pointer on raw data ... >>>>>> Which cause the bundle segment method to reorder the raw data ! >>>>>> >>>>>> template <typename T> >>>>>> long ibis::column::selectValuesT(const bitvector& mask, >>>>>> ibis::array_t<T>& vals) const { >>>>>> ... >>>>>> ... >>>>>> if (mask.cnt() == mask.size()) >>>>>> return getValuesArray(&vals); >>>>>> ... >>>>>> ... >>>>>> if (tot == mask.size()) { // read all values >>>>>> ierr = ibis::fileManager::instance().getFile(dfn, vals); >>>>>> return ierr; >>>>>> } >>>>>> >>>>>> } >>>>>> >>>>>> Regards, >>>>>> >>>>>> Alexandre >>>>>> _______________________________________________ >>>>>> FastBit-users mailing list >>>>>> [email protected] >>>>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users >>>>>> >>>>> ------------------------------ >>>>> >>>>> _______________________________________________ >>>>> FastBit-users mailing list >>>>> [email protected] >>>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users >>>>> >>>>> >>>>> End of FastBit-users Digest, Vol 27, Issue 15 >>>>> ********************************************* >>>>> >>>>> >>>> >>>> ------------------------------ >>>> >>>> _______________________________________________ >>>> FastBit-users mailing list >>>> [email protected] >>>> https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users >>>> >>>> >>>> End of FastBit-users Digest, Vol 27, Issue 16 >>>> ********************************************* >>>> >>>> > _______________________________________________ > FastBit-users mailing list > [email protected] > https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users _______________________________________________ FastBit-users mailing list [email protected] https://hpcrdm.lbl.gov/cgi-bin/mailman/listinfo/fastbit-users
