If you specify producIdFilter without using FilterList, what would you get ?

Thanks

On Apr 17, 2013, at 4:51 AM, Omkar Joshi <[email protected]> wrote:

> Hi,
> 
> I'm having the a table named ORDERS with 1000851 rows:
> 
> rowkey :                       ORDER_ID
> 
> column family : ORDER_DETAILS
>            columns : CUSTOMER_ID
>                                    PRODUCT_ID
>                                    REQUEST_DATE
>                                    PRODUCT_QUANTITY
>                                    PRICE
>                                    PAYMENT_MODE
> 
> I'm using the following code to access the data :
> 
> public void executeOrdersQuery() {
>            /*
>            * SELECT ORDER_ID,CUSTOMER_ID,PRODUCT_ID,QUANTITY FROM ORDERS WHERE
>            * QUANTITY >=16 and PRODUCT_ID='P60337998'
>            */
>            String tableName = "ORDERS";
> 
>            String family = "ORDER_DETAILS";
>            int quantity = 16;
>            String productId = "P60337998";
> 
>            SingleColumnValueFilter quantityFilter = new 
> SingleColumnValueFilter(
>                        Bytes.toBytes(family), 
> Bytes.toBytes("PRODUCT_QUANTITY"),
>                        CompareFilter.CompareOp.GREATER_OR_EQUAL,
>                        Bytes.toBytes(quantity));
> 
>            SingleColumnValueFilter productIdFilter = new 
> SingleColumnValueFilter(
>                        Bytes.toBytes(family), Bytes.toBytes("PRODUCT_ID"),
>                        CompareFilter.CompareOp.EQUAL, 
> Bytes.toBytes(productId));
> 
>            FilterList filterList = new FilterList(
>                        FilterList.Operator.MUST_PASS_ALL);
>            // filterList.addFilter(quantityFilter);
>            filterList.addFilter(productIdFilter);
> 
>            Scan scan = new Scan();
>            scan.addColumn(Bytes.toBytes(family), Bytes.toBytes("ORDER_ID"));
>            scan.addColumn(Bytes.toBytes(family), 
> Bytes.toBytes("CUSTOMER_ID"));
>            scan.addColumn(Bytes.toBytes(family), Bytes.toBytes("PRODUCT_ID"));
>            scan.addColumn(Bytes.toBytes(family), Bytes.toBytes("QUANTITY"));
> 
>            scan.setFilter(filterList);
> 
>            HTableInterface tbl = 
> hTablePool.getTable(Bytes.toBytes(tableName));
>            ResultScanner scanResults = null;
>            try {
>                  scanResults = tbl.getScanner(scan);
> 
>                  System.out.println("scanResults : ");
> 
>                  for (Result result : scanResults) {
>                        System.out.println("The result is " + result);
>                  }
> 
>            } catch (IOException e) {
>                  // TODO Auto-generated catch block
>                  e.printStackTrace();
>            } finally {
>                  try {
>                        tbl.close();
>                  } catch (IOException e) {
>                        // TODO Auto-generated catch block
>                        e.printStackTrace();
>                  }
>            }
> 
>      }
> 
> First few records of the table are :
> 
> O12004457;C110;P60337998;2000-5-17;16;19184.0;cash;Customer is the new 
> emperor. Either you give him what he desires or you are
> banished from his kingdom.;Before you place your order, we reserve the right 
> to change these terms and conditions at any time
> .Any such changes will take effect when posted on this website and it is your 
> responsibility to read these terms and condition
> s on each occasion you use this website. We will never supply you with 
> substitute goods.Our VAT registration number is 875 505
> 5 01.;
> 
> O12004458;C425;P50478434;2008-4-30;3;831825.0;debit;In times of change, the 
> learners will inherit the earth, while the knowers
> will find themselves beautifully equipped to deal with a world that no longer 
> exists;Before you place your order, we reserve
> the right to change these terms and conditions at any time.Any such changes 
> will take effect when posted on this website and i
> t is your responsibility to read these terms and conditions on each occasion 
> you use this website. We will never supply you wi
> th substitute goods.Our VAT registration number is 875 5055 01.;
> 
> 
> 
> If I don't use any filter, the row that I'm trying to fetch is returned along 
> with the 1000s of others but as soon as I use even a single filter(the other 
> is commented), no results are returned.
> 
> Is there some problem with my code?
> 
> Regards,
> Omkar Joshi
> 
> 
> ________________________________
> The contents of this e-mail and any attachment(s) may contain confidential or 
> privileged information for the intended recipient(s). Unintended recipients 
> are prohibited from taking action on the basis of information in this e-mail 
> and using or disseminating the information, and must notify the sender and 
> delete it from their system. L&T Infotech will not accept responsibility or 
> liability for the accuracy or completeness of, or the presence of any virus 
> or disabling code in this e-mail"

Reply via email to