ZeosLib 7.1 testers-thread

The official tester's forum for ZeosLib 7.1. Ask for help, post proposals or solutions.
Post Reply
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

ZeosLib 7.1 testers-thread

Post by EgonHugeist »

Dear Zeos comunity,

today i've added a new category for Zeos 7.1.x.

aim of this thread is simple to share your experiences. If some nightly changes do breaks the compiling or other things going terribly wrong post here. :?

To be clear: We're talking here allways about the latest changes of our SVN repositories: svn://svn.code.sf.net/p/zeoslib/code-0/branches/testing-7.1 (Here all changes start... Dangerous, tempting, coding fun, everybody's welcome)

For help or missing know how, simply open a new thread. :idea:
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

Post by miab3 »

EgonHugeist,

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

- D2006,
- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Win 1.1/fpc 2.7.1 32/64,
- Lazarus Lin 1.1/fpc 2.7.1 64 on Debian 64-bit (LMDE 201204).

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.28, PostgreSQL 9.2.1, MSSQL 2008 R2 Express, Oracle Database Express Edition 11g Release 2).

[s]PS: Does anyone know how to install (run)
Oracle Database Express Edition 11g Release 2(32-bit) on
Windows 8 Pro with Media Center (64-bit) ?[/s]

Michal
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Post by EgonHugeist »

miab3,

thumbs up, i see you understand me!

Thank's again.
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

Post by miab3 »

EgonHugeist,

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

- D2006,
- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Win 1.1/fpc 2.7.1 32/64,
- Lazarus Lin 1.1/fpc 2.7.1 64 on Debian 64-bit (LMDE 201204).

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.28, PostgreSQL 9.2.1, MSSQL 2008 R2 Express, Oracle Database Express Edition 11g Release 2).

In line 1757 ZAbstractRODataset.pas I think it should be both:

Code: Select all

 begin
 Fields[i].Size := ResultSet.GetMetadata.GetColumnDisplaySize(I+1); 
 Fields[i].DisplayWidth := ResultSet.GetMetadata.GetColumnDisplaySize(I+1);
 end;
or other Size determination.

Michal
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Post by EgonHugeist »

miab3,

The size determination happens on creation the fields from the TFieldRefs. This is just a displaywidth alignment for MBCsets.

Michal, i've started with MariaDB. And currently i've new fails with the tests. The most of them happen if the current client encoding differ from the database encoding. Did you recognize something like this?
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

Post by miab3 »

EgonHugeist,

[s]As for my watching MariaDB update is extremely slow compared to MySQL.[/s] (I use MySQL client).
I see that in version 5.5.28a it is fixed.

It is not good with Size.
In order to properly limit the number of characters in Delphi dbcontrols I now use(in line 1757):

Code: Select all

 begin
  {$IFNDEF FPC} Fields[i].Size := ResultSet.GetMetadata.GetColumnDisplaySize(I+1);{$ENDIF}
  Fields[i].DisplayWidth := ResultSet.GetMetadata.GetColumnDisplaySize(I+1);
 end;
For Lazarus I can not see a good way of limiting the number of input characters.

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

Post by miab3 »

EgonHugeist,
EgonHugeist wrote: Michal, i've started with MariaDB. And currently i've new fails with the tests. The most of them happen if the current client encoding differ from the database encoding. Did you recognize something like this?
Yes, I see that in fact the client encoding must be consistent with the encoding of the database on a server that was not errors.

Michal
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Post by EgonHugeist »

miab3,
It is not good with Size.
In order to properly limit the number of characters in Delphi dbcontrols I now use(in line 1757):
Code: [Erweitern] [mehr anzeigen] [Verkleinern] [Alles auswählen]
begin
{$IFNDEF FPC} Fields.Size := ResultSet.GetMetadata.GetColumnDisplaySize(I+1);{$ENDIF}
Fields.DisplayWidth := ResultSet.GetMetadata.GetColumnDisplaySize(I+1);
end;

For Lazarus I can not see a good way of limiting the number of input characters.


patch applied R2144, thanks.

Yes, I see that in fact the client encoding must be consistent with the encoding of the database on a server that was not errors.


I see you confirm my current issues. Well i wrote with MDeams inbetween. What i didn't know is that libmariadb.dll is based on libmysql.dll v3.23 (the last pure GPL licence). AFAIK does monty provide a new v10 one, which i hope it fixes some of the isssues. Currently we've a very stable mysql implementation with libmysql.x.
Nice would be some answers how to fix that:
I've detected string truncations for varchar-fields. It seems linmariadb.dll doesn't convert the current client encoding. It might be possible the issue is another one?: 'SET NAMES blabla' has no effect on client side?
Also did i recognice using libmariadb.x fills no text-lobs but no exception is raised!? I'll debug me down to the hidden MySQL warings and check if something strange is suppressed currently. Lets hope the 10.0 client provide some more functionallity.

Michal, do you have some expiriences with 'INLINE' declarations? I'm thinking about using this compiler switch to speed up some code. But i don't know the real effect on using direct codebase instead of a procedure call. I had some thought's accordingly very small but oftenly called procedure like some of the core-layes and the current InternalGet/SetString of the RowAccessor.. What do you think?
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

Post by miab3 »

EgonHugeist,

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

- D2006,
- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 1.1.0/fpc 2.7.1 32/64 (CodeTyphon ver 4.00),
(On Linux, I have not tried yet)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.28, PostgreSQL 9.2.1, MSSQL 2008 R2 Express, Oracle Database Express Edition 11g Release 2).

Why try to use Catalog (in TZConnection) for Oracle causes AV?!

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

Post by miab3 »

EgonHugeist,

Arnaud Bouchez compared the performance of several libraries, including ZEOS 7.0.3:
http://blog.synopse.info/post/2013/02/1 ... RMot-s-ORM
Is not bad but you can see that the missing batch insert in ZEOS.

Watch the Catalog for Oracle, about which I wrote in the previous post?

Michal
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Post by EgonHugeist »

miab3,

uh that looks like a great statistic! I'll register and start some contacts..
Watch the Catalog for Oracle, about which I wrote in the previous post?
Oh i've overlooked your hint. Well i'll make a test and check the reason for this nasty AV.
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
User avatar
EgonHugeist
Zeos Project Manager
Zeos Project Manager
Posts: 1936
Joined: 31.03.2011, 22:38

Post by EgonHugeist »

miab3,

iv'e started to optimize and support Synopse..
Is not bad but you can see that the missing batch insert in ZEOS.
Well that's true.
Why try to use Catalog (in TZConnection) for Oracle causes AV?!
Can you provide an example? I can't reproduce it...
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

Post by miab3 »

EgonHugeist,

After press Catalog ComboBox in designtime I get (in attached):
The same thing killing Lazarus environment.

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

Post by EgonHugeist »

miab3,

patch done R2188 \testing-7.1

Thanks.

Now i'm thinking about redesigning the PropertyEditor. Oracle f.e. dosn't support Catalogs, but Schemas. MySQL, FB equals here. Postgre supports both. I din't test it yet but the logic tells me you wont see the oracle Schemas now. I've started a redisign but this means fixing some more MetaInformations which are present since years. This is a problem.

Proposal for a smarter way:

Code: Select all

procedure TZCatalogPropertyEditor.GetValueList(List: TStrings);
var
  DbcConnection: IZConnection;
  Url: string;
begin
  if GetZComponent is TZAbstractConnection then
  try
    URL := (GetZComponent as TZAbstractConnection).GetURL;
    (GetZComponent as TZAbstractConnection).ShowSqlHourGlass;
    try
      DbcConnection := DriverManager.GetConnectionWithParams(Url,
        (GetZComponent as TZAbstractConnection).Properties);

      if Assigned(DbcConnection) then
        if DbcConnection.GetMetadata.GetDatabaseInfo.SupportsCatalogsInDataManipulation then
          with DbcConnection.GetMetadata.GetCatalogs do
          try
            while Next do
              List.Append(GetStringByName('TABLE_CAT'));
          finally
            Close;
          end
        else if DbcConnection.GetMetadata.GetDatabaseInfo.SupportsSchemasInDataManipulation then
          with DbcConnection.GetMetadata.GetSchemas do
          try
            while Next do
              List.Append(GetStringByName('TABLE_SCHEM'));
          finally
            Close;
          end;
    finally
      (GetZComponent as TZAbstractConnection).HideSqlHourGlass;
    end;
  except
//    raise;
  end;
end;
So the driver decides what should be returned. What do you think?

Edit: Done R2190
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

Post by miab3 »

EgonHugeist,

Thanks now is fine with Catalog in Oracle.

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

- D2006,
- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 1.1.0/fpc 2.7.1 32/64 (CodeTyphon ver 4.00),
(On Linux, I have not tried yet)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.28a, PostgreSQL 9.2.1, MSSQL 2008 R2 Express, Oracle Database Express Edition 11g Release 2).

Michal
Post Reply