MCPcopy Create free account
hub / github.com/4paradigm/OpenMLDB / WriteValue

Function WriteValue

src/apiserver/api_server_impl.cc:414–488  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

412}
413
414void WriteValue(JsonWriter& ar, std::shared_ptr<hybridse::sdk::ResultSet> rs, int i) { // NOLINT
415 auto schema = rs->GetSchema();
416 if (rs->IsNULL(i)) {
417 if (schema->IsColumnNotNull(i)) {
418 LOG(ERROR) << "Value in " << schema->GetColumnName(i) << " is null but it can't be null";
419 }
420 ar.SetNull();
421 return;
422 }
423 switch (schema->GetColumnType(i)) {
424 case hybridse::sdk::kTypeInt32: {
425 int32_t value = 0;
426 rs->GetInt32(i, &value);
427 ar& value;
428 break;
429 }
430 case hybridse::sdk::kTypeInt64: {
431 int64_t value = 0;
432 rs->GetInt64(i, &value);
433 ar& value;
434 break;
435 }
436 case hybridse::sdk::kTypeInt16: {
437 int16_t value = 0;
438 rs->GetInt16(i, &value);
439 ar& static_cast<int>(value);
440 break;
441 }
442 case hybridse::sdk::kTypeFloat: {
443 float value = 0;
444 rs->GetFloat(i, &value);
445 ar& static_cast<double>(value);
446 break;
447 }
448 case hybridse::sdk::kTypeDouble: {
449 double value = 0;
450 rs->GetDouble(i, &value);
451 ar& value;
452 break;
453 }
454 case hybridse::sdk::kTypeString: {
455 std::string val;
456 rs->GetString(i, &val);
457 ar& val;
458 break;
459 }
460 case hybridse::sdk::kTypeTimestamp: {
461 int64_t ts = 0;
462 rs->GetTime(i, &ts);
463 ar& ts;
464 break;
465 }
466 case hybridse::sdk::kTypeDate: {
467 int32_t year = 0;
468 int32_t month = 0;
469 int32_t day = 0;
470 std::stringstream ss;
471 rs->GetDate(i, &year, &month, &day);

Callers 1

api_server_impl.ccFile · 0.85

Calls 11

GetSchemaMethod · 0.45
IsNULLMethod · 0.45
GetInt32Method · 0.45
GetInt64Method · 0.45
GetInt16Method · 0.45
GetFloatMethod · 0.45
GetDoubleMethod · 0.45
GetStringMethod · 0.45
GetTimeMethod · 0.45
GetDateMethod · 0.45
GetBoolMethod · 0.45

Tested by

no test coverage detected