From dd96bcb4f2058f34eb19dc626fb3b93ae94ce5ba Mon Sep 17 00:00:00 2001 From: Benjamin Oldenburg Date: Fri, 22 Mar 2024 19:32:57 +0700 Subject: [PATCH] fixes for oracle backend --- src/backends/oracle/standard-into-type.cpp | 3 +++ src/backends/oracle/standard-use-type.cpp | 4 ++++ src/backends/oracle/vector-into-type.cpp | 2 ++ 3 files changed, 9 insertions(+) diff --git a/src/backends/oracle/standard-into-type.cpp b/src/backends/oracle/standard-into-type.cpp index 87ba49111..4ddee84b1 100644 --- a/src/backends/oracle/standard-into-type.cpp +++ b/src/backends/oracle/standard-into-type.cpp @@ -184,7 +184,10 @@ void oracle_standard_into_type_backend::define_by_pos( ociData_ = lobp; } break; + default: + throw soci_error("Into element used with non-supported type."); } + sword res = OCIDefineByPos(statement_.stmtp_, &defnp_, statement_.session_.errhp_, diff --git a/src/backends/oracle/standard-use-type.cpp b/src/backends/oracle/standard-use-type.cpp index 78ac109e1..80f18f928 100644 --- a/src/backends/oracle/standard-use-type.cpp +++ b/src/backends/oracle/standard-use-type.cpp @@ -201,6 +201,8 @@ void oracle_standard_use_type_backend::prepare_for_bind( ociData_ = lobp; } break; + default: + throw soci_error("Use element used with non-supported type."); } } @@ -468,6 +470,7 @@ void oracle_standard_use_type_backend::pre_use(indicator const *ind) case x_xmltype: case x_longstring: + case x_stdwstring: case x_rowid: case x_blob: // nothing to do @@ -682,6 +685,7 @@ void oracle_standard_use_type_backend::post_use(bool gotData, indicator *ind) break; case x_blob: case x_rowid: + case x_stdwstring: case x_xmltype: case x_longstring: // nothing to do here diff --git a/src/backends/oracle/vector-into-type.cpp b/src/backends/oracle/vector-into-type.cpp index d838b6849..ea4837b29 100644 --- a/src/backends/oracle/vector-into-type.cpp +++ b/src/backends/oracle/vector-into-type.cpp @@ -218,6 +218,8 @@ void oracle_vector_into_type_backend::define_by_pos_bulk( case x_statement: case x_rowid: case x_blob: + case x_stdwstring: + case x_wchar: throw soci_error("Unsupported type for vector into parameter"); }