Subject | IBO 4.9.13 Beta 21 released |
---|---|
Author | Support List |
Post date | 2011-04-22T23:47:03Z |
All,
I have just released IBO 4.9.13 Beta 21 to all download areas.
Here is a copy out of the release notes for what I've been working on.
I rearranged the work-around code handling of an old InterBase/Firebird bug
in the isc_xxx_execute2() api calls to be under a compiler directive instead
of a constant. See BUG_EXEC2 in IB_Directives.inc.
I fixed the bug in TIB_Currency so that it would function properly without
zapping off the decimal places. I actually ended up substantially rewriting
it and I added a new property called DeleteClearsText that tells what
behavior the Delete key should have. The previous behavior was that when the
Delete key was pressed it cleared the whole value. I decided some people may
not like that behavior so I added that property in order to disable it and
cause it to work like a normal TIB_Edit.
I fixed the handling of identifier names in TIBODataset where double quoted
identifiers are concerned. It was dropping the double quotes and making the
identifier name upper case in some instances. It now properly respects
double quoted identifiers and keeps the proper case for the FieldName. This
change may cause existing applications with streamed TField definitions to
error when the form or module is loading. In this case, you will need to
edit your DFM in order to correctly match your column name, including the
double quotes, and correcting the case.
I fixed a bug in the AsRawString property. It was returning incorrect data
for CHAR columns.
I fixed a bug in IBF_Browse form. It was not properly querying for
references to generators in stored procedure and triggers. I look for it in
the BLR using a special string that was not being assembled correctly. I had
to fix the AsRawString property in addition to this fix for it to work all
the way around.
I restored a work-around of an old API call that had bugs. Unfortunately, at
least one bug still exists. It has to do with the isc_dsql_exec_immed2() API
call. It does not properly handle identifier names that are double quoted. I
reported it to the Firebird SQL developers. Hopefully they will fix it. For
now it will attempt the API call and if there is an error it will use a
dynamic prepare and execute it that way. Thus, it will cause a performance
degredation and it will put failed API calls in the SQL trace.
I made it so that columns defined with the character set OCTETS will
correspond with the field type ftBytes for CHAR and ftVarBytes for VARCHAR
for TIBODataset components.
I changed the SQL DDL generation for the CreateTable method of the
TIBODataset class. Now it will create a CHAR column and VARCHAR column for
the ftBytes and ftVarBytes properties. It uses the CHARACTER SET OCTETS for
those columns. I also have it include more data on the Blob columns if they
are available.
I fixed a bug in the ExecuteImmediate2() method that had an improper API
setting. For some reason it was hard coded to make the call using SQLDialect
1 instead of 3. Thus, it was rejecting quoted identifiers. Now it works
beautifully.
Note: There is some work going on to organize the button edit feature of the
IB_Edit control so this control might not be stable in the next few
releases. Please keep a close eye on this control and especially with its
use of the button. I am adding in a new unit called IB_EditButton.pas to
accommodate this.
Regards,
Jason LeRoy Wharton
www.ibobjects.com
[Non-text portions of this message have been removed]
I have just released IBO 4.9.13 Beta 21 to all download areas.
Here is a copy out of the release notes for what I've been working on.
I rearranged the work-around code handling of an old InterBase/Firebird bug
in the isc_xxx_execute2() api calls to be under a compiler directive instead
of a constant. See BUG_EXEC2 in IB_Directives.inc.
I fixed the bug in TIB_Currency so that it would function properly without
zapping off the decimal places. I actually ended up substantially rewriting
it and I added a new property called DeleteClearsText that tells what
behavior the Delete key should have. The previous behavior was that when the
Delete key was pressed it cleared the whole value. I decided some people may
not like that behavior so I added that property in order to disable it and
cause it to work like a normal TIB_Edit.
I fixed the handling of identifier names in TIBODataset where double quoted
identifiers are concerned. It was dropping the double quotes and making the
identifier name upper case in some instances. It now properly respects
double quoted identifiers and keeps the proper case for the FieldName. This
change may cause existing applications with streamed TField definitions to
error when the form or module is loading. In this case, you will need to
edit your DFM in order to correctly match your column name, including the
double quotes, and correcting the case.
I fixed a bug in the AsRawString property. It was returning incorrect data
for CHAR columns.
I fixed a bug in IBF_Browse form. It was not properly querying for
references to generators in stored procedure and triggers. I look for it in
the BLR using a special string that was not being assembled correctly. I had
to fix the AsRawString property in addition to this fix for it to work all
the way around.
I restored a work-around of an old API call that had bugs. Unfortunately, at
least one bug still exists. It has to do with the isc_dsql_exec_immed2() API
call. It does not properly handle identifier names that are double quoted. I
reported it to the Firebird SQL developers. Hopefully they will fix it. For
now it will attempt the API call and if there is an error it will use a
dynamic prepare and execute it that way. Thus, it will cause a performance
degredation and it will put failed API calls in the SQL trace.
I made it so that columns defined with the character set OCTETS will
correspond with the field type ftBytes for CHAR and ftVarBytes for VARCHAR
for TIBODataset components.
I changed the SQL DDL generation for the CreateTable method of the
TIBODataset class. Now it will create a CHAR column and VARCHAR column for
the ftBytes and ftVarBytes properties. It uses the CHARACTER SET OCTETS for
those columns. I also have it include more data on the Blob columns if they
are available.
I fixed a bug in the ExecuteImmediate2() method that had an improper API
setting. For some reason it was hard coded to make the call using SQLDialect
1 instead of 3. Thus, it was rejecting quoted identifiers. Now it works
beautifully.
Note: There is some work going on to organize the button edit feature of the
IB_Edit control so this control might not be stable in the next few
releases. Please keep a close eye on this control and especially with its
use of the button. I am adding in a new unit called IB_EditButton.pas to
accommodate this.
Regards,
Jason LeRoy Wharton
www.ibobjects.com
[Non-text portions of this message have been removed]