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

Function PrintResultSet

src/cmd/sql_cmd.h:67–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

65::fedb::sdk::SQLClusterRouter *sr = NULL;
66
67void PrintResultSet(std::ostream &stream, ::hybridse::sdk::ResultSet *result_set) {
68 if (!result_set || result_set->Size() == 0) {
69 stream << "Empty set" << std::endl;
70 return;
71 }
72 ::hybridse::base::TextTable t('-', ' ', ' ');
73 auto *schema = result_set->GetSchema();
74 // Add Header
75 for (int32_t i = 0; i < schema->GetColumnCnt(); i++) {
76 t.add(schema->GetColumnName(i));
77 }
78 t.end_of_row();
79 while (result_set->Next()) {
80 for (int32_t i = 0; i < schema->GetColumnCnt(); i++) {
81 if (result_set->IsNULL(i)) {
82 t.add("NULL");
83 continue;
84 }
85 auto data_type = schema->GetColumnType(i);
86 switch (data_type) {
87 case hybridse::sdk::kTypeInt16: {
88 int16_t value = 0;
89 result_set->GetInt16(i, &value);
90 t.add(std::to_string(value));
91 break;
92 }
93 case hybridse::sdk::kTypeInt32: {
94 int32_t value = 0;
95 result_set->GetInt32(i, &value);
96 t.add(std::to_string(value));
97 break;
98 }
99 case hybridse::sdk::kTypeInt64: {
100 int64_t value = 0;
101 result_set->GetInt64(i, &value);
102 t.add(std::to_string(value));
103 break;
104 }
105 case hybridse::sdk::kTypeFloat: {
106 float value = 0;
107 result_set->GetFloat(i, &value);
108 t.add(std::to_string(value));
109 break;
110 }
111 case hybridse::sdk::kTypeDouble: {
112 double value = 0;
113 result_set->GetDouble(i, &value);
114 t.add(std::to_string(value));
115 break;
116 }
117 case hybridse::sdk::kTypeString: {
118 std::string val;
119 result_set->GetString(i, &val);
120 t.add(val);
121 break;
122 }
123 case hybridse::sdk::kTypeTimestamp: {
124 int64_t ts = 0;

Callers 4

CheckRowsMethod · 0.85
HandleSQLFunction · 0.85
BM_RequestQueryFunction · 0.85
BM_BatchRequestQueryFunction · 0.85

Calls 14

to_stringFunction · 0.85
SizeMethod · 0.45
GetSchemaMethod · 0.45
NextMethod · 0.45
IsNULLMethod · 0.45
GetInt16Method · 0.45
GetInt32Method · 0.45
GetInt64Method · 0.45
GetFloatMethod · 0.45
GetDoubleMethod · 0.45
GetStringMethod · 0.45
GetTimeMethod · 0.45

Tested by 1

CheckRowsMethod · 0.68