Recent

Author Topic: IBX for Lazarus 1.1.0 is now available  (Read 8308 times)

tonyw

  • Full Member
  • ***
  • Posts: 130
    • MWA Software
IBX for Lazarus 1.1.0 is now available
« on: July 07, 2014, 03:18:53 pm »
MWA Software is pleased to announce that version 1.1.0 of IBX for Lazarus is now available from

http://www.mwasoftware.co.uk/ibx

This release fixes a number of defects and provides several useful improvements to the handling of dialect 3 column names with spaces and/or special characters. Client side performance should also be improved. The change log for this release is:

1. TIBXSQLVAR code clean up and optimisation to improve client side "prepare" and parameter
   setting performance. See "readme.field+param.names in the doc folder.(Thanks to
   Gabor Boros for reporting this problem and for testing the improvements).

2. IBX can now support dialect 3 quoted column names that contain spaces and which differ only in their case.
   See readme.field+param.names in the doc folder.

3. IBX SQL Editors will now automatically add double quotes around column names when the database
   dialect is "3" and the column name contains spaces or is a Firebird 2.5 SQL Reserved Word.

4. Param Type LargeInt now supported in TIBQuery and TIBStoredProc

5. TIBSQL.ExecQuery retry on failure removed to avoid problems with "at most once"
   actions.

6. TIBTransaction.SetDefaultDatabase uses SetObjectProp instead of mis-using SetOrdProp (with
   thanks to Yuriy Kopnin for pointing this out).

7. GenerateParamName is now a published property of TIBSQL, TIBQuery and TIBDataSet.

8. varWord, varShortInt and varInt64 added to TIBXSQLVAR.SetAsVariant and hence now available as variant types
   for both fields and parameter setting.

9. Changes to the Select SQL in an IBCustomDataset descendent should now be
   visible in the Fields Editor immediately afterwards - rather than only after cycling the "active" property.

10. TIBSQL SQL editor will operate correctly and not report an SQL syntax error on SQL test,
    when DSQL ('?') parameter placeholders are used and the TIBSQL.GenerateParamNames property is set to true.

11. TIBTable now has a property editor for "MasterFields"

12. SQL Property Editors now include a checkbox "Allow DSQL Placeholder". This corresponds to the
    GenerateParamNames property and should be set when using DSQL (i.e. '?') style parameters.

13. The IBTransaction editor now has a radio button ("Unspecified") which is set when the combination
    of settings is unrecognised. Selecting this radio button has no effect on the settings.

JD

  • Hero Member
  • *****
  • Posts: 1738
Re: IBX for Lazarus 1.1.0 is now available
« Reply #1 on: July 07, 2014, 04:03:07 pm »
Very good. Nice to see that this project is still active. Thanks.

JD
Windows (10, 7) - Lazarus 2.0RC3/FPC 3.2, NewPascal, Delphi

Indy 10.6 series; mORMot; Zeos 7.2.1; SQLite, Firebird, PostgreSQL & MariaDB; VirtualTreeView 5.5.3 R1

hrayon

  • Jr. Member
  • **
  • Posts: 86
Re: IBX for Lazarus 1.1.0 is now available
« Reply #2 on: July 08, 2014, 07:05:53 pm »
Good work!
Are there plans about firebird 3 and IBX for Lazarus?
Thanks!

miquelmatas

  • Jr. Member
  • **
  • Posts: 98
  • Beginner forever.
Re: IBX for Lazarus 1.1.0 is now available
« Reply #3 on: July 08, 2014, 07:20:28 pm »
Thanks very much!
--
Cheers.
Miquel.

sin_dragan

  • Full Member
  • ***
  • Posts: 127
Re: IBX for Lazarus 1.1.0 is now available
« Reply #4 on: July 09, 2014, 10:51:30 am »
Thank you!
Windows 7 64 bit
Lazarus 1.4.1 (w/fixes) FPC 2.6.4 win32

tonyw

  • Full Member
  • ***
  • Posts: 130
    • MWA Software
Re: IBX for Lazarus 1.1.0 is now available
« Reply #5 on: July 09, 2014, 06:10:44 pm »
Good work!
Are there plans about firebird 3 and IBX for Lazarus?
Thanks!

The code clean was certainly an important starting point for Firebird 3. However, there is still much to be done - but at least Firebird 3 will continue to support the FB2 legacy API, so you should be able to use the current IBX with Firebird 3.

The move to Firebird 3 will mean a rewrite of the TIBSQL and some changes to TIBDatabase and TIBTransaction. However, I would expect the changes to be backwards compatible. The API change should improve performance - but we shall see. As for dates - some time in the future ..

Some decent documentation for the new API would certainly hurry things along.

freeman35

  • Jr. Member
  • **
  • Posts: 92
Re: IBX for Lazarus 1.1.0 is now available
« Reply #6 on: September 10, 2014, 11:02:25 pm »
Why dclibx try firebird load? My IDE crash while startup, I'm on linux x64, I added export variables too. svn fpc & lazarus. Firebird 2.5.3 snapshot build installed on "/opt/fb25ss"
Code: [Select]
if not TryIBLoad then
  begin
    MessageDlg('IBX is unable to locate the Firebird Library - have you remembered to install it?',mtError,[mbOK],0);
    //Exit; --> like this, IDE can start
  end;

TIBDatabase is same problem, on create need to load firebird library. IBX always work like this, on delphi, I was cancel use for this long years ago.
My suggestions add new library property to TIBDatabase, and just when try to connect, on designtime or runtime check this property.
2. good idea is add second transaction "writetransaction"

small bug, I downloaded ver 1.1.0 but in lpk still 1.0.5

and Thank you very much for hard worked and shared with us

tonyw

  • Full Member
  • ***
  • Posts: 130
    • MWA Software
Re: IBX for Lazarus 1.1.0 is now available
« Reply #7 on: September 11, 2014, 01:25:28 pm »
I added the "if not TryIBLoad then" in order to reduce the amount of support requests. By far and away most support requests were to do with IBX (silently) failing to load and the reason for this was that the Firebird libraries were either not installed or in an unexpected location. By detecting this and adding a hopefully meaningful error message, I now hardly ever get support requests in this area.

You are of course free to amend the code to suit your own requirements and if you are happy with IBX starting but unable to access Firebird then you can modify the code as suggested.

The problem with adding a "library" property to the TIBDatabase is that you can have multiple TIBDatabase components per project and then what do you do when the user configures them differently? On the other hand,  a new TIBInterface component might be an idea - as long as it was possible to make it work implicitly as well as explicitly. I will think about that for the next version - and if the Firebird Devs ever sort out the FB3 interface problems.

Can you please check to ensure that you have downloaded the up-to-date version of IBX. I use an automatic script to avoid problems with version numbers and a quick check on my system and the download package shows IBX as reporting version 1.1.0.

freeman35

  • Jr. Member
  • **
  • Posts: 92
Re: IBX for Lazarus 1.1.0 is now available
« Reply #8 on: September 12, 2014, 11:27:08 am »
"if not TryIBLoad then" Crash my IDE while startup and I have to remove dclibx from lazarus settings file and I have to rebuild lazarus

about "adding a "library" property to the TIBDatabase" http://forum.lazarus.freepascal.org/index.php/topic,19257.15.html  my reply #19  same problem. how to dump old FB version to new version? If answer is make script :) its not practical because, Install old version make script then remove old version,then install new version and execute script, and pray to god for script has no error :)
another needed library property, old version program still working on pc, and try to show new version to people, for demo, if have library property, can use embeded for demo, and old installed firebird application still work.old installed version and embeded new version can work same time, maybe fb3 embeded work same time too.
fibplus, unidac and ibo have got this property, and each query and table has two transation property read and write separated  transaction. If I'm not wrong remember, ibo query has two write Transaction property. Firebird support Transaction in transaction.
I couldn't test ibx, so I want to ask, is ibx support "returning values" in insert sql ?
Thank you

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: IBX for Lazarus 1.1.0 is now available
« Reply #9 on: September 12, 2014, 11:41:33 am »
Quote from: freeman35
my reply #19  same problem. how to dump old FB version to new version?

Firebird 2.x can read older ODS/Firebird files so I don't see why you should need to load 2 libraries.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

freeman35

  • Jr. Member
  • **
  • Posts: 92
Re: IBX for Lazarus 1.1.0 is now available
« Reply #10 on: September 12, 2014, 01:33:54 pm »
Quote from: freeman35
In my reply #19
Another way, for axmple, I have firebird 1.5 db and data, I wanna copy data to firebird 2.5.3 db, I need to load both library same form and same time, so I can dump data, how to do this?

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: IBX for Lazarus 1.1.0 is now available
« Reply #11 on: September 12, 2014, 01:44:06 pm »
And you can use a 2.x client to connect to an 1.x server as well, didn't you know that?
So you can use e.g. the 2.x embedded library to do what you want AFAIU.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified