Page 1 of 35

7.2 testers-thread

Posted: 24.06.2013, 21:06
by EgonHugeist
Dear Zeos users,

7.2.0-BETA development has been startet: http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/ (SVN)

After successfully releasing 7.0 for Ansi and Unicode IDE's, i started some refactoring processes accordingly speed. Each help is welcome. We will also post some questions and hope YOU can help us.

We do welcome everybody to post hints, success and it would be nice to have benchmarks against 7.0.x/7.1.x. Hope someone can help? (:

Posted: 25.06.2013, 10:47
by miab3
@EgonHugeist,

R2423 compiles but in sample for Lazarus64Win for PostgreSQL I get:

C:\codetyphon\typhon\components\pl_ZeosDBO\source\dbc\ZDbcPostgreSqlStatement.pas(811,20) Error: Can't determine which overloaded function to call

line811: FPlanName := '"'+IntToRaw(Hash(ASQL)+Cardinal(FStatementId)+NativeUInt(Connection.GetConnectionHandle))+'"';

Pointing to IntToRaw.

Michal

Posted: 25.06.2013, 13:26
by EgonHugeist
miab3,

thanks for the hint. Patch done \testing-7.2 (SVN)

Hint found a bad behavior for AnsiToUnicode and vice versa behavior! Slows the process down x600. (related to you FireBird Charset 'NONE' and FreeTDS). Working out a patch now...

Posted: 25.06.2013, 13:53
by miab3
@EgonHugeist, @mdaems,

Zeos7.2-alpha branches_ testing_R2425:
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/
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.30),
(For Linux currently I have no way to test)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.29, PostgreSQL 9.2.2, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, Oracle Database Express Edition 11g Release 2, SQLite 3.7.17).

Michal

Posted: 25.06.2013, 18:05
by miab3
@EgonHugeist, @mdaems,

Zeos7.2-alpha branches_ testing_R2426:
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/
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.30),
(For Linux currently I have no way to test)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.29, PostgreSQL 9.2.2, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, Oracle Database Express Edition 11g Release 2, SQLite 3.7.17).

Michal

Posted: 26.06.2013, 11:59
by miab3
@EgonHugeist,

R2433: The compilation XE2-64 I get:

[DCC Error] ZSysUtils.pas(1802): E2089 Invalid typecast
[DCC Error] ZSysUtils.pas(1803): E2089 Invalid typecast
[DCC Error] ZSysUtils.pas(1879): E2089 Invalid typecast
[DCC Error] ZSysUtils.pas(1880): E2089 Invalid typecast
[DCC Error] ZSysUtils.pas(1983): E2089 Invalid typecast
[DCC Error] ZSysUtils.pas(1984): E2089 Invalid typecast
[DCC Fatal Error] ZEncoding.pas(871): F2063 Could not compile used unit 'ZSysUtils.pas'

Pointing after ...Result) <----

Michal

Posted: 26.06.2013, 16:37
by miab3
@EgonHugeist, @mdaems,

Zeos7.2-alpha branches_ testing_R2434:
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/
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.30),
(For Linux currently I have no way to test)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.29, PostgreSQL 9.2.2, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, Oracle Database Express Edition 11g Release 2, SQLite 3.7.17).

Michal

Posted: 26.06.2013, 20:02
by miab3
@EgonHugeist, @mdaems,

It's probably gone wrong somewhere before, but for mssql and FreeTDS connections with MSSQL
For ZTable, ZQuery and TableName dataset is:

"dbo"."DEPT" - read only,
dbo.DEPT - r/w,
DEPT - r/w,
dept - read only.

Michal

Posted: 26.06.2013, 21:45
by miab3
@EgonHugeist,

R2436 Lazarus-Win error:
C:\codetyphon\typhon\components\pl_ZeosDBO\source\component\ZDatasetUtils.pas(1661,73) Error: Identifier not found "IntToString"

Michal

Posted: 26.06.2013, 22:26
by miab3
@EgonHugeist, @mdaems,

R2437 Lazarus64Win:

C:\codetyphon\typhon\components\pl_ZeosDBO\source\dbc\ZDbcPostgreSqlStatement.pas(1201,16) Error: Can't determine which overloaded function to call

line1201:FPlanName := IntToString(Hash(ASQL)+Cardinal(FStatementId)+NativeUInt(FConnectionHandle));

IntToString

Michal

Posted: 27.06.2013, 00:49
by miab3
@EgonHugeist, @mdaems,

R2441: XE2_32-compile
XE2_64-error:

[DCC Error] ZSysUtils.pas(2199): E2003 Undeclared identifier: 'SInvalidInteger'
[DCC Fatal Error] ZEncoding.pas(871): F2063 Could not compile used unit 'ZSysUtils.pas'

Michal

Posted: 27.06.2013, 09:02
by miab3
@EgonHugeist, @mdaems,

Zeos7.2-alpha branches_ testing_R2442:
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/
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.30),
(For Linux currently I have no way to test)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.29, PostgreSQL 9.2.2, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, Oracle Database Express Edition 11g Release 2, SQLite 3.7.17).

Still unclear Read Only for mssql and FreeTDS.


Michal

Posted: 27.06.2013, 16:07
by miab3
@EgonHugeist, @mdaems,

Zeos7.2-alpha branches_ testing_R2443:
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.2/
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.30),
(For Linux currently I have no way to test)

(Firebird 2.5.3, MySQL 5.5.18, MariaDB 5.5.29, PostgreSQL 9.2.2, MSSQL 2008 R2 Express(mssql, FreeTDS, ado-sqlncli), *.mdb-ado-Jet.OLEDB.4.0, Oracle Database Express Edition 11g Release 2, SQLite 3.7.17).

But I think it should be:

Code: Select all

function IntToUnicode(const Value: Int64): ZWideString;
//fast pure pascal by John O'Harrow see:
//http://www.fastcode.dk/fastcodeproject/fastcodeproject/61.htm
//function IntToStr64_JOH_PAS_5(Value: Int64): string;
{$IFNDEF NATIVE_COMP}
var
  Negative           : Boolean;
  I64, J64, K64      : Int64;
  I32, J32, K32, L32 : Cardinal;
  Digits             : Byte;
  P                  : PWideChar;
  NewLen             : Integer;
{$ENDIF}
begin
  {$IFDEF NATIVE_COMP}
  Result := IntToStr(Value);
  {$ELSE}
  if Value = $8000000000000000 then
  ...
Still unclear Read Only for mssql and FreeTDS.


Michal

Posted: 27.06.2013, 17:20
by EgonHugeist
miab3,

What's the NATIVE_COMP define? I know since XE2 the fastcode of John O is implemented too. I simply made modifications to get int to Unicode-Chars running quickly without casts and for all ide's. BTW the algorythm of John O'Harrow are imbelievable fast! I've some imbelievable speed increses for thes functions. More update:http: //fastcode.sourceforge.net/

Ps. forgot to commit my define 2443
There are some more things i don't like:

StrToFloat/FloatToStr
FormatDateTime

Here it would be cool to have faster replacements for SingleByte- AND TwoByte-Strings.

Than there are some other optimations:
Rewrite the lob handling.
Check SQLite resultsets: Don't know who made the code but here happens something strange: We allocate and dispose the rowbuffers for each row! Curious.

Michal, is there a performance increase detectable? 7.0 <> 7.2 ?
Still unclear Read Only for mssql and FreeTDS.
Michal, didn't we made a case sensitive patch? Shouldn't be "DBO" uppercased?

Posted: 27.06.2013, 18:09
by miab3
@EgonHugeist,

1. Are you sure this is the right direction?:

{$IFDEF WITH_FASTCODE_INTTOSTR}
Result := IntToStr(Value);
{$ELSE}

2. It's probably not a matter of upercase. I repeat:
For mssql and FreeTDS connections with MSSQL
For ZTable, ZQuery and TableName dataset is:

"dbo"."DEPT" - read only, <-- The default(from property editor) TableName for Ztable
dbo.DEPT - r/w,
DEPT - r/w,
dept - read only.

The same for ado-sqlncli:
[dbo].[DEPT] - r/w <-- default
dbo.DEPT - r/w
DEPT - r/w
dept - r/w

Michal