Hi, Sean,

Thanks for the test program and test data.  I was able to track the
program down to a function that misclassified the function to invoke.
 Your test program seems to produce the expected print out now.  You
can check out the latest source code using

svn checkout https://codeforge.lbl.gov/anonscm/fastbit

Make sure you get version number 692 or later.

Let us know if you encounter anything else.

Good luck.

John



On 2/7/14, 12:42 PM, Sean McNamara wrote:
> Incase it is helpful I ran with verbosity, here is the
> output: http://pastebin.com/mLkFT6ji
> 
> On line 442 it has all the data in both partitions, then on line 464
> it calls bord::merge and is missing one of the 2’s.  I’m still not
> sure where/why it loses the 5.
> 
> Thanks,
> 
> Sean
> 
> From: Sean McNamara <[email protected]
> <mailto:[email protected]>>
> Reply-To: FastBit Users <[email protected]
> <mailto:[email protected]>>
> Date: Friday, February 7, 2014 at 11:01 AM
> To: "[email protected]
> <mailto:[email protected]>" <[email protected]
> <mailto:[email protected]>>
> Subject: [FastBit-users] subquery over partitions
> 
> Hi, I had a question about results I’m seeing from subqueries over
> multiple partitions.  It only occurs on queries where I point at a
> parent directory.
> 
> The gist is that as I issue sub-selects were 1=1 I seem to lose rows
> in the resulting table. From the output below tbl1 is correct.  tbl2
> is missing a 2.  tbl3 is missing a 2 and 5.  Going from tbl3 to tbl4
> (and beyond) does not lose any more data.  I see this issue on both
> centos and OS X. I am using fastbit 1.3.8.   Does anyone know why this
> could be?
> 
> Thanks,
> 
> Sean
> 
> 
> 
> OUTPUT:
>  * tbl1 (rows: 6) -----------------------
> 1
> 2
> 2
> 3
> 4
> 5
>  * tbl2 (rows: 5) -----------------------
> 1
> 2
> 3
> 4
> 5
>  * tbl3 (rows: 4) -----------------------
> 1
> 2
> 3
> 4
>  * tbl4 (rows: 4) -----------------------
> 1
> 2
> 3
> 4
> 
> 
> PROGRAM:
> 
> #include <iostream>
> #include <ibis.h>
> 
> using namespace std;
> 
> 
> /*
> 
> partitions generated with:
> ardea -d index/a -m "visitor_id:long" -t a.csv
> ardea -d index/b -m "visitor_id:long" -t b.csv
> 
> a.csv:
> 1
> 2
> 
> b.csv:
> 2
> 3
> 4
> 5
> 
> */
> 
> 
> int main(int argc, const char* argv[]) {
> ibis::init();
> ibis::table* tbl1 = ibis::table::create("data/parts/index");
> ibis::table* tbl2 = tbl1->select("visitor_id","1=1");
> ibis::table* tbl3 = tbl2->select("visitor_id","1=1");
> ibis::table* tbl4 = tbl3->select("visitor_id","1=1");
> cout << " * tbl1 (rows: " << tbl1->nRows() << ")
> -----------------------" << endl;
> tbl1->dump(cout);
> cout << " * tbl2 (rows: " << tbl2->nRows() << ")
> -----------------------" << endl;
> tbl2->dump(cout);
> cout << " * tbl3 (rows: " << tbl3->nRows() << ")
> -----------------------" << endl;
> tbl3->dump(cout);
> cout << " * tbl4 (rows: " << tbl4->nRows() << ")
> -----------------------" << endl;
> tbl4->dump(cout);
> return 0;
> }
> 
> 
> _______________________________________________
> 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