I am trying to setup a biomart 0.8 instance that has datasources in two 
separate Oracle databases.   Each database instance has just one table with two 
columns, a unique identifier and varchar column.  The unique identifier columns 
are the link between the two datasets.  I am trying to setup a simple join 
between these two tables.  According the rc6 documentation,  it appears that 
creating a pointer attribute would create this link and effectively 'inner 
join' these to datasets at runtime.  I'm able to create the pointer attribute 
in the target access point, setup the datasource link, start the webserver and 
attempt to run the query.  From the web interface I see the 3 attributes (the 
shared unique ID, varchar column from datasource 'A', varchar column from 
datasource 'B'), select them and run the query...which errors out.  I ran this 
query through the Java API in Eclipse and while debugging noticed that an 
exception is thrown when trying to query the second datasource:  ORA-01795: 
maximum number of expressions in a list is 1000.

Stepping through the code in the debugger, it appears that it's running a query 
to get all of the results from datasource 'A', and then turning the ID column 
into a list and using it in a subsequent query to get the necessary resultset 
from datasource 'B'...but there are well over 1000 records I am trying to join. 
 Is there a way around this so that the query mechanism doesn't rely on using 
an IN(<list>) to join these two datasets?

Thanks so much in advance.  I really like what I see in the new release and am 
looking forward to getting this up and running!

Thanks again!

Tony
_______________________________________________
Users mailing list
[email protected]
https://lists.biomart.org/mailman/listinfo/users

Reply via email to