justing-bq commented on code in PR #48050:
URL: https://github.com/apache/arrow/pull/48050#discussion_r2524849476


##########
cpp/src/arrow/flight/sql/odbc/odbc_impl/flight_sql_result_set_metadata.cc:
##########
@@ -241,18 +241,29 @@ bool FlightSqlResultSetMetadata::IsUnsigned(int 
column_position) {
   const std::shared_ptr<Field>& field = schema_->field(column_position - 1);
 
   switch (field->type()->id()) {
+    case Type::INT8:
+    case Type::INT16:
+    case Type::INT32:
+    case Type::INT64:
+    case Type::DOUBLE:
+    case Type::FLOAT:
+    case Type::HALF_FLOAT:
+    case Type::DECIMAL32:
+    case Type::DECIMAL64:
+    case Type::DECIMAL128:
+    case Type::DECIMAL256:
+      return false;
     case Type::UINT8:
     case Type::UINT16:
     case Type::UINT32:
     case Type::UINT64:
-      return true;
     default:
-      return false;
+      return true;

Review Comment:
   Now using `arrow::is_unsigned_integer()` instead. 
   We don't want to throw an exception for non-numeric types because we expect 
all the columns of a result set to hit this logic regardless of type. Returning 
false for non-numerics is the desired behavior.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to