This file is indexed.

/usr/include/Wt/Dbo/SqlTraits_impl.h is in libwtdbo-dev 3.3.0-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2009 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef WT_DBO_SQL_TRAITS_IMPL_H_
#define WT_DBO_SQL_TRAITS_IMPL_H_

#include <Wt/Dbo/SqlStatement>

namespace Wt {
  namespace Dbo {

template <typename V, class Enable>
void sql_value_traits<V, Enable>::bind(const char *v, SqlStatement *statement,
				       int column, int size)
{
  statement->bind(column, v);
}

template <typename Result>
void query_result_traits<Result>::getFields(Session& session,
					  std::vector<std::string> *aliases,
					  std::vector<FieldInfo>& result)
{
  /* Adds an immutable single value field */

  if (!aliases || aliases->empty())
    throw std::logic_error("Session::query(): not enough aliases for results");
  std::string name = aliases->front();
  aliases->erase(aliases->begin());

  std::string sqlType = "??"; // FIXME, get from session ?

  std::size_t as = name.find(" as ");
  if (as != std::string::npos)
    name = name.substr(as + 4);

  result.push_back(FieldInfo(name, &typeid(Result), sqlType, 0));
}

template <typename Result>
Result query_result_traits<Result>::load(Session& session,
				       SqlStatement& statement,
				       int& column)
{
  Result result;
  sql_value_traits<Result>::read(result, &statement, column++, -1);
  return result;
}

template <typename Result>
void query_result_traits<Result>::getValues(const Result& result,
					    std::vector<boost::any>& values)
{
  values.push_back(result);
}

template <typename Result>
void query_result_traits<Result>::setValue(Result& result,
					   int& index, const boost::any& value)
{
  if (index == 0)
    result = boost::any_cast<Result>(value);
  --index;
}

template <typename Result>
Result query_result_traits<Result>::create()
{
  return Result();
}

template <typename Result>
void query_result_traits<Result>::add(Session& session, Result& result)
{
}

template <typename Result>
void query_result_traits<Result>::remove(Result& result)
{
}

template <typename Result>
long long query_result_traits<Result>::id(const Result& result)
{
  return -1;
}

template <typename Result>
Result query_result_traits<Result>::findById(Session& session, long long id)
{
  return Result();
}

  }
}

#endif // WT_DBO_SQL_TRAITS_IMPL_H_