7.2 testers-thread

The forum for ZeosLib 7.2 Report problems. Ask for help, post proposals for the new version and Zeoslib 7.2 features here. This is a forum that will be edited once the 7.2.x version goes into RC/stable!!

My personal intention for 7.2 is to speed up the internals as optimal a possible for all IDE's. Hope you can help?! Have fun with testing 7.2
Locked
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: 7.2-alfa testers-thread

Post by miab3 »

@EgonHugeist, @mdaems,

Zeos7.2-alpha branches_ testing_R2914:
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/
compiles and runs on (I have tested):

- D2006,
- DXE2 32/64 -> C++(32),

Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.32, PostgreSQL 9.3.0.1, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, SQLite 3.7.17.

Referring to Ticket54.
With TESTDB.FDB.

Code: Select all

procedure TForm1.Button1Click(Sender: TObject);
begin
  Query.Close;
  Query.SQL.Text := 'insert into tbl(num) values (8) returning id';
  Query.Open;
end;
This works.

But Button2Click after Button1Click.

Code: Select all

procedure TForm1.Button2Click(Sender: TObject);
begin
  Query.Close;
  Query.Open;
end;
causes an error:
fb_ret.png
Michal
You do not have the required permissions to view the files attached to this post.
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Re: 7.2-alfa testers-thread

Post by EgonHugeist »

Best regards, Michael

You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/

Image
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: 7.2-alfa testers-thread

Post by miab3 »

@EgonHugeist,

Michael,
Why in Zeos 7.1.2 and Zeos 7.2. x
for Firebird table:

Code: Select all

CREATE TABLE TEST3 (
  F1 DECIMAL(10, 0),
  F2 VARCHAR(20),
  F3 BLOB);
For field F1:
- On close dataset 'Add Fields...' add TLargeintField type (without Error),
- On open dataset 'Add Field...' add TFloatField with Error:
FB_DECIMAL10.png
Michal
You do not have the required permissions to view the files attached to this post.
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: 7.2-alfa testers-thread

Post by miab3 »

@EgonHugeist,

Zeos 7.2.x_R2914
There is something wrong with the:
{$Define WITH_ZSTRINGFIELDS}
Sometimes the value of a field in the grid is not refreshed only reproduced the first.

For example, such SQL(Firebird):

Code: Select all

Select RDB$RELATION_NAME from RDB$RELATIONS WHERE (RDB$VIEW_BLR is NULL) AND (RDB$SYSTEM_FLAG = 0) ORDER BY 1
Michal
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Re: 7.2-alfa testers-thread

Post by EgonHugeist »

@Miab3

both issues confirmed. I'll check them now. The second with the TZFields is a bit wired. If you click to another row an move the mouse coursor ... Than always the current value of the row came to shove. Have to check if a row index is available too..
Best regards, Michael

You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/

Image
Zoran
Senior Boarder
Senior Boarder
Posts: 55
Joined: 07.05.2010, 22:32

Re: 7.2-alfa testers-thread

Post by Zoran »

EgonHugeist wrote: @Zoran

lorbs, what's that? It compiles well on my FPC2.6.2 LCL see attachment. Which environmet do you use? Did you compile ZCore.lpk first?
Actually, StrLen is defined in System, as well as in SysUtils.

Still, package ZCore cannot compile, the compilation breaks on this line with message:
.../zeos/testing-7.2/src/core/ZFastCode.pas(5804,64) Error: Incompatible types: got "strlen(PChar):Int64;" expected "<procedure variable type of function(PChar):LongInt;Register>"
This is on Linux Mint 15, 64 bit, but later I'm going to try on Windows 7 too and I will post here.
Last edited by Zoran on 10.11.2013, 10:48, edited 1 time in total.
Zoran
Senior Boarder
Senior Boarder
Posts: 55
Joined: 07.05.2010, 22:32

Re: 7.2-alfa testers-thread

Post by Zoran »

Zoran wrote: This is on Linux Mint 15, 64 bit, but later I'm going to try on Windows 7 too and I will post here.
Same on Windows, but only with 64-bit compiling!
C:\lazarus\Komponente\Zeos\testing-7.2\src\core\ZFastCode.pas(5804,64) Error: Incompatible types: got "strlen(PChar):Int64;" expected "<procedure variable type of function(PChar):LongInt;Register>"
When compiling in 32-bit, everything goes fine.
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Re: 7.2-alfa testers-thread

Post by EgonHugeist »

@Zoran

thanks for your hints. Did add a define. Can you please test it?

@Miab3

hope i got the TZStringField issues resolved. Some optimations can be done. Didn't had the time to check the TLargeInt vs. TNumeric-Field thing yet...
Best regards, Michael

You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/

Image
Zoran
Senior Boarder
Senior Boarder
Posts: 55
Joined: 07.05.2010, 22:32

Re: 7.2-alfa testers-thread

Post by Zoran »

EgonHugeist wrote:@Zoran

thanks for your hints. Did add a define. Can you please test it?
Now, zcore compilation breaks with
../zeos/testing-7.2/src/core/ZEncoding.pas(1265,1) Fatal: Syntax error, "identifier" expected but "BEGIN" found
Ok, this one was easy, the "var" keyword from line 1260 should be moved down, inside the directive. So, I did that and tried to compile. Now zcore compiles. Then, zplain, zparsesql also compiles. But zdbc does not:
../zeos/testing-7.2/src/dbc/ZDbcMySqlResultSet.pas(416,48) Error: Call by var for arg no. 2 has to match exactly: Got "LongWord" expected "QWord"
and later in same unit:
../zeos/testing-7.2/src/dbc/ZDbcMySqlResultSet.pas(781,39) Error: Call by var for arg no. 2 has to match exactly: Got "LongWord" expected "QWord"
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Re: 7.2-alfa testers-thread

Post by EgonHugeist »

@Zoran

again thank you. Did download a 64Bit FPC now and i think i did resolve the remaining issues. (Wondering why FPC assume a UInt64/QWord for the type LongWord)

Patch done R2922. Please test it again.

@Miab3
found another silly stup with the new Fields. I couldn't update them. Resolved too. I'll go forward and write a TZ()Field descendant for each type (our conversions are faster then these of the Delphi/FPC rtl and check the benchmarks again). The Synopse benchmarks... Sade yes he really didn't use 7.2 and he also needs to rework his framework for 7.2 in some case. I'll support him a bit more if Mark is ready with the Logging patches.
Best regards, Michael

You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/

Image
Zoran
Senior Boarder
Senior Boarder
Posts: 55
Joined: 07.05.2010, 22:32

Re: 7.2-alfa testers-thread

Post by Zoran »

EgonHugeist wrote:@Zoran
again thank you. Did download a 64Bit FPC now and i think i did resolve the remaining issues.
Now, compiles well on Windows 64-bit. I'll try in Linux this evening.
EgonHugeist wrote:@Zoran
(Wondering why FPC assume a UInt64/QWord for the type LongWord)
What do you mean? This:

Code: Select all

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := 'Size of LongWord=' + IntToStr(SizeOf(LongWord))
                 + '  Size of UInt64=' + IntToStr(SizeOf(UInt64))
                 + '  Size of QWord=' + IntToStr(SizeOf(QWord));
end;
returns
Size of LongWord=4 Size of UInt64=8 Size of QWord=8
When compiled with either 32-bit or 64-bit FPC (just as documented).

Anyway, instead of using compiler directives, you should use PtrUInt type (pointer sized, unsigned, integer type) where needed.
This:

Code: Select all

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text := 'Size of PtrInt=' + IntToStr(SizeOf(PtrInt))
                 + '  Size of PtrUInt=' + IntToStr(SizeOf(PtrUint));
end;
when compiled with 32-bit compiler, returns
Size of PtrInt=4 Size of PtrUInt=4
but when compiled with 64-bit compiler, it returns
Size of PtrInt=8 Size of PtrUInt=8
moctes
Fresh Boarder
Fresh Boarder
Posts: 3
Joined: 11.11.2013, 01:48

Re: 7.2-alfa testers-thread

Post by moctes »

Hi to all,

I ran Arnaud Bouchez mORMot benchmarks, see http://synopse.info/forum/viewtopic.php?id=1466 and http://synopse.info/forum/viewtopic.php?id=1467 using latest Zeos 7.1 stable, and I'm curious about the 7.2 branch, Do you think that if I do the test with the latest version will be a noticeable improvement? and before doing anything, Would you say 7.2 alfa is stable enough for this kind of tests?

Regards and thank you for your work.
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Re: 7.2-alfa testers-thread

Post by EgonHugeist »

@Zoran,

thanks for you hints. I already know that. I was just curious about the PUlong trouble-maker. Thanks for compiling confirmation. Hope you check against performance too?

@moctes
moctes wrote:I'm curious about the 7.2 branch
Why? 7.2 is a pure performance rework because of the Synopse tests..
moctes wrote:Do you think that if I do the test with the latest version will be a noticeable improvement?
Absolutely! I did increase fetching and insertiation speed in a unexpected high rate for the most protocols. Some remaining things need to be done.
moctes wrote:Would you say 7.2 alfa is stable enough for this kind of tests?
Sure. 7.2 had some hickups which (hopefully all) are resolved yet. But making the Synopse test with AB's current access won't bring some other results i think. He need some framework reworks for the ResultSets and the Statements. We'have no final state yet. But it would be a good idea to start reowrking the Synopse<>ZDbc interface. Also are there some Prameters for pimping the speed.
As you can read in this thread: I planed to write him and i'm willing to support him. Mayby you give him a hint? I promissed the speed upgrades to 7.1 but i had other things todo. So we decided to release 7.1 and make it on 7.2. Actually MArk is preparing a patch to prevent value logging (a remaining perforance Killer) and i do Rework the TFields because the TDataSet interface could work more powerfull if we have differet access here..
Also do i plan to add some more TVariant (mainly pointing val's like PInteger..) types and some more exact TZSQLTypes (stSmall is already done now).
The IZLobs got also a rework. Uncached-Lobs (load on demand) are added where i think it was possible. Also do i differ between BLob and Clob.

But trust me the actual state really does perform loads (mostly x3 for the UnicodeIDE's f.e.)
.... There is mutch to say about. Can you check the Synopse-Framwork and make the neccessary patches for A.Bouchez? Than i'm willing to support you where ever i can..
Best regards, Michael

You want to help? http://zeoslib.sourceforge.net/viewtopic.php?f=4&t=3671
You found a (possible) bug? Use the new bugtracker dude! http://sourceforge.net/p/zeoslib/tickets/

Image
moctes
Fresh Boarder
Fresh Boarder
Posts: 3
Joined: 11.11.2013, 01:48

Re: 7.2-alfa testers-thread

Post by moctes »

@EgonHugeist,

Great!! I'm preparing to make a 2 day work travel, but I'll see if I can test it today, otherwise it will be until friday and I will keep you both informed of my findings (AB and You)

Best regards.

Mocte
miab3
Zeos Test Team
Zeos Test Team
Posts: 1310
Joined: 11.05.2012, 12:32
Location: Poland

Re: 7.2-alfa testers-thread

Post by miab3 »

@EgonHugeist,

Michael,
But TBytes appears from Delphi 2007.
type TBytes = array of Byte;

Michal
Locked