diff options
Diffstat (limited to 'boost/mssql')
-rw-r--r-- | boost/mssql/date-time/driver.cxx | 6 | ||||
-rw-r--r-- | boost/mssql/date-time/test.hxx | 33 |
2 files changed, 27 insertions, 12 deletions
diff --git a/boost/mssql/date-time/driver.cxx b/boost/mssql/date-time/driver.cxx index d48f90b..55cbdb0 100644 --- a/boost/mssql/date-time/driver.cxx +++ b/boost/mssql/date-time/driver.cxx @@ -44,6 +44,7 @@ main (int argc, char* argv[]) // Test all valid date-time mappings. // +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 o.dates.push_back (day_clock::local_day ()); o.dates.push_back (date (not_a_date_time)); o.dates.push_back (date (max_date_time)); @@ -53,6 +54,7 @@ main (int argc, char* argv[]) o.times.push_back (not_a_date_time); o.times.push_back (min_date_time); o.times.push_back (ptime (max_date_time)); +#endif // In DATETIME fractional seconds are rounded to .000, .003, or .007. // @@ -64,8 +66,10 @@ main (int argc, char* argv[]) o.times_sdt.push_back (ptime (date (2012, 1, 13), time_duration (11, 57, 0, 0))); +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 o.durations.push_back (time_duration (1, 2, 3, 123456)); o.durations.push_back (not_a_date_time); +#endif { transaction t (db->begin ()); @@ -81,6 +85,7 @@ main (int argc, char* argv[]) assert (*ol == o); } +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 // Test invalid date mappings. // { @@ -130,6 +135,7 @@ main (int argc, char* argv[]) t.commit (); } +#endif } catch (const odb::exception& e) { diff --git a/boost/mssql/date-time/test.hxx b/boost/mssql/date-time/test.hxx index 7bbd15d..ddf38f6 100644 --- a/boost/mssql/date-time/test.hxx +++ b/boost/mssql/date-time/test.hxx @@ -20,24 +20,14 @@ struct object { } - bool - operator== (const object& x) const - { - return - id == x.id && - dates == x.dates && - times == x.times && - times_dt == x.times_dt && - times_sdt == x.times_sdt && - durations == x.durations; - } - #pragma db id auto unsigned long id; +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 std::vector<boost::gregorian::date> dates; std::vector<boost::posix_time::ptime> times; +#endif #pragma db value_type("DATETIME") std::vector<boost::posix_time::ptime> times_dt; @@ -45,7 +35,26 @@ struct object #pragma db value_type("SMALLDATETIME") std::vector<boost::posix_time::ptime> times_sdt; +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 std::vector<boost::posix_time::time_duration> durations; +#endif + + bool + operator== (const object& x) const + { + return + id == x.id +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 + && dates == x.dates + && times == x.times +#endif + && times_dt == x.times_dt + && times_sdt == x.times_sdt +#if !defined(MSSQL_SERVER_VERSION) || MSSQL_SERVER_VERSION >= 1000 + && durations == x.durations +#endif + ; + } }; #endif // TEST_HXX |