laminar_sql/datafusion/json_extensions/
mod.rs1mod object_ops;
7mod shape_ops;
8
9pub use object_ops::{
10 JsonbDeepMerge, JsonbExcept, JsonbMerge, JsonbPick, JsonbRenameKeys, JsonbStripNulls,
11};
12pub use shape_ops::{JsonInferSchema, JsonToColumns, JsonbFlatten, JsonbUnflatten};
13
14pub fn register_json_extensions(ctx: &datafusion::prelude::SessionContext) {
16 use datafusion_expr::ScalarUDF;
17
18 ctx.register_udf(ScalarUDF::new_from_impl(JsonbMerge::new()));
19 ctx.register_udf(ScalarUDF::new_from_impl(JsonbDeepMerge::new()));
20 ctx.register_udf(ScalarUDF::new_from_impl(JsonbStripNulls::new()));
21 ctx.register_udf(ScalarUDF::new_from_impl(JsonbRenameKeys::new()));
22 ctx.register_udf(ScalarUDF::new_from_impl(JsonbPick::new()));
23 ctx.register_udf(ScalarUDF::new_from_impl(JsonbExcept::new()));
24 ctx.register_udf(ScalarUDF::new_from_impl(JsonbFlatten::new()));
25 ctx.register_udf(ScalarUDF::new_from_impl(JsonbUnflatten::new()));
26 ctx.register_udf(ScalarUDF::new_from_impl(JsonToColumns::new()));
27 ctx.register_udf(ScalarUDF::new_from_impl(JsonInferSchema::new()));
28}
29
30#[cfg(test)]
31mod tests;