Changeset: 048c7b22e7aa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/048c7b22e7aa Added Files: sql/test/proto_loader/odbc/Tests/monetodbc_bigdec.test Removed Files: sql/test/proto_loader/odbc/Tests/monetodbc_bigdec_failure.test Modified Files: sql/test/proto_loader/odbc/Tests/All Branch: Mar2025 Log Message:
With the fixes done in MonetDB ODBC driver, the failing bigdec test can now be re-activated. diffs (128 lines): diff --git a/sql/test/proto_loader/odbc/Tests/All b/sql/test/proto_loader/odbc/Tests/All --- a/sql/test/proto_loader/odbc/Tests/All +++ b/sql/test/proto_loader/odbc/Tests/All @@ -3,4 +3,4 @@ HAVE_ODBC?monetodbc !NOT_WIN32?monetodbc-Windows HAVE_SQLITE3ODBC&HAVE_DATA_PATH?sqlite3odbc HAVE_ODBC?monetodbc_datatypes -KNOWNFAIL&HAVE_ODBC?monetodbc_bigdec_failure +HAVE_HGE&HAVE_ODBC?monetodbc_bigdec diff --git a/sql/test/proto_loader/odbc/Tests/monetodbc_bigdec.test b/sql/test/proto_loader/odbc/Tests/monetodbc_bigdec.test new file mode 100644 --- /dev/null +++ b/sql/test/proto_loader/odbc/Tests/monetodbc_bigdec.test @@ -0,0 +1,98 @@ +-- decimal values with more than 18 digits before or after the decimal separator used to fail when using MonetDB ODBC driver +-- Failed to get C_type 1 data for col 1 of row 1. ODBCmsg: SQLSTATE 22003, Error code 0, Message [MonetDB][ODBC Driver 11.53.0][MonetDB-Test]Numeric value out of range + +-- decimal value with 20 digits before the decimal separator +query TT +select cast(12345678901234567890.123456789 as decimal(38,9)) as dec16_val0, cast(-12345678901234567890.123456789 as decimal(38,9)) as dec16_val1 +---- +12345678901234567890.123456789 +-12345678901234567890.123456789 + +query TT +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(12345678901234567890.123456789 as decimal(38,9)) as dec16_val0, cast(-12345678901234567890.123456789 as decimal(38,9)) as dec16_val1' +---- +12345678901234567890.123456789 +-12345678901234567890.123456789 + +-- decimal value with 21 digits before the decimal separator +query TT +select cast(123456789012345678901.123456789 as decimal(38,9)) as dec16_val0, cast(-123456789012345678901.123456789 as decimal(38,9)) as dec16_val1 +---- +123456789012345678901.123456789 +-123456789012345678901.123456789 + +-- decimal value with 21 digits before the decimal separator fail when using MonetDB ODBC driver +query TT +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(123456789012345678901.123456789 as decimal(38,9)) as dec16_val0, cast(-123456789012345678901.123456789 as decimal(38,9)) as dec16_val1' +---- +123456789012345678901.123456789 +-123456789012345678901.123456789 + +-- decimal value with 29 digits before the decimal separator fail when using MonetDB ODBC driver +query T +select cast(92345678901234567890123456789.123456789 as decimal(38,9)) as dec16_val +---- +92345678901234567890123456789.123456789 + +query I +select cast(923456789012345678901234567890.12345678 as decimal(38,8)) as dec16_val +---- +923456789012345678901234567890 + +query T +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(92345678901234567890123456789.123456789 as decimal(38,9)) as dec16_val' +---- +92345678901234567890123456789.123456789 + +query T +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(923456789012345678901234567890.12345678 as decimal(38,8)) as dec16_val' +---- +923456789012345678901234567890.12345678 + +-- negative decimals +-- decimal value with 29 digits before the decimal separator fail when using MonetDB ODBC driver +query T +select cast(-92345678901234567890123456789.123456789 as decimal(38,9)) as dec16_val +---- +-92345678901234567890123456789.123456789 + +query I +select cast(-923456789012345678901234567890.12345678 as decimal(38,8)) as dec16_val +---- +-923456789012345678901234567890 + +query T +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(-92345678901234567890123456789.123456789 as decimal(38,9)) as dec16_val' +---- +-92345678901234567890123456789.123456789 + +query T +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(-923456789012345678901234567890.12345678 as decimal(38,8)) as dec16_val' +---- +-923456789012345678901234567890.12345678 + +-- decimal value with 38 digits before the decimal separator +query TT +select cast(99999999909999999990999999999012345678. as decimal(38,0)) as val1, cast(-99999999909999999990999999999012345678. as decimal(38,0)) as val2 +---- +99999999909999999990999999999012345678 +-99999999909999999990999999999012345678 + +query TT +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(99999999909999999990999999999012345678. as decimal(38,0)) as val1, cast(-99999999909999999990999999999012345678. as decimal(38,0)) as val2' +---- +99999999909999999990999999999012345678 +-99999999909999999990999999999012345678 + +-- decimal value with 38 digits after the decimal separator +query TT +select cast(.99999999909999999990999999999012345678 as decimal(38,38)) as val1, cast(-.99999999909999999990999999999012345678 as decimal(38,38)) as val2 +---- +0.99999999909999999990999999999012345678 +-0.99999999909999999990999999999012345678 + +query TT +select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(.99999999909999999990999999999012345678 as decimal(38,38)) as val1, cast(-.99999999909999999990999999999012345678 as decimal(38,38)) as val2' +---- +0.99999999909999999990999999999012345678 +-0.99999999909999999990999999999012345678 diff --git a/sql/test/proto_loader/odbc/Tests/monetodbc_bigdec_failure.test b/sql/test/proto_loader/odbc/Tests/monetodbc_bigdec_failure.test deleted file mode 100644 --- a/sql/test/proto_loader/odbc/Tests/monetodbc_bigdec_failure.test +++ /dev/null @@ -1,11 +0,0 @@ -query T -select cast(-92345678901234567890123456789.123456789 as decimal(38,9)) as dec16_val ----- --92345678901234567890123456789.123456789 - --- Failed to get C_type 1 data for col 1 of row 1. ODBCmsg: SQLSTATE 22003, Error code 0, Message [MonetDB][ODBC Driver 11.53.0][MonetDB-Test]Numeric value out of range -query T -select * from 'odbc:DSN=MonetDB-Test;QUERY=select cast(-92345678901234567890123456789.123456789 as decimal(38,9)) as dec16_val' ----- --92345678901234567890123456789.123456789 - _______________________________________________ checkin-list mailing list -- [email protected] To unsubscribe send an email to [email protected]
