Subject Re: [IBO] HDR and SQLWhereItems
Author Jason Wharton
> I read in the Release-Notes of 4.2Ga, that the bug with HDR and
> SQLWhereItems should be fixed, but I have done some tests and the bug is
> still there or am I missing something ?

The bug mentioned was in the synchronizing of the TDataset buffers with the
native TIB_BDataset buffers of its internal dataset.

What you are alluding to as a bug is how I have currently designed it to
work intentionally. You have raised your points about how you would like it
to work and I am still pondering over how best to make it work in a manner
that will provide you with what you need and still hold true to how I
conceptually envisioned this feature being used and how it should integrate
together with the other dataset features.

At this point, one thing to consider as a possible solution is to make it so
that there is an alternative SQLWhereItems property that can be added to
which will not flip off the HDR mechanisms. You may not know it but there
are three different internal SQLWhere<priority> lists for query refining
criteria to be added to. They are SQLWhereHigh, SQLWhereLow and
SQLWhereItems (medium). In other words, there are internal things I wanted
to be considered above and below the ones the user provided. (This mostly
has to do with forcing things so I can make assumptions about where input
parameters are in the SQL statement, not because I think I'm going to affect
the performance/optimization of the query any.) I can add another
SQLWhere<something>Items property that will not turn off the HDR.

Another possibility would be to add a method and make it the standard and
proper way to populate items into the SQLWhereItems queue. The method could
have with it a flags parameter that would describe how the criteria should
be considered. Whether or not it is a major refinement to the records of the
dataset or just a minor one. Meaning some criteria would be used to get a
few records at a maximum (therefore using HDR would be counter-productive)
and in other instances it might be something like reducing a large dataset
by only a few records (therefore it would still be desirable to use HDR). I
think I prefer this approach because we can add additional flags as
necessary.

How does this sound?

Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com