| 267 | // case cudf::type_id::dictionary32: {} break; |
| 268 | |
| 269 | uint8_t mysql_parser::parse_cudf_string(void *src, size_t col, size_t /*row*/, cudf_string_col *v) |
| 270 | { |
| 271 | auto res = (sql::ResultSet*)src; |
| 272 | ++col; // mysql count columns starting from 1 |
| 273 | std::string real_data = res->getString(col).asStdString(); |
| 274 | uint8_t valid = 1; |
| 275 | if (res->wasNull()) { |
| 276 | valid = 0; |
| 277 | } else { |
| 278 | v->chars.insert(v->chars.end(), std::cbegin(real_data), std::cend(real_data)); |
| 279 | } |
| 280 | auto len = valid? real_data.length() : 0; |
| 281 | v->offsets.push_back(v->offsets.back() + len); |
| 282 | return valid; |
| 283 | } |
| 284 | |
| 285 | //virtual bool parse_cudf_list(void *src, size_t col, size_t row){} |
| 286 | //virtual bool parse_cudf_decimal32(void *src, size_t col, size_t row){} |
no test coverage detected