Jump to content
miab

Zeos 7.3 entered the beta phase.

Recommended Posts

A number of changes, fixes, improvements and speedups have been made compared to ZEOS 7.2.6.1-stable.
Among others, OLE DB (for Windows) and ODBC protocols were added, newer versions of SQL servers were included.
Feel free to test and use the ZEOS 7.3.1-beta:
https://zeoslib.sourceforge.io/viewtopic.php?f=50&p=155611#p155611
https://sourceforge.net/p/zeoslib/code-0/HEAD/tree/branches/testing-7.3/
https://github.com/marsupilami79/zeoslib

 

Michal

Edited by miab
  • Like 3

Share this post


Link to post

Great News!

 

Zeos is IMHO the best data access library for Delphi and FPC. And it is Open Source.

The direct ZDBC layer has tremendous performance, and a lot of work has been done for this 7.3 upcoming branch.

  • Like 1

Share this post


Link to post
7 hours ago, Arnaud Bouchez said:

Some discussion with numbers using ZDBC/Zeos 7.3 beta in respect to alternatives is available at https://synopse.info/forum/viewtopic.php?pid=32916#p32916

I'll appreciate if you provide more details regarding these numbers? Are we talking about inserting/reading X records per second, ms seconds? So the higher the better?

Share this post


Link to post

It is in records/seconds so the higher the better.

And it includes the ORM layer - which is very low in practice.

You can see for instance that if you use TDataSet (and DB.pas depending units) then reading one record/object has a noticeable overhead, in respect to direct DB access, as ZDBC does or our direct SynDB classes.

For a reference documentation, with some old numbers, you may check https://synopse.info/files/html/Synopse mORMot Framework SAD 1.18.html#TITL_59

Edit: you will see that the ORM also supports MongoDB as backend. Pretty unique.

Edited by Arnaud Bouchez
  • Thanks 1

Share this post


Link to post

Off: for anyone wondering 7.3 is not dead, only the version number was bumped to 8.0 a while ago. It is basically the same codebase but due to the changes breaking backwards compatibility the main version number was increased instead.

Share this post


Link to post
Guest

Is it feasible to replace an edge memory-table component (i.e. TkbmMemTable, TClientDataSe, TFDClient...) with this library?

Does it contain a good TDataSet-based memory table?

 

TIA,

/Dany

Share this post


Link to post

Not yet, but it's the most requested feature for a long time. For the time being only a memory based SQLite database can be used as a workaround.

Share this post


Link to post

@Dany Marmur as far as I can see @EgonHugeist already started the development of the Zeos-based memory table.

The latest snapshot already has the TZMemTable component - now it's time to start to play with it!

 

Edit: Seems to be working as it should:

procedure TForm1.FormCreate(Sender: TObject);
begin
 ZMemTable1.FieldDefs.Add('MyField', ftWideString);
 ZMemTable1.Open;
 Try
  ShowMessage(ZMemTable1.RecordCount.ToString);
  ZMemTable1.Append;
  ZMemTable1.FieldByName('MyField').AsString := 'Hello world!';
  ZMemTable1.Post;
  ShowMessage(ZMemTable1.RecordCount.ToString + sLineBreak +
              ZMemTable1.FieldByName('MyField').AsString);
 Finally
  ZMemTable1.Close;
 End;
end;

At the moment it throws a nullpointer AV if it's destroyed while it's open but I'll send a pull request with a fix in a minute.

Edited by aehimself
  • Like 3

Share this post


Link to post

ZEOS 8.0.0 (trunk) svn 7339

 

Works from Delphi 7 to Delphi 10.4.2 Sydney (and Lazarus 2.0.12 - fpc 3.2.0)

 

https://zeoslib.sourceforge.io/viewtopic.php?f=50&p=165990#p165990
https://sourceforge.net/projects/zeoslib/
https://github.com/marsupilami79/zeoslib

There have been a few fixes. Feel free to download, testing, use, submit comments.

 

Michał

Edited by miab
  • Like 1

Share this post


Link to post

ZEOS 8.0.0 (trunk) svn 7386

 

Works with: Lazarus 2.0.12(fpc 3.2.0)


NEW: TryKeepDataOnDisconnect - possibility to work without connection to the server

 

https://zeoslib.sourceforge.io/viewtopic.php?f=50&p=168409#p168409
https://sourceforge.net/projects/zeoslib/
https://github.com/marsupilami79/zeoslib

There have been a few fixes. Feel free to download, testing, use, submit comments.

 

Michał

  • Like 1

Share this post


Link to post

Also, you can define if LOBs should be cached on load or on access - where supported of course 🙂

  • Like 1

Share this post


Link to post

ZEOS 8.0.0 /trunk svn 7717

 

Works with: Delphi 7-Delphi 11 Alexandria, Lazarus 2.0.8-2.2.0RC2


NEW: ZMemTable - LoadFromStream/SaveToStream

 

https://zeoslib.sourceforge.io/viewtopic.php?f=50&t=73319&p=183311#p183311
https://sourceforge.net/projects/zeoslib/
https://github.com/marsupilami79/zeoslib

 

To be able to use ZMemTable SaveToStream and LoadFrom Stream, you should enable in the zeos.inc file:
{$DEFINE ZMEMTABLE_ENABLE_STREAM_EXPORT_IMPORT} // line 97

 

Michał

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×