File indexing completed on 2025-02-23 05:15:19

0001 //
0002 // Copyright (C) 2013 Mateusz Loskot <mateusz@loskot.net>
0003 // Copyright (C) 2004-2007 Maciej Sobczak, Stephen Hutton
0004 // Distributed under the Boost Software License, Version 1.0.
0005 // (See accompanying file LICENSE_1_0.txt or copy at
0006 // http://www.boost.org/LICENSE_1_0.txt)
0007 //
0008 
0009 #define SOCI_ORACLE_SOURCE
0010 #include "soci/oracle/soci-oracle.h"
0011 
0012 #ifdef _MSC_VER
0013 #pragma warning(disable:4355)
0014 #endif
0015 
0016 using namespace soci;
0017 using namespace soci::details;
0018 
0019 oracle_rowid_backend::oracle_rowid_backend(oracle_session_backend &session)
0020 {
0021     sword res = OCIDescriptorAlloc(session.envhp_,
0022         reinterpret_cast<dvoid**>(&rowidp_), OCI_DTYPE_ROWID, 0, 0);
0023     if (res != OCI_SUCCESS)
0024     {
0025         throw soci_error("Cannot allocate the ROWID descriptor");
0026     }
0027 }
0028 
0029 oracle_rowid_backend::~oracle_rowid_backend()
0030 {
0031     OCIDescriptorFree(rowidp_, OCI_DTYPE_ROWID);
0032 }