aboutsummaryrefslogtreecommitdiff
path: root/odb/mssql/error.hxx
blob: 2f192e08c65283941b4e61b8f853d35cd02e5e13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// file      : odb/mssql/error.hxx
// copyright : Copyright (c) 2005-2018 Code Synthesis Tools CC
// license   : ODB NCUEL; see accompanying LICENSE file

#ifndef ODB_MSSQL_ERROR_HXX
#define ODB_MSSQL_ERROR_HXX

#include <odb/pre.hxx>
#include <cstddef> // std::size_t

#include <odb/mssql/mssql-fwd.hxx>
#include <odb/mssql/version.hxx>
#include <odb/mssql/forward.hxx>     // connection, multiple_exceptions
#include <odb/mssql/auto-handle.hxx>

#include <odb/mssql/details/export.hxx>

namespace odb
{
  namespace mssql
  {
    // Translate ODBC error given a handle and throw (or return, in case
    // multiple_exceptions is not NULL) an appropriate exception.
    //
    LIBODB_MSSQL_EXPORT void
    translate_error (SQLRETURN, connection&, bool end_tran = false);

    LIBODB_MSSQL_EXPORT void
    translate_error (SQLRETURN,
                     connection&,
                     const auto_handle<SQL_HANDLE_STMT>&,
                     std::size_t pos = 0, multiple_exceptions* = 0);

    LIBODB_MSSQL_EXPORT void
    translate_error (SQLRETURN, SQLHANDLE, SQLSMALLINT htype);
  }
}

#include <odb/post.hxx>

#endif // ODB_MSSQL_ERROR_HXX