Page 11 of 12

Re: ZeosLib 7.1 testers-thread

Posted: 03.10.2013, 13:45
by serbod
I successfully used Zeos from development branch (2013-03-05) on Ubuntu Linux 13.04 and 12.04 (x86) with Oracle instant client.
compiled with Lazarus 1.0.10, 1.1; FPC 2.6.0, 2.6.2, 2.7.1; under VirtualBox 4.2

@miab3, you can use VirtualBox for testing on different OS - it very simple and handy.

It also succesfuly compiled and running on Linux-ARM (RaspberryPi, Cubieboard), but there no Oracle driver for ARM.

What can be more usefully and demanded?
- DataSnap-like components for Zeos, for use and share ZDataset or ZConnection over network
- OCILIB support - C Driver for Oracle - http://orclib.sourceforge.net/

Re: ZeosLib 7.1 testers-thread

Posted: 06.10.2013, 13:39
by miab3
@EgonHugeist, @mdaems,

If more I test version 7.1.1(branches_testing) then more I did not find a significant error :lol:
Please publish version 7.1.2-stable so that we can take care of it was a development version 7.2.
Maybe one little thing.
For MySQL the first should be loaded libmysql.dll and for MariaDB libmariadb.dll.
Now libmariadb is always in front of libmysql.

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 08.10.2013, 22:37
by EgonHugeist
@serbot, MSE

i was wrong. The TRecodBuffer and TBuookmark things didn't happen on 2.6. Even one of the FPC core did add the dines. You should be able to compile with FPC2.6.3 now to if you update from testing 7.1.

@miab

finally we'll relase 7.1.2-next days. I'll start some deep tests and sniffing for mem-leaks. Than i think in a week it's done.
Accordingly the libraries for mysql. We (Mark and me) already had a little discussion about months ago. Let's say we leave it as is...

Propose you switch to 7.2? Some hints: SQLite and Postgres do use Lobs for undefined characterfields. Your known option for the old behavior works for both plains. Had some bugreports for SQLite in the german DelphiPraxis.Net forum.
Litte speed hints for 7.2:
Fetching data with the most plains for the Unicode-IDE's happens in the half time against 7.1. For Postgres the factor is div 3! (didn't bench all plains yet), But is also loads faster for FPC and Ansi-Delphi.
Update and insertiation speed is also 5% (emulated) and 10%(Real-Prepared) faster for all IDE's. Some more work needs to be done. The speed avarage diffs for comming patches are mostly minimal to see with minimal data.

my current test table:
create table high_load (
hl_id SERIAL,
stBoolean BOOLEAN,
stByte INT2,
stShort INT2,
stInteger INTEGER,
stLong INT8,
stFloat FLOAT4,
stDouble FLOAT8,
stBigDecimal NUMERIC(18,4),
stString VARCHAR(100),
stUnicodeString VARCHAR(255),
stBytes BYTEA,
stDate DATE,
stTime TIME without time zone,
stTimestamp TIMESTAMP without time zone,
stGUID CHAR(38),
stAsciiStream TEXT,
stUnicodeStream TEXT,
stBinaryStream BYTEA,
primary key (hl_id)
);

Re: ZeosLib 7.1 testers-thread

Posted: 09.10.2013, 22:16
by fhaut
on Delphi 2009 / Windows XP, PosgreSQL 9.2 (windows xp)

using the svn://svn.code.sf.net/p/zeoslib/code-0/branches/testing-7.1 revision 2798

a issue occurs when use parameters with same name "select * from test where ( id = :X0 or :X0 is null)"


Sample:

Code: Select all

procedure TForm1.Button1Click(Sender: TObject);
var QAux : TZQuery;
begin
   QAux := TZQuery.Create(Self);
   try
      QAux.Connection := ZConnection1;

      QAux.SQL.Text := 'drop table if exists test;';
      QAux.ExecSQL;

      // Create table
      QAux.SQL.Text := 'create table test ( id int4, name varchar(50) );';
      QAux.ExecSQL;

      // Populate data
      QAux.SQL.Text := 'select * from test';
      QAux.Open;
      QAux.Append;
      QAux.FieldByName('id').asInteger := 1;
      QAux.FieldByName('name').asString := 'nam1';
      QAux.Post;
      QAux.Append;
      QAux.FieldByName('id').asInteger := 2;
      QAux.FieldByName('name').asString := 'nam2';
      QAux.Post;
      QAux.Append;
      QAux.FieldByName('id').asInteger := 3;
      QAux.FieldByName('name').asString := 'nam3';
      QAux.Post;
      QAux.Append;
      QAux.FieldByName('id').Clear;
      QAux.FieldByName('name').asString := 'namnul';
      QAux.Post;

      // Produce problem
      QAux.SQL.Text := 'select * from test where ( id = :P0 or :P0 is null) ';
      QAux.ParamByName('P0').asInteger := 2;
      QAux.Open;
      ShowMessage( IntToStr(QAux.RecordCount) );
      QAux.Close;

   finally
     QAux.Free;
   end;
end;

Log of postgres server

Code: Select all

2013-10-09 18:00:43 BRT LOG:  duração: 20.000 ms  comando: select setting from pg_settings where name = 'bytea_output'
2013-10-09 18:00:46 BRT LOG:  duração: 10.000 ms  comando: SELECT version()
2013-10-09 18:00:46 BRT LOG:  duração: 20.000 ms  comando: drop table if exists test;

	
2013-10-09 18:00:46 BRT LOG:  duração: 10.000 ms  comando: create table test ( id int4, name varchar(50) );

	
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  comando: select * from test

	
2013-10-09 18:00:46 BRT LOG:  duração: 30.000 ms  comando: SELECT n.nspname,c.relname,a.attname,a.atttypid,a.attnotnull,a.atttypmod,a.attlen,a.attnum,pg_get_expr(def.adbin, def.adrelid) as adsrc,dsc.description  FROM pg_catalog.pg_namespace n  JOIN pg_catalog.pg_class c ON (c.relnamespace = n.oid)  JOIN pg_catalog.pg_attribute a ON (a.attrelid=c.oid)  LEFT JOIN pg_catalog.pg_attrdef def ON (a.attrelid=def.adrelid AND a.attnum = def.adnum) LEFT JOIN pg_catalog.pg_description dsc ON (c.oid=dsc.objoid AND a.attnum = dsc.objsubid)  LEFT JOIN pg_catalog.pg_class dc ON (dc.oid=dsc.classoid AND dc.relname='pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dc.relnamespace=dn.oid AND dn.nspname='pg_catalog')  WHERE a.attnum > 0 AND NOT a.attisdropped AND c.relname = E'test' ORDER BY nspname,relname,attnum
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  comando: SELECT oid, typname, typbasetype,typtype FROM pg_type WHERE (typtype = 'b' and oid < 10000) OR typtype = 'p' OR typtype = 'e' OR typbasetype<>0 ORDER BY oid
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  análise de 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  ligação 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = '1', $2 = 'nam1'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  executar 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = '1', $2 = 'nam1'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  ligação 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = '2', $2 = 'nam2'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  executar 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = '2', $2 = 'nam2'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  ligação 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = '3', $2 = 'nam3'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  executar 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = '3', $2 = 'nam3'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  ligação 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = NULL, $2 = 'namnul'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  executar 131811589: INSERT INTO public.test (id,"name") VALUES ($1,$2)
2013-10-09 18:00:46 BRT DETALHE:  parâmetros: $1 = NULL, $2 = 'namnul'
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  comando: DEALLOCATE "131811589";
2013-10-09 18:00:46 BRT ERRO:  não pôde determinar o tipo de dado do parâmetro $2
2013-10-09 18:00:46 BRT COMANDO:  select * from test where ( id = $1 or $2 is null)
2013-10-09 18:00:46 BRT LOG:  duração: 0.000 ms  comando: select * from test where ( id = 2 or 2 is null)

Log of ZSQLMonitor

Code: Select all

2013-10-09 17:53:10 cat: Execute, proto: postgresql-9, msg: select setting from pg_settings where name = 'bytea_output'
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: SELECT version()
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: drop table if exists test;

2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 1
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: create table test ( id int4, name varchar(50) );

2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 2
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: select * from test

2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 3
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: SELECT n.nspname,c.relname,a.attname,a.atttypid,a.attnotnull,a.atttypmod,a.attlen,a.attnum,pg_get_expr(def.adbin, def.adrelid) as adsrc,dsc.description  FROM pg_catalog.pg_namespace n  JOIN pg_catalog.pg_class c ON (c.relnamespace = n.oid)  JOIN pg_catalog.pg_attribute a ON (a.attrelid=c.oid)  LEFT JOIN pg_catalog.pg_attrdef def ON (a.attrelid=def.adrelid AND a.attnum = def.adnum) LEFT JOIN pg_catalog.pg_description dsc ON (c.oid=dsc.objoid AND a.attnum = dsc.objsubid)  LEFT JOIN pg_catalog.pg_class dc ON (dc.oid=dsc.classoid AND dc.relname='pg_class') LEFT JOIN pg_catalog.pg_namespace dn ON (dc.relnamespace=dn.oid AND dn.nspname='pg_catalog')  WHERE a.attnum > 0 AND NOT a.attisdropped AND c.relname = E'test' ORDER BY nspname,relname,attnum
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: SELECT oid, typname, typbasetype,typtype FROM pg_type WHERE (typtype = 'b' and oid < 10000) OR typtype = 'p' OR typtype = 'e' OR typbasetype<>0 ORDER BY oid
2013-10-09 17:53:12 cat: Prepare, proto: postgresql-9, msg: PREPARE 'INSERT INTO public.test (id,"name") VALUES ($1,$2)'
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: INSERT INTO public.test (id,"name") VALUES (?,?)
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 4
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: INSERT INTO public.test (id,"name") VALUES (?,?)
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 4
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: INSERT INTO public.test (id,"name") VALUES (?,?)
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 4
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: INSERT INTO public.test (id,"name") VALUES (?,?)
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 4
2013-10-09 17:53:12 cat: Unprepare prepared, proto: postgresql-9, msg: DEALLOCATE "131811589";
2013-10-09 17:53:12 cat: Prepare, proto: postgresql-9, msg: PREPARE 'select * from test where ( id = $1 or $2 is null)', errcode: 0, error: ERRO:  não pôde determinar o tipo de dado do parâmetro $2
2013-10-09 17:53:12 cat: Prepare, proto: postgresql-9, msg: PREPARE 'select * from test where ( id = $1 or $2 is null)'
2013-10-09 17:53:12 cat: Execute, proto: postgresql-9, msg: select * from test where ( id = ? or ? is null)
2013-10-09 17:53:12 cat: Execute prepared, proto: postgresql-9, msg: Statement 5

Re: ZeosLib 7.1 testers-thread

Posted: 10.10.2013, 17:09
by miab3
@EgonHugeist, @mdaems,

Zeos7.1.1-rc-(beta) branches_ testing_R2805:
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.40),
(For Linux currently I have no way to test)

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.

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 12.10.2013, 11:32
by EgonHugeist
@All,

finaly Zeos-7.1.2-stable is released. Download: http://sourceforge.net/projects/zeoslib ... .2-stable/

@Miab3,

time to switch to 7.2?

Re: ZeosLib 7.1 testers-thread

Posted: 14.11.2013, 18:44
by miab3
@EgonHugeist, @mdaems,

Zeos7.1.2-patched_R2923:
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.40) and (CodeTyphon ver 4.50),

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.

Mark,
Maybe to publish version 7.1.3 with patches?


Michal

Re: ZeosLib 7.1 testers-thread

Posted: 05.12.2013, 12:43
by miab3
@EgonHugeist, @mdaems,

Zeos7.1.2-patched_R2986:
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.50),

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.

Mark,
Maybe to publish version 7.1.3-stable?

(Could be improved packages XE4 and XE5 because as of now is to a large extent copied from XE3)

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 08.12.2013, 12:10
by miab3
@EgonHugeist, @mdaems,

Zeos7.1.2-patched_R2996:
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.50),

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.

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 08.12.2013, 15:52
by EgonHugeist
@miab3
Maybe to publish version 7.1.3-stable?
Sounds like a good idea. We need some final bug-fix merges in 7.1 which i've commited this weekend.. Than, of course Mark is also thinking about.

Re: ZeosLib 7.1 testers-thread

Posted: 21.12.2013, 18:36
by miab3
@EgonHugeist, @mdaems,

Zeos7.1-patched_R2996:
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.60 with i386_cgcpu.pas.patch: http://bugs.freepascal.org/view.php?id=25269)

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

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 28.12.2013, 21:24
by miab3
@mdaems, @EgonHugeist,

Zeos7.1-patched_R3042:
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- D2007 -> C++,
- DXE2 32/64 -> C++(32),
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.60 with i386_cgcpu.pas.patch: http://bugs.freepascal.org/view.php?id=25269)

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

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 15.01.2014, 10:06
by miab3
@mdaems,@EgonHugeist,

Zeos7.1-patched_R3068(7.1.3):
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- D2007 -> C++, (W8.1-64)
- DXE2 32/64 -> C++(32), (W8.1-64)
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.60 with i386_cgcpu.pas.patch: http://bugs.freepascal.org/view.php?id=25269) (W7-64)
CodeTyphon ver 4.60 rebuilt without a problem. Current LazSqlX 4.0.3.1286-Win-32/64-bit build with success.

Test databases and 32/64-bits clients:
Firebird 2.5.3, MySQL 5.5.35, MariaDB 5.5.32, PostgreSQL 9.3.0.1, Oracle XE 11.2g, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, SQLite 3.7.17.

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 23.01.2014, 10:17
by miab3
@mdaems,@EgonHugeist,

ZEOSDBO-7.1.3a-stable.zip
http://sourceforge.net/projects/zeoslib ... 3a-stable/
compiles and runs on (I have tested):

- D2007 -> C++, (W8.1-64)
- DXE2 32/64 -> C++(32), (W8.1-64)
- Lazarus Windows7-64 /fpc 2.7.1 32/64 (CodeTyphon ver 4.70)
CodeTyphon ver 4.70 rebuilt without a problem. Current LazSqlX 4.0.3.1286-Win-32/64-bit build with success.

Test databases and 32/64-bits clients:
Firebird 2.5.3, MySQL 5.5.35, MariaDB 5.5.34, PostgreSQL 9.3.0, Oracle XE 11.2g, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, SQLite 3.7.17.

Michal

Re: ZeosLib 7.1 testers-thread

Posted: 06.04.2014, 00:58
by miab3
@mdaems,@EgonHugeist,

ZEOSDBO-7.1.3a-patches r3115 :
http://svn.code.sf.net/p/zeoslib/code-0 ... 1-patches/
compiles and runs on (I have tested):

- DXE2 32/64 -> C++(32), (W8.1-64)
"15 - External DB performance" for Oracle from:
http://synopse.info/fossil/info/7c5bd96e85
without error.

For SQLite there are problems:
0 record(s) updated.
and
database is locked: unable to close due to unfinalized statments


- Lazarus 32/64(fpc 2.7.1) on Windows7-64(CodeTyphon ver 4.80)
CodeTyphon ver 4.80 rebuilt without a problem. LazSqlX 4.0.3.1286-Win-32/64-bit build with success.

Test databases and 32/64-bits clients:
Firebird 2.5.3, MySQL 5.5.35, MariaDB 5.5.35, PostgreSQL 9.3.0, Oracle XE 11.2g, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, SQLite 3.7.17.

Michal