Ejemplo n.º 1
0
statement_impl::statement_impl(prepare_temp_type const & prep)
    : session_(prep.get_prepare_info()->session_),
      refCount_(1), row_(0), fetchSize_(1), alreadyDescribed_(false)
{
    backEnd_ = session_.make_statement_backend();

    ref_counted_prepare_info * prepInfo = prep.get_prepare_info();

    // take all bind/define info
    intos_.swap(prepInfo->intos_);
    uses_.swap(prepInfo->uses_);

    // allocate handle
    alloc();

    // prepare the statement
    query_ = prepInfo->get_query();
    try
    {
        prepare(query_);
    }
    catch(...)
    {
        clean_up();
        throw;
    }

    define_and_bind();
}
Ejemplo n.º 2
0
statement_imp::statement_imp (prepare_temp_type const& prep)
  : m_session (prep.get_prepare_info().m_session)
  , m_stmt (0)
  , m_bReady (false)
  , m_bGotData (false)
{
  ref_counted_prepare_info& rcpi = prep.get_prepare_info();

  m_intos.swap (rcpi.m_intos);
  m_uses.swap (rcpi.m_uses);

  prepare (rcpi.get_query());
}
Ejemplo n.º 3
0
procedure_impl::procedure_impl(prepare_temp_type const & prep)
    : statement_impl(prep.get_prepare_info()->session_),
    refCount_(1)
{
    ref_counted_prepare_info * prepInfo = prep.get_prepare_info();

    // take all bind/define info
    intos_.swap(prepInfo->intos_);
    uses_.swap(prepInfo->uses_);

    // allocate handle
    alloc();

    // prepare the statement
    prepare(rewrite_for_procedure_call(prepInfo->get_query()));

    define_and_bind();
}