From 70492a2ffe88a8ba8393a895eee7716778bec84a Mon Sep 17 00:00:00 2001 From: Constantin Michael Date: Mon, 7 Nov 2011 15:15:27 +0200 Subject: Add support for Oracle INTERVAL temporal types --- odb/relational/oracle/common.cxx | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) (limited to 'odb/relational/oracle/common.cxx') 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::") + -- cgit v1.1