Page 10 of 35

Re: 7.2-alfa testers-thread

Posted: 26.11.2013, 23:41
by EgonHugeist
@Miab3

allways thank you. As you know .. I read all your post. Accordingly the Extended record since XE2 -> nasty. I'll introduce ftCurrency for Fields with 19 digits and precision >0 and <5 to avoid this code overload. Actually i'm playing with the MySQL/ASA/ADO signed and unsigned integers to prevent overflows in this domain. We have now a RawToUInt64 function too... Going on now tracking more exact types in Dbc for the TZFields later (ftArray is planned too)

Re: 7.2-alfa testers-thread

Posted: 27.11.2013, 00:05
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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: 7.2-alfa testers-thread

Posted: 27.11.2013, 22:38
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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: 7.2-alfa testers-thread

Posted: 30.11.2013, 11:53
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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: 7.2-alfa testers-thread

Posted: 01.12.2013, 11:14
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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.

But when opening table in Firebird:

Code: Select all

CREATE TABLE "Test_NumPrec" 
(
  F1_0                DECIMAL(  1, 0),
  F2_0                DECIMAL(  2, 0),
  F3_0                DECIMAL(  3, 0),
  F4_0                DECIMAL(  4, 0),
  F5_0                DECIMAL(  5, 0),
  F6_0                DECIMAL(  6, 0),
  F7_0                DECIMAL(  7, 0),
  F8_0                DECIMAL(  8, 0),
  F9_0                DECIMAL(  9, 0),
  F10_0               DECIMAL( 10, 0),
  F11_0               DECIMAL( 11, 0),
  F12_0               DECIMAL( 12, 0),
  F13_0               DECIMAL( 13, 0),
  F14_0               DECIMAL( 14, 0),
  F15_0               DECIMAL( 15, 0),
  F16_0               DECIMAL( 16, 0),
  F17_0               DECIMAL( 17, 0),
  F18_0               DECIMAL( 18, 0),
  F1_1                DECIMAL(  1, 1),
  F2_1                DECIMAL(  2, 1),
  F2_2                DECIMAL(  2, 2),
  F3_1                DECIMAL(  3, 1),
  F3_2                DECIMAL(  3, 2),
  F3_3                DECIMAL(  3, 3),
  F4_1                DECIMAL(  4, 1),
  F4_2                DECIMAL(  4, 2),
  F4_4                DECIMAL(  4, 4),
  F5_1                DECIMAL(  5, 1),
  F5_3                DECIMAL(  5, 3),
  F5_5                DECIMAL(  5, 5),
  F6_1                DECIMAL(  6, 1),
  F6_3                DECIMAL(  6, 3),
  F6_6                DECIMAL(  6, 6),
  F7_1                DECIMAL(  7, 1),
  F7_4                DECIMAL(  7, 4),
  F7_7                DECIMAL(  7, 7),
  F10_1               DECIMAL( 10, 1),
  F10_5               DECIMAL( 10, 5),
  F10_10              DECIMAL( 10,10),
  F15_1               DECIMAL( 15, 1),
  F15_8               DECIMAL( 15, 8),
  F15_15              DECIMAL( 15,15),
  F18_1               DECIMAL( 18, 1),
  F18_9               DECIMAL( 18, 9),
  F18_18              DECIMAL( 18,18)
);
I get:
'Invalid floating point operation.'

Michal

Re: 7.2-alfa testers-thread

Posted: 01.12.2013, 13:13
by miab3

Re: 7.2-alfa testers-thread

Posted: 01.12.2013, 21:51
by EgonHugeist
Can't reproduce it Michal.

My new Test-Table:

Code: Select all

CREATE TABLE TEST_DECIMAL (
ID INTEGER NOT NULL PRIMARY KEY,
NUM_1_0 DECIMAL (1, 0),
NUM_1_1 DECIMAL (1, 1),

NUM_2_0 DECIMAL (2, 0),
NUM_2_1 DECIMAL (2, 1),
NUM_2_2 DECIMAL (2, 2),

NUM_3_0 DECIMAL (3, 0),
NUM_3_1 DECIMAL (3, 1),
NUM_3_2 DECIMAL (3, 2),
NUM_3_3 DECIMAL (3, 3),

NUM_4_0 DECIMAL (4, 0),
NUM_4_1 DECIMAL (4, 1),
NUM_4_2 DECIMAL (4, 2),
NUM_4_3 DECIMAL (4, 3),
NUM_4_4 DECIMAL (4, 4),

NUM_5_0 DECIMAL (5, 0),
NUM_5_1 DECIMAL (5, 1),
NUM_5_2 DECIMAL (5, 2),
NUM_5_3 DECIMAL (5, 3),
NUM_5_4 DECIMAL (5, 4),
NUM_5_5 DECIMAL (5, 5),

NUM_6_0 DECIMAL (6, 0),
NUM_6_1 DECIMAL (6, 1),
NUM_6_2 DECIMAL (6, 2),
NUM_6_3 DECIMAL (6, 3),
NUM_6_4 DECIMAL (6, 4),
NUM_6_5 DECIMAL (6, 5),
NUM_6_6 DECIMAL (6, 6),

NUM_7_0 DECIMAL (7, 0),
NUM_7_1 DECIMAL (7, 1),
NUM_7_2 DECIMAL (7, 2),
NUM_7_3 DECIMAL (7, 3),
NUM_7_4 DECIMAL (7, 4),
NUM_7_5 DECIMAL (7, 5),
NUM_7_6 DECIMAL (7, 6),
NUM_7_7 DECIMAL (7, 7),

NUM_8_0 DECIMAL (8, 0),
NUM_8_1 DECIMAL (8, 1),
NUM_8_2 DECIMAL (8, 2),
NUM_8_3 DECIMAL (8, 3),
NUM_8_4 DECIMAL (8, 4),
NUM_8_5 DECIMAL (8, 5),
NUM_8_6 DECIMAL (8, 6),
NUM_8_7 DECIMAL (8, 7),
NUM_8_8 DECIMAL (8, 8),

NUM_9_0 DECIMAL (9, 0),
NUM_9_1 DECIMAL (9, 1),
NUM_9_2 DECIMAL (9, 2),
NUM_9_3 DECIMAL (9, 3),
NUM_9_4 DECIMAL (9, 4),
NUM_9_5 DECIMAL (9, 5),
NUM_9_6 DECIMAL (9, 6),
NUM_9_7 DECIMAL (9, 7),
NUM_9_8 DECIMAL (9, 8),
NUM_9_9 DECIMAL (9, 9),

NUM_10_0 DECIMAL (10, 0),
NUM_10_1 DECIMAL (10, 1),
NUM_10_2 DECIMAL (10, 2),
NUM_10_3 DECIMAL (10, 3),
NUM_10_4 DECIMAL (10, 4),
NUM_10_5 DECIMAL (10, 5),
NUM_10_6 DECIMAL (10, 6),
NUM_10_7 DECIMAL (10, 7),
NUM_10_8 DECIMAL (10, 8),
NUM_10_9 DECIMAL (10, 9),
NUM_10_10 DECIMAL (10, 10),

NUM_11_0 DECIMAL (11, 0),
NUM_11_1 DECIMAL (11, 1),
NUM_11_2 DECIMAL (11, 2),
NUM_11_3 DECIMAL (11, 3),
NUM_11_4 DECIMAL (11, 4),
NUM_11_5 DECIMAL (11, 5),
NUM_11_6 DECIMAL (11, 6),
NUM_11_7 DECIMAL (11, 7),
NUM_11_8 DECIMAL (11, 8),
NUM_11_9 DECIMAL (11, 9),
NUM_11_10 DECIMAL (11, 10),
NUM_11_11 DECIMAL (11, 11),

NUM_12_0 DECIMAL (12, 0),
NUM_12_1 DECIMAL (12, 1),
NUM_12_2 DECIMAL (12, 2),
NUM_12_3 DECIMAL (12, 3),
NUM_12_4 DECIMAL (12, 4),
NUM_12_5 DECIMAL (12, 5),
NUM_12_6 DECIMAL (12, 6),
NUM_12_7 DECIMAL (12, 7),
NUM_12_8 DECIMAL (12, 8),
NUM_12_9 DECIMAL (12, 9),
NUM_12_10 DECIMAL (12, 10),
NUM_12_11 DECIMAL (12, 11),
NUM_12_12 DECIMAL (12, 12),

NUM_13_0 DECIMAL (13, 0),
NUM_13_1 DECIMAL (13, 1),
NUM_13_2 DECIMAL (13, 2),
NUM_13_3 DECIMAL (13, 3),
NUM_13_4 DECIMAL (13, 4),
NUM_13_5 DECIMAL (13, 5),
NUM_13_6 DECIMAL (13, 6),
NUM_13_7 DECIMAL (13, 7),
NUM_13_8 DECIMAL (13, 8),
NUM_13_9 DECIMAL (13, 9),
NUM_13_10 DECIMAL (13, 10),
NUM_13_11 DECIMAL (13, 11),
NUM_13_12 DECIMAL (13, 12),
NUM_13_13 DECIMAL (13, 13),

NUM_14_0 DECIMAL (14, 0),
NUM_14_1 DECIMAL (14, 1),
NUM_14_2 DECIMAL (14, 2),
NUM_14_3 DECIMAL (14, 3),
NUM_14_4 DECIMAL (14, 4),
NUM_14_5 DECIMAL (14, 5),
NUM_14_6 DECIMAL (14, 6),
NUM_14_7 DECIMAL (14, 7),
NUM_14_8 DECIMAL (14, 8),
NUM_14_9 DECIMAL (14, 9),
NUM_14_10 DECIMAL (14, 10),
NUM_14_11 DECIMAL (14, 11),
NUM_14_12 DECIMAL (14, 12),
NUM_14_13 DECIMAL (14, 13),
NUM_14_14 DECIMAL (14, 14),

NUM_15_0 DECIMAL (15, 0),
NUM_15_1 DECIMAL (15, 1),
NUM_15_2 DECIMAL (15, 2),
NUM_15_3 DECIMAL (15, 3),
NUM_15_4 DECIMAL (15, 4),
NUM_15_5 DECIMAL (15, 5),
NUM_15_6 DECIMAL (15, 6),
NUM_15_7 DECIMAL (15, 7),
NUM_15_8 DECIMAL (15, 8),
NUM_15_9 DECIMAL (15, 9),
NUM_15_10 DECIMAL (15, 10),
NUM_15_11 DECIMAL (15, 11),
NUM_15_12 DECIMAL (15, 12),
NUM_15_13 DECIMAL (15, 13),
NUM_15_14 DECIMAL (15, 14),
NUM_15_15 DECIMAL (15, 15),

NUM_16_0 DECIMAL (16, 0),
NUM_16_1 DECIMAL (16, 1),
NUM_16_2 DECIMAL (16, 2),
NUM_16_3 DECIMAL (16, 3),
NUM_16_4 DECIMAL (16, 4),
NUM_16_5 DECIMAL (16, 5),
NUM_16_6 DECIMAL (16, 6),
NUM_16_7 DECIMAL (16, 7),
NUM_16_8 DECIMAL (16, 8),
NUM_16_9 DECIMAL (16, 9),
NUM_16_10 DECIMAL (16, 10),
NUM_16_11 DECIMAL (16, 11),
NUM_16_12 DECIMAL (16, 12),
NUM_16_13 DECIMAL (16, 13),
NUM_16_14 DECIMAL (16, 14),
NUM_16_15 DECIMAL (16, 15),
NUM_16_16 DECIMAL (16, 16),

NUM_17_0 DECIMAL (17, 0),
NUM_17_1 DECIMAL (17, 1),
NUM_17_2 DECIMAL (17, 2),
NUM_17_3 DECIMAL (17, 3),
NUM_17_4 DECIMAL (17, 4),
NUM_17_5 DECIMAL (17, 5),
NUM_17_6 DECIMAL (17, 6),
NUM_17_7 DECIMAL (17, 7),
NUM_17_8 DECIMAL (17, 8),
NUM_17_9 DECIMAL (17, 9),
NUM_17_10 DECIMAL (17, 10),
NUM_17_11 DECIMAL (17, 11),
NUM_17_12 DECIMAL (17, 12),
NUM_17_13 DECIMAL (17, 13),
NUM_17_14 DECIMAL (17, 14),
NUM_17_15 DECIMAL (17, 15),
NUM_17_16 DECIMAL (17, 16),
NUM_17_17 DECIMAL (17, 17),

NUM_18_0 DECIMAL (18, 0),
NUM_18_1 DECIMAL (18, 1),
NUM_18_2 DECIMAL (18, 2),
NUM_18_3 DECIMAL (18, 3),
NUM_18_4 DECIMAL (18, 4),
NUM_18_5 DECIMAL (18, 5),
NUM_18_6 DECIMAL (18, 6),
NUM_18_7 DECIMAL (18, 7),
NUM_18_8 DECIMAL (18, 8),
NUM_18_9 DECIMAL (18, 9),
NUM_18_10 DECIMAL (18, 10),
NUM_18_11 DECIMAL (18, 11),
NUM_18_12 DECIMAL (18, 12),
NUM_18_13 DECIMAL (18, 13),
NUM_18_14 DECIMAL (18, 14),
NUM_18_15 DECIMAL (18, 15),
NUM_18_16 DECIMAL (18, 16),
NUM_18_17 DECIMAL (18, 17),
NUM_18_18 DECIMAL (18, 18)
);
I can fill all columns and read them back as filled. Can you determine the issue more precise?

Re: 7.2-alfa testers-thread

Posted: 01.12.2013, 23:42
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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.
Can't reproduce it Michal.
Michael,
You're right. I had a malfunctions data in FB table.
But why do you operate Floatingpoint, while Firebird uses Integers?

Michal

Re: 7.2-alfa testers-thread

Posted: 02.12.2013, 07:00
by EgonHugeist
@miab3
But why do you operate Floatingpoint, while Firebird uses Integers?
because of the precision the user want to have.
Decimal(18,3) means 18 digits in total and a precision of 3. That's the affinity of numeric/decimal. See your links. FB uses a Integer/Int64 to store the values internaly. But that not the user front-end.

FB is doing the same if you're using a string update:
"update table Test_NumPrec(F2_1) values (12.2);"
They are shifting up the value * 10E(Scale) to store the val as integer. The same happens on reading back.
"select cast(F2_1 as varchar(4)) from Test_NumPrec"
You'll get "12.2" again.

IBExpert is just talking about the way FB is storing the values. We're keeping track the values do fit in range by rounding decimal digits to scale.

Re: 7.2-alfa testers-thread

Posted: 02.12.2013, 11:48
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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.

Michael,
It is fast, very fast!
Pity that only when reading and not the update.
Fiedbird and MariaDB is a relatively quick update.
It is worse with MySQL(5.5.18) and PostgreSQL, but the fault of the servers.
The worst of the update is in SQLite.

Michal

Re: 7.2-alfa testers-thread

Posted: 03.12.2013, 16:46
by EgonHugeist
Miab3

to be clear: We are only talking about updates, right? NOT insertiation or deletes.

The current Zeos sequenc:
Copy the row into a temporary buffer.
If apply the updates:
Compare the fields, build up a new stmt.
Execute stmt.
On success drop the temporary row-buffer.

Here i plan some changes:

Point to old-rowbuffer.
On assigning fields. Update a flag-byte: Updated := 0/1;
Compare flags. build up a new stmt if required.
Execute-stmt.
On success drop the temporary row-buffer.

since 7.2 as you recocnized it bevore: I also cache all stmts and reuse the prepared once. This saves prepareing time.

Accordinly SQLite. I think you want to point me to the RowID which would act faster, propably. Of couse i'll check if it's possible to use it.
BUT first: Let's finalize the common-generic implementations. Than i'll have a look how we can pimp the plains spezially.

Re: 7.2-alfa testers-thread

Posted: 04.12.2013, 01:01
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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: 7.2-alfa testers-thread

Posted: 04.12.2013, 23:52
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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.

SQLite very accelerated.
When reading is the fastest.
1 million records per second for a narrow table to dataset.
(MySQL, MariaDB, PostgreSQL ~ 1,6 sec.; Firebird ~ 2,5 sec.)
64bits: SQLite 0,7sec., MySQL -1,2sec.

Michal

Re: 7.2-alfa testers-thread

Posted: 06.12.2013, 12:22
by miab3
@EgonHugeist, @mdaems,

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

- D2006,
- DXE2 32/64 -> C++(32),

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, Michael,
Perhaps this revision publish as 7.1.3-stable, or 7.2-alpha (or something else)?


Michal

Re: 7.2-alfa testers-thread

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

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

- D2006,
- DXE2 32/64 -> C++(32),

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