Subject | RE: [IBO] 4.0 BETA |
---|---|
Author | Meir Kalter |
Post date | 2001-01-04T20:59:43Z |
Could i check the 4.0 beta?
I have created a custom base tree, which i want to connect to your
components.
-----Original Message-----
From: Jason Wharton [mailto:jwharton@...]
Sent: Wednesday, January 03, 2001 8:05 PM
To: IBObjects@egroups.com
Subject: Re: [IBO] 4.0 BETA
Chris,
you implemented the ability to scroll around a dataset without buffering the
KeyLinks for every record visited ? Basically what I am looking for is, what
components and properties have you used to implement this life saving
feature ? As I am converting my app, I would like to use the correct
components now and then make any required modifications once I receive the
BETA.
Well, if I have done my job right you shouldn't have any apparent difference
other than improved performance and "fluidity" of the interface. If you are
using the TIBOTable component it will simply do just as the BDE did. If you
are using the native IBO components you will simply have to add an attribute
to your OrderingLinks entries indicating that you want horizontal dataset
refinement.
As far as how I have implemented it. IBO maintains internally the necessary
cursors to fetch rows in both ASC and DESC using input parameters to jump to
any point in the dataset. You aren't limited to just navigating based on the
column(s) ordered by either. I have made IBO such that it can use this
efficient method of pulling in records when locating a record based on any
columns.
This capability makes it so that much more of the workload will be handled
by the server and even fewer record will have to come to the client.
Here's a simple example of how it works. If you call the Last method instead
of fetching all the rows of the dataset it closes it and then opens the
cursor that gets records in the opposite direction of the sort and grabs
records immediately populating the buffer and displaying the records in
reverse order.
So far the only hang-up is that if you are using more than one column
InterBase doesn't seem to optimize if all that well. Ann Harrison is onto
the bug for it and hopefully the initial release of Firebird will have it
resolved.
Hope this is what you were looking for.
As for other features in 4.0, most of them are going to be released later as
separate modules. Here's the brunt of the work going in in v4.0.
A) Complete OnFilterRecord support without requiring a refresh in order to
change criteria. All records stay in the buffer and are flagged as filtered
now. Thus, it is possible to recalculate the records filtered status without
fetching or refreshing again.
B) Horizontal dataset refinement, mentioned above for better desktop DB
emulation. This massively impacted both buffering and the grid controls.
This is the bulk of the work in the major release.
C) Delphi 6/Kylix support is being added and Delphi 2 is being dropped.
D) Splitting IBO up into about 6-8 packages and better support for run-time
packages.
E) Addition of various modules for full text search, service applications,
simple replication, PDOX to IB migration tools, and possibly more. One thing
I have in mind is a generic document processing module that will provide
most all of the framework for maintaining subscriptions, registrations,
relationships, renewals, amendments, etc. These will all be after the
initial release of v4.0.
Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com
I have created a custom base tree, which i want to connect to your
components.
-----Original Message-----
From: Jason Wharton [mailto:jwharton@...]
Sent: Wednesday, January 03, 2001 8:05 PM
To: IBObjects@egroups.com
Subject: Re: [IBO] 4.0 BETA
Chris,
> I am eagerly awaiting the 4.0 BETA and would like to prepare my app tosupport the features we discussed yesterday. Could you briefly explain how
you implemented the ability to scroll around a dataset without buffering the
KeyLinks for every record visited ? Basically what I am looking for is, what
components and properties have you used to implement this life saving
feature ? As I am converting my app, I would like to use the correct
components now and then make any required modifications once I receive the
BETA.
Well, if I have done my job right you shouldn't have any apparent difference
other than improved performance and "fluidity" of the interface. If you are
using the TIBOTable component it will simply do just as the BDE did. If you
are using the native IBO components you will simply have to add an attribute
to your OrderingLinks entries indicating that you want horizontal dataset
refinement.
As far as how I have implemented it. IBO maintains internally the necessary
cursors to fetch rows in both ASC and DESC using input parameters to jump to
any point in the dataset. You aren't limited to just navigating based on the
column(s) ordered by either. I have made IBO such that it can use this
efficient method of pulling in records when locating a record based on any
columns.
This capability makes it so that much more of the workload will be handled
by the server and even fewer record will have to come to the client.
Here's a simple example of how it works. If you call the Last method instead
of fetching all the rows of the dataset it closes it and then opens the
cursor that gets records in the opposite direction of the sort and grabs
records immediately populating the buffer and displaying the records in
reverse order.
So far the only hang-up is that if you are using more than one column
InterBase doesn't seem to optimize if all that well. Ann Harrison is onto
the bug for it and hopefully the initial release of Firebird will have it
resolved.
Hope this is what you were looking for.
As for other features in 4.0, most of them are going to be released later as
separate modules. Here's the brunt of the work going in in v4.0.
A) Complete OnFilterRecord support without requiring a refresh in order to
change criteria. All records stay in the buffer and are flagged as filtered
now. Thus, it is possible to recalculate the records filtered status without
fetching or refreshing again.
B) Horizontal dataset refinement, mentioned above for better desktop DB
emulation. This massively impacted both buffering and the grid controls.
This is the bulk of the work in the major release.
C) Delphi 6/Kylix support is being added and Delphi 2 is being dropped.
D) Splitting IBO up into about 6-8 packages and better support for run-time
packages.
E) Addition of various modules for full text search, service applications,
simple replication, PDOX to IB migration tools, and possibly more. One thing
I have in mind is a generic document processing module that will provide
most all of the framework for maintaining subscriptions, registrations,
relationships, renewals, amendments, etc. These will all be after the
initial release of v4.0.
Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com