Skip to content

Commit ae09910

Browse files
bump
1 parent b9dfacd commit ae09910

3 files changed

Lines changed: 19 additions & 9 deletions

File tree

Cargo.toml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "datafusion-functions-json"
3-
version = "0.47.0"
3+
version = "0.48.0"
44
edition = "2021"
55
description = "JSON functions for DataFusion"
66
readme = "README.md"
@@ -11,16 +11,16 @@ repository = "https://github.com/datafusion-contrib/datafusion-functions-json/"
1111
rust-version = "1.82.0"
1212

1313
[dependencies]
14-
datafusion = { version = "47", default-features = false }
14+
datafusion = { version = "48", default-features = false }
1515
jiter = "0.9"
1616
paste = "1"
1717
log = "0.4"
1818

1919
[dev-dependencies]
20-
datafusion = { version = "47", default-features = false, features = ["nested_expressions"] }
20+
datafusion = { version = "48", default-features = false, features = [
21+
"nested_expressions",
22+
] }
2123
codspeed-criterion-compat = "2.6"
22-
criterion = "0.5.1"
23-
clap = "4"
2424
tokio = { version = "1.43", features = ["full"] }
2525

2626
[lints.clippy]

src/rewrite.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ fn unnest_json_calls(func: &ScalarFunction) -> Option<Transformed<Expr>> {
8080
let mut args = inner_func.args.clone();
8181
args.extend(outer_args_iter.cloned());
8282
// See #23, unnest only when all lookup arguments are literals
83-
if args.iter().skip(1).all(|arg| matches!(arg, Expr::Literal(_))) {
83+
if args.iter().skip(1).all(|arg| matches!(arg, Expr::Literal(_, _))) {
8484
Some(Transformed::yes(Expr::ScalarFunction(ScalarFunction {
8585
func: func.func.clone(),
8686
args,
@@ -149,7 +149,7 @@ fn expr_to_sql_repr(expr: &Expr) -> String {
149149
.as_ref()
150150
.map_or_else(|| name.clone(), |r| format!("{r}.{name}")),
151151
Expr::Alias(alias) => alias.name.clone(),
152-
Expr::Literal(scalar) => match scalar {
152+
Expr::Literal(scalar, _) => match scalar {
153153
ScalarValue::Utf8(Some(v)) | ScalarValue::Utf8View(Some(v)) | ScalarValue::LargeUtf8(Some(v)) => {
154154
format!("'{v}'")
155155
}

tests/main.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,13 @@ fn test_json_get_utf8() {
503503
let ColumnarValue::Scalar(sv) = json_get_str
504504
.invoke_with_args(ScalarFunctionArgs {
505505
args: args.to_vec(),
506+
arg_fields: vec![
507+
Arc::new(Field::new("arg_1", DataType::LargeUtf8, false)),
508+
Arc::new(Field::new("arg_2", DataType::LargeUtf8, false)),
509+
Arc::new(Field::new("arg_3", DataType::LargeUtf8, false)),
510+
],
506511
number_rows: 1,
507-
return_type: &DataType::Utf8,
512+
return_field: Arc::new(Field::new("ret_field", DataType::Utf8, false)),
508513
})
509514
.unwrap()
510515
else {
@@ -528,8 +533,13 @@ fn test_json_get_large_utf8() {
528533
let ColumnarValue::Scalar(sv) = json_get_str
529534
.invoke_with_args(ScalarFunctionArgs {
530535
args: args.to_vec(),
536+
arg_fields: vec![
537+
Arc::new(Field::new("arg_1", DataType::LargeUtf8, false)),
538+
Arc::new(Field::new("arg_2", DataType::LargeUtf8, false)),
539+
Arc::new(Field::new("arg_3", DataType::LargeUtf8, false)),
540+
],
531541
number_rows: 1,
532-
return_type: &DataType::LargeUtf8,
542+
return_field: Arc::new(Field::new("ret_field", DataType::Utf8, false)),
533543
})
534544
.unwrap()
535545
else {

0 commit comments

Comments
 (0)