31 throw std::runtime_error(
"Unsupported field type");
33 T* result_ptr = boost::get<T>(scalar_value);
35 throw std::runtime_error(
"Null field");
41 namespace EmbeddedDatabase {
67 , precision(_precision)
69 , comp_param(_comp_param) {}
75 Row::Row(std::vector<TargetValue>& row) : row_(std::move(row)) {}
100 const auto scalar_value = boost::get<ScalarTargetValue>(&
row_[col_num]);
101 auto value = boost::get<NullableString>(scalar_value);
102 if (!value || boost::get<void*>(value)) {
105 if (
auto str = boost::get<std::string>(value)) {
std::string getStr(size_t col_num)
double getDouble(size_t col_num)
void checkColumnRange(size_t index, size_t count)
float getFloat(size_t col_num)
int64_t getInt(size_t col_num)
ColumnType sqlToColumnType(const SQLTypes &type)
const rapidjson::Value & field(const rapidjson::Value &obj, const char field[]) noexcept
void getFieldValue(T &result, TargetValue *field)
std::vector< TargetValue > row_
ColumnEncoding sqlToColumnEncoding(const EncodingType &type)
bool g_enable_watchdog false
boost::variant< ScalarTargetValue, ArrayTargetValue, GeoTargetValue, GeoTargetValuePtr > TargetValue
boost::variant< int64_t, double, float, NullableString > ScalarTargetValue