diff options
author | Constantin Michael <constantin@codesynthesis.com> | 2011-10-20 11:03:09 +0200 |
---|---|---|
committer | Constantin Michael <constantin@codesynthesis.com> | 2011-10-21 13:29:10 +0200 |
commit | 5fae6bf3eaf7301b0ecf89783ca6cd4e63acec67 (patch) | |
tree | 6d0b7dd18adefba5fa08d1e060c16ad5b45abe50 /oracle/types/test.hxx | |
parent | 621a91328ba7f552ddcd05f3680184cd56357830 (diff) |
Add character set conversion tests to Oracle types test
Diffstat (limited to 'oracle/types/test.hxx')
-rw-r--r-- | oracle/types/test.hxx | 41 |
1 files changed, 39 insertions, 2 deletions
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 |