Subject | Re: [IBO] New release IBO 4.9.3 |
---|---|
Author | Jason Wharton |
Post date | 2009-06-20T19:03:43Z |
I was out of town yesterday but I am back. My wife said that there was a
problem with the computer and when she discovered it she restarted it. The
link should have been up and running again already. I made sure it was up
and running this morning when I got back home. Please try again.
Sorry about that.
Jason Wharton
problem with the computer and when she discovered it she restarted it. The
link should have been up and running again already. I made sure it was up
and running this morning when I got back home. Please try again.
Sorry about that.
Jason Wharton
----- Original Message -----
From: "Jerry Sands" <jsands@...>
To: <IBObjects@yahoogroups.com>
Sent: Friday, June 19, 2009 9:27 AM
Subject: RE: [IBO] New release IBO 4.9.3
The link is still down (for me at least). Will it be down until Jason
returns?
Jerry Sands
From: IBObjects@yahoogroups.com [mailto:IBObjects@yahoogroups.com] On Behalf
Of Andrei Luís
Sent: Friday, June 19, 2009 8:31 AM
To: IBObjects@yahoogroups.com
Subject: Re: [IBO] New release IBO 4.9.3
Trustware link is down.
Regards,
Andrei
2009/6/19 Jason Wharton <supportlist@...
<mailto:supportlist%40jwharton.com> >
> I just put the following release in all download areas.
>
>
>
> 6/18/2009 Release 4.9 Build 3 (beta)
>
> I made extensive fixes and improvements to full text searching. Most
> notable is the inclusion of two new search types. tstWordLike and
> tstWordContaining. I also made it so the AUX column can be left blank in
the
> IB_FTS utility app. I also have the beginnings of an OR operator for word
> pairs, triplets, etc. This is bringing about a SQLUnionItems property that
> will work similar to the SQLWhereItems property. That is the only way to
> make it fully optimizable is to have a UNION for each OR condition.
>
> I fixed the bug having to do with the TIB_Grid making use of the private
> members of TCustomGrid by way of a fake class patterned after it to poke
> into the values. I had not yet made it consistent with the new version of
> Delphi 2009.
>
> I added the OnCustomizeTPB event to the TIB_Database component. This
> surfaced it from the underlying transation object it contains.
>
> I ported over the unit for handling the log files for the service class
and
> the web server base classes I use for the community web-site.
>
> I ported over the unit for handling SQL tracing.
>
> I finished up support for alternate key handling and integrated it into
the
> IB_FTS (full text search) utility application so that keys can be selected
> more easily.
>
> I added in support for calculated fields that are BLOB columns. This
> involved changing the FieldNo variable from type word to integer.
>
> I altered the behavior of BlobNodes. A freshly initialized blob node will
> show a BlobSize of -1 for being uninitialized in order to distinguish from
a
> BLOB being deliberately set to zero length.
>
> I included some MD5 hashing routines in the IB_Utils.pas unit.
>
> I added the following methods below for easier access to the values in the
> buffers. This is also a way to directly tweak the values in calculated and
> COMPUTED field buffers.
>
> {: Similar as in TDataset }
>
> function Lookup( const ABookmark: AnsiString;
>
> const AResultFields: AnsiString ): Variant; overload;
>
> {: PokeValues is a quick and dirty way to directly alter the contents of
> the
>
> buffers without going through the whole process of going into an edit
state
> and
>
> posting. This is a way to tweak the values in the buffers and should only
> be
>
> used under special circumstances that warrent such. <br><br>
>
> The function returns true if the record is found in the buffer and the new
> values
>
> were actually written in.}
>
> function PokeValues( const AKeyFields: AnsiString;
>
> const AKeyValues: Variant;
>
> const APokeFields: AnsiString;
>
> const APokeValues: Variant ): boolean; overload;
>
> {: PokeValues is a quick and dirty way to directly alter the contents of
> the
>
> buffers without going through the whole process of going into an edit
state
> and
>
> posting. This is a way to tweak the values in the buffers and should only
> be
>
> used under special circumstances that warrent such. <br><br>
>
> The function returns true if the record is found in the buffer and the new
> values
>
> were actually written in.}
>
> function PokeValues( const ABookmark: AnsiString;
>
> const APokeFields: AnsiString;
>
> const APokeValues: Variant ): boolean; overload;
>
>
>
> I added the LikeCompare() function to simulate the server's LIKE operator
> on text in IB_Parse.pas.
>
> function LikeCompare( const ALikeStr, AStr: ansistring;
>
> AIgnoreCase: boolean = false;
>
> AEscapeChar: ansichar = '\' ): boolean;
>
> I included a fix from Paul Filmer who corrected a parsing problem having
to
> do with returning the correct RelationAlias for some SQL statements.
>
> I included the fix Andreas pointed out in IBODataset.pas where I converted
> a PChar to PAnsiString instead of PAnsiChar. This was in the
> SetBookmarkData() method. It was causing an access violation.
>
>
>
> Enjoy,
>
> Jason Wharton