This is an automated email from the ASF dual-hosted git repository.
alamb pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 08fff2dc9f Minor: Add example with parameters to LogicalPlan (#8418)
08fff2dc9f is described below
commit 08fff2dc9fd4aa4eafe5cd69f84a41c3ed338f1b
Author: Andrew Lamb <[email protected]>
AuthorDate: Mon Dec 4 20:25:51 2023 -0500
Minor: Add example with parameters to LogicalPlan (#8418)
---
datafusion/expr/src/logical_plan/plan.rs | 31 +++++++++++++++++++++++++------
1 file changed, 25 insertions(+), 6 deletions(-)
diff --git a/datafusion/expr/src/logical_plan/plan.rs
b/datafusion/expr/src/logical_plan/plan.rs
index fc8590294f..2988e7536b 100644
--- a/datafusion/expr/src/logical_plan/plan.rs
+++ b/datafusion/expr/src/logical_plan/plan.rs
@@ -976,9 +976,10 @@ impl LogicalPlan {
/// .filter(col("id").eq(placeholder("$1"))).unwrap()
/// .build().unwrap();
///
- /// assert_eq!("Filter: t1.id = $1\
- /// \n TableScan: t1",
- /// plan.display_indent().to_string()
+ /// assert_eq!(
+ /// "Filter: t1.id = $1\
+ /// \n TableScan: t1",
+ /// plan.display_indent().to_string()
/// );
///
/// // Fill in the parameter $1 with a literal 3
@@ -986,10 +987,28 @@ impl LogicalPlan {
/// ScalarValue::from(3i32) // value at index 0 --> $1
/// ]).unwrap();
///
- /// assert_eq!("Filter: t1.id = Int32(3)\
- /// \n TableScan: t1",
- /// plan.display_indent().to_string()
+ /// assert_eq!(
+ /// "Filter: t1.id = Int32(3)\
+ /// \n TableScan: t1",
+ /// plan.display_indent().to_string()
/// );
+ ///
+ /// // Note you can also used named parameters
+ /// // Build SELECT * FROM t1 WHRERE id = $my_param
+ /// let plan = table_scan(Some("t1"), &schema, None).unwrap()
+ /// .filter(col("id").eq(placeholder("$my_param"))).unwrap()
+ /// .build().unwrap()
+ /// // Fill in the parameter $my_param with a literal 3
+ /// .with_param_values(vec![
+ /// ("my_param", ScalarValue::from(3i32)),
+ /// ]).unwrap();
+ ///
+ /// assert_eq!(
+ /// "Filter: t1.id = Int32(3)\
+ /// \n TableScan: t1",
+ /// plan.display_indent().to_string()
+ /// );
+ ///
/// ```
pub fn with_param_values(
self,