Skip to content

Commit da02dcd

Browse files
committed
feat: use AsyncScalarUDFImpl instead of ScalarUDFImpl
1 parent 854ce39 commit da02dcd

File tree

5 files changed

+10
-5
lines changed

5 files changed

+10
-5
lines changed

host/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,11 @@ impl AsyncScalarUDFImpl for WasmScalarUdf {
496496
let columnar_value: ColumnarValue = return_type.try_into()?;
497497
match columnar_value {
498498
ColumnarValue::Array(v) => Ok(v),
499+
<<<<<<< HEAD
499500
ColumnarValue::Scalar(v) => v.to_array_of_size(args.number_rows as usize),
501+
=======
502+
ColumnarValue::Scalar(v) => v.to_array_of_size(1),
503+
>>>>>>> c980278 (feat: use AsyncScalarUDFImpl instead of ScalarUDFImpl)
500504
}
501505
}
502506
}

host/tests/integration_tests/python/runtime/http.rs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,7 @@ use tokio::runtime::Handle;
1717
use wasmtime_wasi_http::types::DEFAULT_FORBIDDEN_HEADERS;
1818
use wiremock::{Mock, MockServer, ResponseTemplate, matchers};
1919

20-
use crate::integration_tests::{
21-
python::test_utils::{python_component, python_scalar_udf},
22-
test_utils::ColumnarValueExt,
23-
};
20+
use crate::integration_tests::python::test_utils::{python_component, python_scalar_udf};
2421

2522
#[tokio::test(flavor = "multi_thread")]
2623
async fn test_requests_simple() {

host/tests/integration_tests/test_utils.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use arrow::array::ArrayRef;
22
use datafusion_expr::ColumnarValue;
33

44
/// Extension trait for [`ColumnarValue`] for easier testing.
5+
#[expect(dead_code)]
56
pub(crate) trait ColumnarValueExt {
67
/// Extracts [`ColumnarValue::Array`] variant.
78
///

query/src/lib.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
#![allow(unused_crate_dependencies)]
33

44
use std::collections::HashMap;
5+
use std::sync::Arc;
56

67
use datafusion::execution::TaskContext;
78
use datafusion_common::{DataFusionError, Result as DataFusionResult};
9+
use datafusion_expr::async_udf::AsyncScalarUDFImpl;
810
use datafusion_sql::parser::{DFParserBuilder, Statement};
911
use sqlparser::ast::{CreateFunctionBody, Expr, Statement as SqlStatement, Value};
1012
use sqlparser::dialect::dialect_from_str;
@@ -31,7 +33,7 @@ pub struct Lang<'a> {
3133
#[derive(Debug)]
3234
pub struct ParsedQuery {
3335
/// Extracted UDFs from the query
34-
pub udfs: Vec<WasmScalarUdf>,
36+
pub udfs: Vec<Arc<dyn AsyncScalarUDFImpl>>,
3537
/// SQL query string with UDF definitions removed
3638
pub sql: String,
3739
}

query/tests/integration.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ use datafusion_udf_wasm_query::{
2020
use tokio::runtime::Handle;
2121

2222
mod integration_tests;
23+
use datafusion_expr::async_udf::AsyncScalarUDF;
2324

2425
use crate::integration_tests::python::test_utils::python_component;
2526

0 commit comments

Comments
 (0)