From 5fae6bf3eaf7301b0ecf89783ca6cd4e63acec67 Mon Sep 17 00:00:00 2001 From: Constantin Michael Date: Thu, 20 Oct 2011 11:03:09 +0200 Subject: Add character set conversion tests to Oracle types test --- oracle/types/test.hxx | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'oracle/types/test.hxx') diff --git a/oracle/types/test.hxx b/oracle/types/test.hxx index 0d9f5f7..d137a1d 100644 --- a/oracle/types/test.hxx +++ b/oracle/types/test.hxx @@ -106,13 +106,13 @@ struct object // String and binary types. // - #pragma db type ("CHAR(32)") + #pragma db type ("CHAR(13)") std::string char_; #pragma db type ("VARCHAR2(512)") std::string varchar2_; - #pragma db type ("NCHAR(32)") + #pragma db type ("NCHAR(8)") std::string nchar_; #pragma db type ("NVARCHAR2(512)") @@ -160,4 +160,41 @@ struct object } }; +#pragma db object +struct big_ints +{ + big_ints (bool init = false) + { + if (init) + { + signed_zero = 0; + signed_min = 0x8000000000000000; // –9223372036854775808 + signed_max = 0x7FFFFFFFFFFFFFFFLL; // 9223372036854775807 + unsigned_zero = 0; + unsigned_max = 0xFFFFFFFFFFFFFFFFULL; + } + } + + #pragma db id + unsigned int id; + + long long signed_zero; + long long signed_min; + long long signed_max; + + unsigned long long unsigned_zero; + unsigned long long unsigned_max; + + bool + operator== (const big_ints& y) const + { + return id == y.id && + signed_zero == y.signed_zero && + signed_min == y.signed_min && + signed_max == y.signed_max && + unsigned_zero == y.unsigned_zero && + unsigned_max == y.unsigned_max; + } +}; + #endif // TEST_HXX -- cgit v1.1