@@ -235,100 +235,99 @@ inline const std::string& datatype_str(Datatype type) {
235235}
236236
237237/* * Returns the datatype given a string representation. */
238- inline Status datatype_enum (
239- const std::string& datatype_str, Datatype* datatype) {
238+ inline Datatype datatype_enum (const std::string& datatype_str) {
240239 if (datatype_str == constants::int32_str)
241- *datatype = Datatype::INT32;
240+ return Datatype::INT32;
242241 else if (datatype_str == constants::int64_str)
243- *datatype = Datatype::INT64;
242+ return Datatype::INT64;
244243 else if (datatype_str == constants::float32_str)
245- *datatype = Datatype::FLOAT32;
244+ return Datatype::FLOAT32;
246245 else if (datatype_str == constants::float64_str)
247- *datatype = Datatype::FLOAT64;
246+ return Datatype::FLOAT64;
248247 else if (datatype_str == constants::char_str)
249- *datatype = Datatype::CHAR;
248+ return Datatype::CHAR;
250249 else if (datatype_str == constants::blob_str)
251- *datatype = Datatype::BLOB;
250+ return Datatype::BLOB;
252251 else if (datatype_str == constants::geom_wkb_str)
253- *datatype = Datatype::GEOM_WKB;
252+ return Datatype::GEOM_WKB;
254253 else if (datatype_str == constants::geom_wkt_str)
255- *datatype = Datatype::GEOM_WKT;
254+ return Datatype::GEOM_WKT;
256255 else if (datatype_str == constants::bool_str)
257- *datatype = Datatype::BOOL;
256+ return Datatype::BOOL;
258257 else if (datatype_str == constants::int8_str)
259- *datatype = Datatype::INT8;
258+ return Datatype::INT8;
260259 else if (datatype_str == constants::uint8_str)
261- *datatype = Datatype::UINT8;
260+ return Datatype::UINT8;
262261 else if (datatype_str == constants::int16_str)
263- *datatype = Datatype::INT16;
262+ return Datatype::INT16;
264263 else if (datatype_str == constants::uint16_str)
265- *datatype = Datatype::UINT16;
264+ return Datatype::UINT16;
266265 else if (datatype_str == constants::uint32_str)
267- *datatype = Datatype::UINT32;
266+ return Datatype::UINT32;
268267 else if (datatype_str == constants::uint64_str)
269- *datatype = Datatype::UINT64;
268+ return Datatype::UINT64;
270269 else if (datatype_str == constants::string_ascii_str)
271- *datatype = Datatype::STRING_ASCII;
270+ return Datatype::STRING_ASCII;
272271 else if (datatype_str == constants::string_utf8_str)
273- *datatype = Datatype::STRING_UTF8;
272+ return Datatype::STRING_UTF8;
274273 else if (datatype_str == constants::string_utf16_str)
275- *datatype = Datatype::STRING_UTF16;
274+ return Datatype::STRING_UTF16;
276275 else if (datatype_str == constants::string_utf32_str)
277- *datatype = Datatype::STRING_UTF32;
276+ return Datatype::STRING_UTF32;
278277 else if (datatype_str == constants::string_ucs2_str)
279- *datatype = Datatype::STRING_UCS2;
278+ return Datatype::STRING_UCS2;
280279 else if (datatype_str == constants::string_ucs4_str)
281- *datatype = Datatype::STRING_UCS4;
280+ return Datatype::STRING_UCS4;
282281 else if (datatype_str == constants::any_str)
283- *datatype = Datatype::ANY;
282+ return Datatype::ANY;
284283 else if (datatype_str == constants::datetime_year_str)
285- *datatype = Datatype::DATETIME_YEAR;
284+ return Datatype::DATETIME_YEAR;
286285 else if (datatype_str == constants::datetime_month_str)
287- *datatype = Datatype::DATETIME_MONTH;
286+ return Datatype::DATETIME_MONTH;
288287 else if (datatype_str == constants::datetime_week_str)
289- *datatype = Datatype::DATETIME_WEEK;
288+ return Datatype::DATETIME_WEEK;
290289 else if (datatype_str == constants::datetime_day_str)
291- *datatype = Datatype::DATETIME_DAY;
290+ return Datatype::DATETIME_DAY;
292291 else if (datatype_str == constants::datetime_hr_str)
293- *datatype = Datatype::DATETIME_HR;
292+ return Datatype::DATETIME_HR;
294293 else if (datatype_str == constants::datetime_min_str)
295- *datatype = Datatype::DATETIME_MIN;
294+ return Datatype::DATETIME_MIN;
296295 else if (datatype_str == constants::datetime_sec_str)
297- *datatype = Datatype::DATETIME_SEC;
296+ return Datatype::DATETIME_SEC;
298297 else if (datatype_str == constants::datetime_ms_str)
299- *datatype = Datatype::DATETIME_MS;
298+ return Datatype::DATETIME_MS;
300299 else if (datatype_str == constants::datetime_us_str)
301- *datatype = Datatype::DATETIME_US;
300+ return Datatype::DATETIME_US;
302301 else if (datatype_str == constants::datetime_ns_str)
303- *datatype = Datatype::DATETIME_NS;
302+ return Datatype::DATETIME_NS;
304303 else if (datatype_str == constants::datetime_ps_str)
305- *datatype = Datatype::DATETIME_PS;
304+ return Datatype::DATETIME_PS;
306305 else if (datatype_str == constants::datetime_fs_str)
307- *datatype = Datatype::DATETIME_FS;
306+ return Datatype::DATETIME_FS;
308307 else if (datatype_str == constants::datetime_as_str)
309- *datatype = Datatype::DATETIME_AS;
308+ return Datatype::DATETIME_AS;
310309 else if (datatype_str == constants::time_hr_str)
311- *datatype = Datatype::TIME_HR;
310+ return Datatype::TIME_HR;
312311 else if (datatype_str == constants::time_min_str)
313- *datatype = Datatype::TIME_MIN;
312+ return Datatype::TIME_MIN;
314313 else if (datatype_str == constants::time_sec_str)
315- *datatype = Datatype::TIME_SEC;
314+ return Datatype::TIME_SEC;
316315 else if (datatype_str == constants::time_ms_str)
317- *datatype = Datatype::TIME_MS;
316+ return Datatype::TIME_MS;
318317 else if (datatype_str == constants::time_us_str)
319- *datatype = Datatype::TIME_US;
318+ return Datatype::TIME_US;
320319 else if (datatype_str == constants::time_ns_str)
321- *datatype = Datatype::TIME_NS;
320+ return Datatype::TIME_NS;
322321 else if (datatype_str == constants::time_ps_str)
323- *datatype = Datatype::TIME_PS;
322+ return Datatype::TIME_PS;
324323 else if (datatype_str == constants::time_fs_str)
325- *datatype = Datatype::TIME_FS;
324+ return Datatype::TIME_FS;
326325 else if (datatype_str == constants::time_as_str)
327- *datatype = Datatype::TIME_AS;
326+ return Datatype::TIME_AS;
328327 else {
329- return Status_Error (" Invalid Datatype " + datatype_str);
328+ throw std::runtime_error (
329+ " Invalid Datatype string (\" " + datatype_str + " \" )" );
330330 }
331- return Status::Ok ();
332331}
333332
334333/* * Returns true if the input datatype is a string type. */
@@ -440,12 +439,7 @@ inline void ensure_datatype_is_valid(Datatype type) {
440439 * the datatype string's enum is not between 0 and 43.
441440 **/
442441inline void ensure_datatype_is_valid (const std::string& datatype_str) {
443- Datatype datatype_type;
444- Status st{datatype_enum (datatype_str, &datatype_type)};
445- if (!st.ok ()) {
446- throw std::runtime_error (
447- " Invalid Datatype string (\" " + datatype_str + " \" )" );
448- }
442+ Datatype datatype_type = datatype_enum (datatype_str);
449443 ensure_datatype_is_valid (datatype_type);
450444}
451445
0 commit comments