Page 36 of 44

Posted: 26.09.2012, 11:43
by miab3
EgonHugeist,

It seems that any of the recent amendments to the PostgreSQL is bad.

In:
select table_name, TABLE_TYPE from information_schema.tables order by 2;

truncates the name (up to two characters x?)
D2006, PG 9.2.

Michal

Posted: 26.09.2012, 16:56
by EgonHugeist
miab3,

confirmed. That happens if the InternalResultset uses ftString and the CahedResultSet ftWideString. So there is fieltype checking missing/incompatible on one of both resultsets.. Will have look.

Btw. Today i've commited a Memory-Optimation patch for all PlainDrivers. We use now only 1/3 of the Memory for FireBird and MySQL. For PostgresSQL, ASA, SQLite if corected the too small FieldBuffers if you work with MBCS and not UTF8AsWideField..

Posted: 28.09.2012, 01:55
by EgonHugeist
miab3,

issue fixed. It was my fault simply exchanged an 'or' with an 'add' so the default minimum size os 255 was broken and FieldSize was 0. Couldn't see this with our test becuse i temporarly removed the stored-proc tests for the Mem-Optimation.

Patch done 1876

Posted: 28.09.2012, 11:19
by miab3
EgonHugeist,

R1876
In Delphi 2006/2007/XE2 is well,
but Lazarus 1.1 Win / Lin appeared error:

ZDbcResultSet.pas(2935,28 ) Error: Call by var for arg no. 1 has to match exactly: Got "RawByteString" expected "WideString"

Code: Select all

function TZAbstractBlob.GetString: ZAnsiString;
begin
  if (FBlobSize > 0) and Assigned(FBlobData) then
  begin
    System.SetString(Result, PAnsiChar(FBlobData), FBlobSize);  //<----- error
  end
  else
    Result := '';
end;
Michal

Posted: 28.09.2012, 14:12
by EgonHugeist
miab3,

Added a workaround: R1880. It should work now. Can you verify it again, please? Have only FPC 2.6.0 actually...

Wondering that a AnsiString(CP_ACP) is accepted but a Raw encoded AnsiString($ffff) not? New bug for the FPC-Core?

Posted: 28.09.2012, 14:48
by miab3
EgonHugeist,

R1879 work
R1880 is not
Here, a collection of bugs:

Code: Select all

Free Pascal Compiler version 2.7.1 [2012/08/09] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling pl_zeosdbocomp.pas
Compiling ./source/component/ZComponentReg.pas
Compiling ./source/component/ZPropertyEditor.pas
Compiling ./source/component/ZGroupedConnection.pas
Compiling ./source/component/ZAbstractConnection.pas
Compiling ./source/dbc/ZDbcDbLib.pas
Compiling ./source/dbc/ZDbcDbLibStatement.pas
Compiling ./source/dbc/ZDbcStatement.pas
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(124,133) Error: Illegal symbol for property access
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(71,25) Error: No matching implementation for interface method "procedure ExecuteQuery(const AnsiString):IZResultSet;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(71,25) Error: No matching implementation for interface method "procedure ExecuteUpdate(const AnsiString):LongInt;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(71,25) Error: No matching implementation for interface method "procedure Execute(const AnsiString):Boolean;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(190,33) Error: No matching implementation for interface method "procedure ExecuteQuery(const AnsiString):IZResultSet;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(190,33) Error: No matching implementation for interface method "procedure ExecuteUpdate(const AnsiString):LongInt;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(190,33) Error: No matching implementation for interface method "procedure Execute(const AnsiString):Boolean;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(265,33) Error: No matching implementation for interface method "procedure ExecuteQuery(const AnsiString):IZResultSet;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(265,33) Error: No matching implementation for interface method "procedure ExecuteUpdate(const AnsiString):LongInt;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(265,33) Error: No matching implementation for interface method "procedure Execute(const AnsiString):Boolean;" found
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(335,14) Error: There is no method in an ancestor class to be overridden: "procedure ExecuteQuery(const AnsiString):IZResultSet;"
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(336,14) Error: There is no method in an ancestor class to be overridden: "procedure ExecuteUpdate(const AnsiString):LongInt;"
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(337,14) Error: There is no method in an ancestor class to be overridden: "procedure Execute(const AnsiString):Boolean;"
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(365,14) Error: There is no method in an ancestor class to be overridden: "procedure ExecuteQuery(const AnsiString):IZResultSet;"
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(366,14) Error: There is no method in an ancestor class to be overridden: "procedure ExecuteUpdate(const AnsiString):LongInt;"
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(367,14) Error: There is no method in an ancestor class to be overridden: "procedure Execute(const AnsiString):Boolean;"
/usr/lib/codetyphon/lazarus/components/pl_ZeosDBO/source/dbc/ZDbcStatement.pas(374,1) Fatal: There were 16 errors compiling module, stopping
Michal

Posted: 28.09.2012, 15:23
by EgonHugeist
miab3,

Ok I'll download the Compiler the next days. Broke with RawByteString support for FPC. Anyway UTF8Encode returns now a RawByteString to so we should use him instead of AnsiString..

Patch done R1881.

Posted: 28.09.2012, 16:14
by miab3
EgonHugeist,

Zeos7_branches_ testing_r1881
http://svn.code.sf.net/p/zeoslib/code-0 ... s/testing/
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, Oracle 11g EE, PostgreSQL 9.2.0, MSSQL 2008 R2 Express)

Michal

Posted: 01.10.2012, 10:27
by miab3
EgonHugeist,

Zeos7_branches_ testing_r1892:

http://svn.code.sf.net/p/zeoslib/code-0 ... s/testing/

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, Oracle 11g EE, PostgreSQL 9.2.0, MSSQL 2008 R2 Express)

Stored Procedure work.

Michal

Posted: 01.10.2012, 14:33
by EgonHugeist
miab3,
Stored Procedure work.
partialy for Oracle, Michal. Actually you can't execute TZStoredProc.Open and i've trouble with functions who have Out/InOut Parameters. Got a script ready which works equal to MySQL but i've no idea how to fetch the declared variables. )):

Posted: 04.10.2012, 23:05
by miab3
EgonHugeist,

Zeos7.0.1-beta branches_ testing_r1900:

http://svn.code.sf.net/p/zeoslib/code-0 ... s/testing/

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, Oracle 11g EE, PostgreSQL 9.2.0, MSSQL 2008 R2 Express)

[s]A little weak is the recognition procedure parameters in MSSQL and Oracle. Often, they are not seen at all.[/s]

In version r1902 procedure parameters identification have improved significantly :)

Michal

Posted: 05.10.2012, 10:56
by EgonHugeist
miab3,

thanks, Michal. TZStoredProc.Open works now too for Oracle.

btw: http://sourceforge.net/projects/zeoslib ... 20Objects/

Do you see the Zeos 7.0.1-Beta?! (((((((((: This is the 1879Rev.

Posted: 05.10.2012, 11:03
by miab3
EgonHugeist,

Yes I have seen but for me r1902 is an important amendment.
It was nice to be able to recognize Oracle ROWID type in stored procedures.

Michal

Posted: 05.10.2012, 11:10
by EgonHugeist
miab3,

Well i'm sure there is a lot of more to do with the TZStoreProc stuff for oracle. What we actually have is a good base to go forward. Ther oracle packages i've currently not testet and pipelined data, REF_CURSOURS too.

Here we need several upgrades. Everything step by step.

Posted: 05.10.2012, 19:33
by miab3
EgonHugeist,

Now I noticed.
Happy birthday Michael and thanks for the great work!

Michal Abramczyk