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]);
}
}
}