Skip to content

Commit c36d895

Browse files
committed
chore: fix datafusion-spark substring
1 parent d09a919 commit c36d895

2 files changed

Lines changed: 10 additions & 4 deletions

File tree

datafusion/spark/src/function/string/substring.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,7 @@ fn spark_start_to_datafusion_start(start: i64, len: usize) -> i64 {
166166
start.max(1)
167167
} else {
168168
let len_i64 = i64::try_from(len).unwrap_or(i64::MAX);
169-
let start = start.saturating_add(len_i64).saturating_add(1);
170-
start.max(1)
169+
start + len_i64 + 1
171170
}
172171
}
173172

datafusion/sqllogictest/test_files/spark/string/substring.slt

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ ark SQL
146146
(empty)
147147
(empty)
148148
(empty)
149-
Spa
149+
(empty)
150150
NULL
151151
NULL
152152
NULL
@@ -197,7 +197,14 @@ ark SQL
197197
(empty)
198198
(empty)
199199
(empty)
200-
Spa
200+
(empty)
201201
NULL
202202
NULL
203203
NULL
204+
205+
query T
206+
SELECT substr(column1, -10, 3)
207+
FROM VALUES
208+
('abc'::string)
209+
----
210+
(empty)

0 commit comments

Comments
 (0)