Join The Works program to have access to the most current content, and to be able to ask questions and get answers from Revelation staff and the Revelation community

At 24 MAR 2007 11:26:11AM Enrique Murphy wrote:

Hi!. I am playing around with U2 databases from within OI. I created and populated a Universe table with 900K records from OI to perform some tests.

The problem I find is when performing a SELECT over an indexed date field with more than one condition. This is:
  1. If a run LIST UV_TABLE WITH FIELD_DATE EQ "Some Date" the result comes back inmediately.
  1. If a run LIST UV_TABLE WITH FIELD_DATE GE "Date1" AND WITH FIELD_DATE LE "Date2" then the server seems to be scanning the whole table to return the result. However, running the same query from the UniAdmin Universe Command window the result comes back inmediately.
The field is defined as a DATE field in Universe and in the shadow OI dict.
What may be problem?. I suspect that the bond is not translating correctly the second query into a Universe command.
I am specially interested in this kind of queries (by a range of dates) as most of the processes over this table work this way.
Another question: Is there a way to directly invoke a Universe SELECT from within OI and handle the return value as UniAdmin does? I think this would be of much use.

At 26 MAR 2007 10:08AM Bob Carten wrote:

Enrique -

The Bond will resolve the first select on the server, then bring the keys back to OI, make an active select list at the client. Subsequent selects will resolve on the client, not the server. In other words, for the first select, the bond sends a select statement to the U2 server. If you use additional select commands to refine the result, the bond will essentially do a loop, readnext to bring each record from the server back to the client.

This approach is a tradeoff common in client-server applications. I think you would call it a client-side cursor. The cost of the approach is that operations which require evaluating every record in large select set will be slow. The benefit is that one can include OI symbolic columns in the client side select.

Data selection strategies are going to evolve over time.

I think we will need to add tools to let a developer pass a set of select statements and have all of them resolve on the back.

- Bob


At 26 MAR 2007 05:36PM Enrique Murphy wrote:

Hi, Bob. Perhaps I have not been clear. I am not running these SELECT commands one after the other, but separately. I know that a second select over an active list will loop over the full active list, reading each record one at a time.

I am saying that I ran this command:
LIST UV_TABLE WITH FIELD_DATE GE "Date1" AND WITH FIELD_DATE LE "Date2"
and with this command the server seems to be scanning the whole table to return the result, however, running the same command from the UniAdmin Universe Command window brings the result back inmediately.
I think that there may be some problem with the translation of the OI command with the two WITH clauses to Universe, because running LIST_UV WITH FIELD_DATE GE "Date1" works OK (this is, without the second WITH).
Enrique

At 27 MAR 2007 08:48AM Bob Carten wrote:

Enrique,

Thanks for the clarification. I'll see if I can reproduce the problem and produce a solution.

- Bob


At 27 MAR 2007 10:39AM Enrique Murphy wrote:

OK. If this helps, I have found that selecting with GE and LE returns "Invalid Target Type 7" from within TCL and FS from RLIST in the System Editor, while selecting with GT and LT works.

Also, I am seeing something that may have to do with the size of the list returned. When I select a range of dates that returns about 3000 keys works OK, but with a wider range it doesn't return anything to TCL or the System Editor in OI, and it does return 23000 records from the command console of UniData.
I am actually doing tests with OI 7.3, and the latest versions of Universe/Unidata.

At 27 MAR 2007 05:26PM Bob Carten wrote:

I have found that selecting with GE and LE returns "Invalid Target Type 7" from within TCL and FS from RLIST in the System Editor, while selecting with GT and LT works.

Sounds like parsing problems in the bond

When I select a range of dates that returns about 3000 keys works OK, but with a wider range it doesn't return anything to TCL or the System Editor in OI, and it does return 23000 records from the command console of UniData.

I just changed the bond from using "chunks" of keys to bringing them all back at once.

I made the change after reading the docs for the intercall 32bit libraries and realizing I was still using some 16 bit function prototypes.

I wonder if I failed to roll out the new function protypes.

I am actually doing tests with OI 7.3, and the latest versions of Universe/Unidata.

The 8.0 beta includes some U2 changes, but the 7.3 version should be identical as far as selecting.

Thank you for the feedback, it is very helpful. I'll let you know what I find. Feel free to post or email me with more details.

- Bob

bob@revelation.com


At 27 MAR 2007 11:09PM DSig wrote:

were there many differences between the 32bit and 16bit api? any enhancements that were leveraged?


At 28 MAR 2007 08:03AM Enrique Murphy wrote:

Thanks, Bob. For the tests I have done until now, U2 databases look very promising. The speed of selection and rendering seems to be really fast, so if the bond works well against these databases we may build up very good solutions combining OI and U2!


At 28 MAR 2007 08:43AM Bob Carten wrote:

were there many differences between the 32bit and 16bit api? any enhancements that were leveraged?

As I recall the difference was just in the declaration of the function prototypes, changing from FAR PASCAL to STDCALL. No new features.


At 28 MAR 2007 01:30PM dsig@sigafoos.org wrote:

thanks for the update .. a proud parent always likes to know how their children are doing

As mentioned somewhere else I got an email from a friend about the startling new product from Revelation that IBM is pushing .. Sure glad there is new mgmt at RTI


At 28 MAR 2007 04:46PM Mike Ruane wrote:

I keep thinking that we're new- but we've already been here six years.

To put that in perspective, that's longer than the Ostby's et al.

Scary, ain't it!


At 28 MAR 2007 05:28PM Bob Carten wrote:

Your baby is doing pretty well.

I've done a lot of work fleshing out the dynamic translation and dictionary synchronization, but the core of the bond is exactly as you architected it.

Bob


At 28 MAR 2007 06:26PM dsigafoosdsig@sigafoos.org wrote:

Better measurement is the number of developers that enjoy the experience. Started high at cosmos .. dwindled greatly with the middle team but has come back strong.

Have talked to a couple of developers who want to come back and are only held back by the cost and experience . It think the experience is the telling bit


At 29 MAR 2007 04:24PM Mike Ruane wrote:

Maybe a Works/Training special for them?

View this thread on the Works forum...

  • third_party_content/community/commentary/forums_works/c067c6a2da93a95c852572a80054cb8e.txt
  • Last modified: 2023/12/30 11:57
  • by 127.0.0.1