Skip to content

Commit 53f2fe1

Browse files
authored
Forward regex parser errors to enable understandin their reason. (#2288)
1 parent 9c75942 commit 53f2fe1

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/query/regex_query.rs

+13-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ impl RegexQuery {
6363
/// Creates a new RegexQuery from a given pattern
6464
pub fn from_pattern(regex_pattern: &str, field: Field) -> crate::Result<Self> {
6565
let regex = Regex::new(regex_pattern)
66-
.map_err(|_| TantivyError::InvalidArgument(regex_pattern.to_string()))?;
66+
.map_err(|err| TantivyError::InvalidArgument(format!("RegexQueryError: {err}")))?;
6767
Ok(RegexQuery::from_regex(regex, field))
6868
}
6969

@@ -176,4 +176,16 @@ mod test {
176176
verify_regex_query(matching_one, matching_zero, reader);
177177
Ok(())
178178
}
179+
180+
#[test]
181+
pub fn test_pattern_error() {
182+
let (_reader, field) = build_test_index().unwrap();
183+
184+
match RegexQuery::from_pattern(r"(foo", field) {
185+
Err(crate::TantivyError::InvalidArgument(msg)) => {
186+
assert!(msg.contains("error: unclosed group"))
187+
}
188+
res => panic!("unexpected result: {:?}", res),
189+
}
190+
}
179191
}

0 commit comments

Comments
 (0)