From aa82673655e7aecd7cf2e7e9b5fd407eee2b01f2 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 22 Jul 2011 14:06:22 +0200 Subject: Test automatic and custom ENUM mappings --- mysql/types/driver.cxx | 3 ++- mysql/types/test.hxx | 14 ++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'mysql') diff --git a/mysql/types/driver.cxx b/mysql/types/driver.cxx index 31ccde1..6625adf 100644 --- a/mysql/types/driver.cxx +++ b/mysql/types/driver.cxx @@ -78,7 +78,8 @@ main (int argc, char* argv[]) o.bit_.c = 0; o.bit_.d = 1; - o.enum_ = green; + o.enum_def_ = green; + o.enum_cst_ = blue; o.enum_str_ = "green"; o.set_.insert ("green"); o.set_.insert ("red"); diff --git a/mysql/types/test.hxx b/mysql/types/test.hxx index fa1d7b3..209782e 100644 --- a/mysql/types/test.hxx +++ b/mysql/types/test.hxx @@ -210,12 +210,17 @@ struct object // Test ENUM representations (integer and string). // - color enum_; + color enum_def_; - #pragma db type ("ENUM ('red', 'green', 'blue')") + // Map to a custom MySQL ENUM type. + // + #pragma db type ("ENUM('R', 'G', 'B')") + color enum_cst_; + + #pragma db type ("ENUM('red', 'green', 'blue')") std::string enum_str_; - #pragma db type ("SET ('red', 'green', 'blue')") + #pragma db type ("SET('red', 'green', 'blue')") set set_; // Test NULL value. @@ -261,7 +266,8 @@ struct object longtext_ == y.longtext_ && longblob_ == y.longblob_ && bit_ == y.bit_ && - enum_ == y.enum_ && + enum_def_ == y.enum_def_ && + enum_cst_ == y.enum_cst_ && enum_str_ == y.enum_str_ && set_ == y.set_ && ((null_.get () == 0 && y.null_.get () == 0) || *null_ == *y.null_); -- cgit v1.1