diff options
author | Constantin Michael <constantin@codesynthesis.com> | 2011-11-07 15:15:27 +0200 |
---|---|---|
committer | Constantin Michael <constantin@codesynthesis.com> | 2011-11-08 14:46:51 +0200 |
commit | 70492a2ffe88a8ba8393a895eee7716778bec84a (patch) | |
tree | f87cbf22f47138df17835793b256253ba87a2ef7 /odb/relational/oracle/common.cxx | |
parent | f22c9c10eb07c93be47549410e0352b0dfbd598a (diff) |
Add support for Oracle INTERVAL temporal types
Diffstat (limited to 'odb/relational/oracle/common.cxx')
-rw-r--r-- | odb/relational/oracle/common.cxx | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/odb/relational/oracle/common.cxx b/odb/relational/oracle/common.cxx index f7dddf2..7104876 100644 --- a/odb/relational/oracle/common.cxx +++ b/odb/relational/oracle/common.cxx @@ -206,6 +206,17 @@ namespace relational traverse_timestamp (mi); break; } + case sql_type::INTERVAL_YM: + { + traverse_interval_ym (mi); + break; + + } + case sql_type::INTERVAL_DS: + { + traverse_interval_ds (mi); + break; + } // String and binary types. // case sql_type::CHAR: @@ -309,7 +320,19 @@ namespace relational void member_image_type:: traverse_timestamp (member_info&) { - type_ = "char*"; + type_ = "oracle::datetime"; + } + + void member_image_type:: + traverse_interval_ym (member_info&) + { + type_ = "oracle::interval_ym"; + } + + void member_image_type:: + traverse_interval_ds (member_info&) + { + type_ = "oracle::interval_ds"; } void member_image_type:: @@ -418,6 +441,18 @@ namespace relational } void member_database_type_id:: + traverse_interval_ym (member_info&) + { + type_id_ = "oracle::id_interval_ym"; + } + + void member_database_type_id:: + traverse_interval_ds (member_info&) + { + type_id_ = "oracle::id_interval_ds"; + } + + void member_database_type_id:: traverse_string (member_info& mi) { type_id_ = string ("oracle::") + |