Warning, file /sdk/codevis/thirdparty/soci/src/core/procedure.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 //
0002 // Copyright (C) 2004-2008 Maciej Sobczak, Stephen Hutton
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 #define SOCI_SOURCE
0009 #include "soci/procedure.h"
0010 #include "soci/statement.h"
0011 #include "soci/prepare-temp-type.h"
0012 
0013 using namespace soci;
0014 using namespace soci::details;
0015 
0016 procedure_impl::procedure_impl(prepare_temp_type const & prep)
0017     : statement_impl(prep.get_prepare_info()->session_),
0018     refCount_(1)
0019 {
0020     ref_counted_prepare_info * prepInfo = prep.get_prepare_info();
0021 
0022     // take all bind/define info
0023     intos_.swap(prepInfo->intos_);
0024     uses_.swap(prepInfo->uses_);
0025 
0026     // allocate handle
0027     alloc();
0028 
0029     // prepare the statement
0030     prepare(rewrite_for_procedure_call(prepInfo->get_query()));
0031 
0032     define_and_bind();
0033 }