aboutsummaryrefslogtreecommitdiff
path: root/oracle/types/test.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'oracle/types/test.hxx')
-rw-r--r--oracle/types/test.hxx41
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