File indexing completed on 2025-02-23 05:15:19
0001 // 0002 // Copyright (C) 2021 Vadim Zeitlin 0003 // Distributed under the Boost Software License, Version 1.0. 0004 // (See accompanying file LICENSE_1_0.txt or copy at 0005 // http://www.boost.org/LICENSE_1_0.txt) 0006 // 0007 0008 #ifndef SOCI_ORACLE_CLOB_H_INCLUDED 0009 #define SOCI_ORACLE_CLOB_H_INCLUDED 0010 0011 #include "soci/oracle/soci-oracle.h" 0012 0013 // Note that mopst functions in this file are currently implemented in 0014 // standard-use-type.cpp except for read_from_lob() which is found in 0015 // standard-into-type.cpp. 0016 0017 namespace soci 0018 { 0019 0020 namespace details 0021 { 0022 0023 namespace oracle 0024 { 0025 0026 // Creates and returns a temporary LOB object. Throws on error. 0027 OCILobLocator * create_temp_lob(oracle_session_backend& session); 0028 0029 // Writes the given value to the LOB. Throws on error. 0030 void write_to_lob(oracle_session_backend& session, 0031 OCILobLocator * lobp, const std::string & value); 0032 0033 // Reads the value from the lob into the given string. Throws on error. 0034 void read_from_lob(oracle_session_backend& session, 0035 OCILobLocator * lobp, std::string & value); 0036 0037 // Frees a temporary LOB object. Doesn't throw. 0038 void free_temp_lob(oracle_session_backend& session, OCILobLocator * lobp); 0039 0040 } // namespace oracle 0041 0042 } // namespace details 0043 0044 } // namespace soci 0045 0046 #endif // SOCI_ORACLE_CLOB_H_INCLUDED