godliness opened a new issue, #39875:
URL: https://github.com/apache/arrow/issues/39875

   ### Describe the usage question you have. Please include as many useful 
details as  possible.
   
   
   ```
   select 1.00/id from test;
   
   id is decimal(15,2) which is  16906.24
   1.00 is decimal(3,2)
   but the result is decimal(3, 0);
   ```
   
   looks like it's follow the rule that is
   rule1
   ```
   Result<TypeHolder> ResolveDecimalDivisionOutput(KernelContext*,
                                                   const 
std::vector<TypeHolder>& types) {
     return ResolveDecimalBinaryOperationOutput(
         types, [](int32_t p1, int32_t s1, int32_t p2, int32_t s2) {
           DCHECK_GE(s1, s2);
           const int32_t scale = s1 - s2;
           const int32_t precision = p1;
           return std::make_pair(precision, scale);
         });
   }
   ```
   but the document is show that
   rule 2:
   ```
   scale = max(4, s1 + p2 - s2 + 1)
   precision = p1 - s1 + s2 + scale
   ```
   How could i use the second rule?
   
   ### Component(s)
   
   C++


-- 
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