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

Reply via email to