This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git


The following commit(s) were added to refs/heads/main by this push:
     new 13d4db7694 [MINOR] Add extra safety checks for as.frame
13d4db7694 is described below

commit 13d4db76948b141fad82a120d2068c1ca4560993
Author: Sebastian Baunsgaard <[email protected]>
AuthorDate: Tue Jan 30 14:27:47 2024 +0100

    [MINOR] Add extra safety checks for as.frame
---
 .../apache/sysds/runtime/frame/data/lib/FrameFromMatrixBlock.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sysds/runtime/frame/data/lib/FrameFromMatrixBlock.java
 
b/src/main/java/org/apache/sysds/runtime/frame/data/lib/FrameFromMatrixBlock.java
index eeac27e2e1..001e4f7a47 100644
--- 
a/src/main/java/org/apache/sysds/runtime/frame/data/lib/FrameFromMatrixBlock.java
+++ 
b/src/main/java/org/apache/sysds/runtime/frame/data/lib/FrameFromMatrixBlock.java
@@ -89,10 +89,16 @@ public class FrameFromMatrixBlock {
                for(int c = 0; c < nCol; c++){
                        for(int r = 0; r < nRow; r++){
                                switch(schema[c]){
+                                       case INT64:
+                                               // keep the type as FP64 if 
long is detected
+                                               schema[c] = ValueType.FP64; 
                                        case FP64:
                                                break;
                                        default:
-                                               schema[c] = 
FrameUtil.isType(mb.quickGetValue(r, c), schema[c]);
+                                               final double v =  
mb.quickGetValue(r, c);
+                                               if(v > Integer.MAX_VALUE)
+                                                       schema[c] = 
ValueType.FP64; // handle Integer overflow.
+                                               schema[c] = FrameUtil.isType(v, 
schema[c]);
                                }
                        }
                }

Reply via email to