finished postgres fetch
This commit is contained in:
@@ -129,86 +129,4 @@ void sqlite_result_reader::read_value(const char *id, size_t index, std::string
|
||||
value.assign(result_[row_index_][index]);
|
||||
}
|
||||
|
||||
template < typename Type >
|
||||
void convert(const char *valstr, sql::any_type &value)
|
||||
{
|
||||
Type val{};
|
||||
sql::to_value(val, valstr);
|
||||
value = val;
|
||||
}
|
||||
|
||||
void sqlite_result_reader::read_value(const char *id, size_t index, sql::any_type &value, sql::data_type_t type, size_t size)
|
||||
{
|
||||
switch (type) {
|
||||
case sql::data_type_t::type_char:
|
||||
convert<char>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_short:
|
||||
convert<short>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_int:
|
||||
convert<int>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_long:
|
||||
convert<long>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_long_long:
|
||||
convert<long long>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_unsigned_char:
|
||||
convert<unsigned char>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_unsigned_short:
|
||||
convert<unsigned short>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_unsigned_int:
|
||||
convert<unsigned int>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_unsigned_long:
|
||||
convert<unsigned long>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_unsigned_long_long:
|
||||
convert<unsigned long long>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_float:
|
||||
convert<float>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_double:
|
||||
convert<double>(result_[row_index_][index], value);
|
||||
break;
|
||||
case sql::data_type_t::type_bool: {
|
||||
int val{};
|
||||
sql::to_value(val, result_[row_index_][index]);
|
||||
value = val > 0;
|
||||
break;
|
||||
}
|
||||
case sql::data_type_t::type_text:
|
||||
case sql::data_type_t::type_varchar: {
|
||||
value = std::string{result_[row_index_][index]};
|
||||
break;
|
||||
}
|
||||
case sql::data_type_t::type_char_pointer: {
|
||||
value = result_[row_index_][index];
|
||||
break;
|
||||
}
|
||||
case sql::data_type_t::type_time:
|
||||
case sql::data_type_t::type_date: {
|
||||
value = std::string{result_[row_index_][index]};
|
||||
break;
|
||||
}
|
||||
case sql::data_type_t::type_null: {
|
||||
value = nullptr_t{};
|
||||
break;
|
||||
}
|
||||
case sql::data_type_t::type_blob: {
|
||||
throw std::logic_error("data type blob not supported");
|
||||
}
|
||||
case sql::data_type_t::type_unknown: {
|
||||
value = std::string(result_[row_index_][index]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user