I am walking down the ofbiz code till I get to the actual routine that structures the call to the DB.
one thing I notice is
findOptions.useCache(false);//default is true.
I have not gone far enough to be certain, but I am guessing this means cache in memory, or use the cache which is memory based.
See the other email about excucutefind.

Note: till I get all the way thru, I really won't understand this enough go be a novice.. LOL.

Ruth Hoffman sent the following on 8/1/2006 11:03 AM:
Hi BJ:
Yes, I tested all with the same drivers/same target database. I tested the Webtools stuff on both versions 7759 & 427128. I tested the findListIteratorByCondition only on version 7759.

I'd be happy to help...just tell me where to start looking..
Ruth

BJ Freeman wrote:

if all those were using the same driver, and DB then it most definitely
would point to ofbiz.
however if those use different drivers, then that add another variable
to the equation.

You have gone deeper into the code than I have.
it will take me while to figure out exactly what you have tested and what the results should be.

will get back to you shortly.


Ruth Hoffman sent the following on 8/1/2006 9:44 AM:

Thanks BJ -
It works fine using psql (and with mixed versions) - I can do select *'s to my heart's content. It also works with pgAdmin - albiet slowwwwwwly. And, it works with PHP - we have some PHP code that already does these queries. So, I'm guessing its not a Postgres problem, per sa. But then, I'm not a DB expert.

I am also able to do this:

       EntityFindOptions findOptions = new EntityFindOptions();
findOptions.setDistinct(false); // this doesnt seem to work when used with a non-primary key field findOptions.setFetchSize(100); // need to set fetch size or it will never return // findOptions.setResultSetType(EntityFindOptions.TYPE_SCROLL_INSENSITIVE); // need this for partial list reads // findOptions.setResultSetType(EntityFindOptions.CONCUR_READ_ONLY);
               boolean beganTransaction = false;
          try {
                                GenericValue thisCdr = null;
String calling_number = null; eli = delegator.findListIteratorByCondition("cdrdata", null, null, null, null, findOptions); List searchSet = eli.getPartialList(1,100);

Will return 100 values, but if I add this:

findOptions.setResultSetType(EntityFindOptions.TYPE_SCROLL_INSENSITIVE); // need this for partial list reads

I get timeouts/out of memory errors. Which means that I can't actually run through my result set - except for the first 100 returned records.

Ruth



BJ Freeman wrote:

couple of things to help on the db side
http://secure.linuxports.com/pgsql-novice/2002-04/msg00182.php
On Tue, 2006-08-01 at 14:51 +0000, Karl O. Pinc wrote:

> > Whatever happened to the rpm packaging of the 7.x libpq?
> > (Which enabled programs linked against the old libraries
> > to be used with a 8.x. postgresql.)

http://developer.postgresql.org/~devrim/rpms/compat/



Ruth Hoffman sent the following on 8/1/2006 9:12 AM:

Hi David:
Ok, thats fair.
Thanks for your help.
Ruth

David E Jones wrote:


Sounds like you have some digging to do then.

Please understand this is most likely a database configuration problem, not a problem that can be fixed with code or other changes in OFBiz.

The best thing to do is review the JDBC driver documentation to see if special parameters are needed, or in general do some debugging to see exactly what is going on.

Unless someone else has any tips from recent experience for you, I'm not sure how much help this mailing list can be...

Best of luck,
-David


On Aug 1, 2006, at 9:20 AM, Ruth Hoffman wrote:

Thanks David:
Now I have the same client version as the server version (here's the log file):

2006-08-01 10:14:06,553 (main) [ DatabaseUtil.java:765:INFO ]
   Database Product Name is PostgreSQL
2006-08-01 10:14:06,555 (main) [ DatabaseUtil.java:766:INFO ]
   Database Product Version is 8.1.4
2006-08-01 10:14:06,557 (main) [ DatabaseUtil.java:774:INFO ]
   Database Driver Name is PostgreSQL Native Driver
2006-08-01 10:14:06,561 (main) [ DatabaseUtil.java:775:INFO ] Database Driver Version is PostgreSQL 8.1 JDBC3 with SSL (build 407)

And I just verified that: Webtools/Entity Reference; Webtools/XML export & programmatic EntityListIterator...all cause either an out of memory error or, a transaction time out error.

TIA
Ruth



David E Jones wrote:


On Aug 1, 2006, at 8:50 AM, Ruth Hoffman wrote:

David:
Please clarify, if you could - are you saying that PostgresSQL v. 8.1.4 (as a client) is not compatible with PostgresSQL 8.0? (as installed on my remote db)





I'm saying look at the pgsql web site because there are issues with using the wrong version of the JDBC driver for a given version of the database.

In other words, there are two different things: the database, and the JDBC driver. Each has its own version. If the JDBC driver version does not work with the version of the database it is talking to, things will not work.

To your knowledge, has anyone ever successfully used the Entity Engine with remote (not on the same server) database tables of over 1.5Milliion records?





Yes, there are many OFBiz installations with single tables even larger than this and they work fine.

-David












Reply via email to