Page 2 of 12

Posted: 11.03.2013, 15:54
by miab3
@EgonHugeist,

Zeos7.1-alpha branches_ testing_R2204:
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.10),
(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

Test of 7.1alpha as included in mORMot

Posted: 16.03.2013, 19:17
by abcz
I've tested the latest 7.1 alpha branch from SVN.
D7
DXE3 32 and 64

Firebird Embedded 2.5.3, Oracle 11.2.0.3, SQLite 3.15.2

With the Synopse libraries, it works like a charm!
- SQLite3 seems (much) faster;
- Win32/Win64 tests performs pretty well;
- Firebird embedded has no problem any more when the .dll are in a sub-folder.

ZeosLib does pretty well, and is better than UniDac for some timing.

In fact, since our SynDBZeos.pas unit directly access the ZDBC layer, it makes it faster, since there is no conversion to the internal TDataSet buffers.
I'm pretty convinced that this TDataSet component is just a speed bottleneck, when you try to manage best speed possible.

See http://synopse.info/forum/viewtopic.php?pid=7054#p7054

Note that those benchmarks includes the ORM process, and also full JSON marshalling. This test is more than some rough SQL statements execution... but integration into our mORMot Client-Server ORM/SOA framework.

I like the ZDBC layer very much!
Only missing feature may be array binding.

Congrats!

Posted: 23.03.2013, 02:57
by pcpestolante
I like the ZDBC layer very much!
Only missing feature may be array binding.

Congrats!
AB's comment could mean a bright future for these 2 great open source projects! Go Zeos! Go Mormot!

Posted: 05.04.2013, 11:36
by miab3
@mdaems, @EgonHugeist

After changing r2218 edition in the tables in dbgrids for the Oracle and Firebird is difficult or impossible(read only fields).
In version r2204 it was correct.

Michal

Posted: 05.04.2013, 20:23
by ism
Sorry for spam , but this problem present in all repositories
http://zeos.firmos.at/viewtopic.php?t=3729

Posted: 05.04.2013, 21:07
by miab3
@ism, @mdaems

I'm talking about something that worked in r 2204 and stopped work in r2218.

Michal

Posted: 08.04.2013, 10:54
by miab3
@mdaems

A change (from r2215 to) r2216 and (from r2217 to) r2218 in
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.1/
are defective.

Michal

Posted: 04.05.2013, 11:57
by miab3
@mdaems

Serious Error in version r2221.
http://svn.code.sf.net/p/zeoslib/code-0 ... sting-7.1/
Firebird tables with _ (underscore) in the name are not editable (read-only) in DBGrid.

Michal

Posted: 04.05.2013, 13:01
by Fuat
Hello EgonHuGeist

I am testing Firebird EMPLOYEE.FDB within Lazarus.

There is a Problem with the Array-Fields in the Tables.
Taking the Table JOB there is the Field Named LANGUAGE_REQ.

If i access it with the following Query Zeos generates the Error:
"Cannot access blob record in column 7 with type String"
-->ZDbResultSet.pas line 511.

"SELECT FIRST 1000 JOB_GRADE, MIN_SALARY, MAX_SALARY, JOB_CODE, JOB_COUNTRY,
JOB_TITLE, LANGUAGE_REQ,JOB_REQUIREMENT FROM JOB"

But it is not the blob-Field: JOB_REQUIREMENT witch makes the Problem!
It is the Field LANGUAGE_REQ!
This seem's to be an array-Field...

When i take the field LANGUAGE_REQ away from the SQL then it works!!!

"SELECT FIRST 1000 JOB_GRADE, MIN_SALARY, MAX_SALARY, JOB_CODE, JOB_COUNTRY,
JOB_TITLE, JOB_REQUIREMENT FROM JOB"

It seems, that this Problem exists on all the Releases in Zeos!

Greating
Fuat

Posted: 06.05.2013, 11:40
by miab3
@mdaems, @EgonHugeist

Zeos7.1-alpha branches_ testing_R2224:
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.20),
(On Linux, I have not tried yet)

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

Michal

Posted: 22.05.2013, 12:25
by EgonHugeist
Fuat,

can you provide a create script to check your suggestions? I've the impressin this is a remaining part nobody did before...

miab3,

we'll check your report soon. I'm back again!

abcz,

i've allready started to upgrade the TZVariant for Raw-Encoded strings like UTF8Strings/AnsiString/RawbyteString. First i thought it'll be done in some hours, but nope it isn't. This is again a big patch but should stop needles String convertations like you suggest. Hope i can finalize it the next days..

Posted: 22.05.2013, 17:30
by miab3
@EgonHugeist,

ZEOS not cope with the array type in Firebird (though AnyDAC too):
This is an example table of EMPLOYEE.FDB

CREATE TABLE JOB
(
JOB_CODE JOBCODE NOT NULL,
JOB_GRADE JOBGRADE NOT NULL,
JOB_COUNTRY COUNTRYNAME NOT NULL,
JOB_TITLE VARCHAR( 25) NOT NULL COLLATE NONE,
MIN_SALARY SALARY NOT NULL,
MAX_SALARY SALARY NOT NULL,
JOB_REQUIREMENT BLOB SUB_TYPE 1 SEGMENT SIZE 400,
LANGUAGE_REQ VARCHAR( 15)[5] COLLATE NONE, <--------------------
PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_COUNTRY)
);


CREATE TABLE PROJ_DEPT_BUDGET
(
"YEAR" INTEGER NOT NULL,
PROJ_ID PROJNO NOT NULL,
DEPT_NO DEPTNO NOT NULL,
QUART_HEAD_CNT INTEGER[4], <--------------------
PROJECTED_BUDGET BUDGET ,
PRIMARY KEY ("YEAR", PROJ_ID, DEPT_NO)
);


Michal

Posted: 26.05.2013, 21:44
by miab3
@EgonHugeist,

For 7.1(R2266) and Firebird ExecProc does not work.
I think I stopped working before.

Michal

Posted: 26.05.2013, 22:37
by EgonHugeist
miab3,

wondering why.. I can't remember any changes in this domain. How can i reproduce it? My tests-suites do not show such side effects.

Posted: 27.05.2013, 00:12
by miab3
@EgonHugeist,

Error occurs if it was open (or Active - true in designtime):

Code: Select all

    begin
    ZStoredProc1.StoredProcName:= 'ABTEST';
    ZStoredProc1.Open;  <----------
    ZStoredProc1.Close;
    ZStoredProc1.ParamByName('P1').AsInteger:= 10;
    ZStoredProc1.ParamByName('P2').AsInteger:= 20;
    ZStoredProc1.ParamByName('P3').AsInteger:= 30;
    ZStoredProc1.ExecProc;  <------ ERROR
    Edit1.Text:= ZStoredProc1.ParamByName('P4').AsString;
    Edit2.Text:= ZStoredProc1.ParamByName('P5').AsString;
    end;
Michal