You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by li...@apache.org on 2024/09/02 01:31:23 UTC
(datafusion) branch main updated: Avoid unnecessary move when setting SessionConfig (#12260)
This is an automated email from the ASF dual-hosted git repository.
linwei pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new d86b7f968d Avoid unnecessary move when setting SessionConfig (#12260)
d86b7f968d is described below
commit d86b7f968d55a25326d56d80f0cdd17d6a81c748
Author: Piotr Findeisen <pi...@gmail.com>
AuthorDate: Mon Sep 2 03:31:19 2024 +0200
Avoid unnecessary move when setting SessionConfig (#12260)
---
datafusion/common/src/config.rs | 2 +-
datafusion/core/src/dataframe/mod.rs | 8 +++++---
datafusion/core/src/dataframe/parquet.rs | 2 +-
datafusion/core/src/datasource/listing/table.rs | 4 ++--
datafusion/core/src/execution/context/parquet.rs | 2 +-
datafusion/execution/src/config.rs | 6 +++---
datafusion/physical-plan/src/aggregates/mod.rs | 8 ++++----
7 files changed, 17 insertions(+), 15 deletions(-)
diff --git a/datafusion/common/src/config.rs b/datafusion/common/src/config.rs
index 37d26c6f00..4a0c61910b 100644
--- a/datafusion/common/src/config.rs
+++ b/datafusion/common/src/config.rs
@@ -781,7 +781,7 @@ impl ConfigOptions {
///
/// Only the built-in configurations will be extracted from the hash map
/// and other key value pairs will be ignored.
- pub fn from_string_hash_map(settings: HashMap<String, String>) -> Result<Self> {
+ pub fn from_string_hash_map(settings: &HashMap<String, String>) -> Result<Self> {
struct Visitor(Vec<String>);
impl Visit for Visitor {
diff --git a/datafusion/core/src/dataframe/mod.rs b/datafusion/core/src/dataframe/mod.rs
index 5dbeb535a5..b8c0bd9d74 100644
--- a/datafusion/core/src/dataframe/mod.rs
+++ b/datafusion/core/src/dataframe/mod.rs
@@ -3277,7 +3277,7 @@ mod tests {
#[tokio::test]
async fn with_column_renamed_case_sensitive() -> Result<()> {
let config =
- SessionConfig::from_string_hash_map(std::collections::HashMap::from([(
+ SessionConfig::from_string_hash_map(&std::collections::HashMap::from([(
"datafusion.sql_parser.enable_ident_normalization".to_owned(),
"false".to_owned(),
)]))?;
@@ -3713,8 +3713,10 @@ mod tests {
// Test issue: https://github.com/apache/datafusion/issues/12065
#[tokio::test]
async fn filtered_aggr_with_param_values() -> Result<()> {
- let cfg = SessionConfig::new()
- .set("datafusion.sql_parser.dialect", "PostgreSQL".into());
+ let cfg = SessionConfig::new().set(
+ "datafusion.sql_parser.dialect",
+ &ScalarValue::from("PostgreSQL"),
+ );
let ctx = SessionContext::new_with_config(cfg);
register_aggregate_csv(&ctx, "table1").await?;
diff --git a/datafusion/core/src/dataframe/parquet.rs b/datafusion/core/src/dataframe/parquet.rs
index 2a23f045f3..66974e37f4 100644
--- a/datafusion/core/src/dataframe/parquet.rs
+++ b/datafusion/core/src/dataframe/parquet.rs
@@ -190,7 +190,7 @@ mod tests {
// This test verifies writing a parquet file with small rg size
// relative to datafusion.execution.batch_size does not panic
let ctx = SessionContext::new_with_config(SessionConfig::from_string_hash_map(
- HashMap::from_iter(
+ &HashMap::from_iter(
[("datafusion.execution.batch_size", "10")]
.iter()
.map(|(s1, s2)| (s1.to_string(), s2.to_string())),
diff --git a/datafusion/core/src/datasource/listing/table.rs b/datafusion/core/src/datasource/listing/table.rs
index 1f5fa738b2..35286612a8 100644
--- a/datafusion/core/src/datasource/listing/table.rs
+++ b/datafusion/core/src/datasource/listing/table.rs
@@ -1781,7 +1781,7 @@ mod tests {
// Create the initial context, schema, and batch.
let session_ctx = match session_config_map {
Some(cfg) => {
- let config = SessionConfig::from_string_hash_map(cfg)?;
+ let config = SessionConfig::from_string_hash_map(&cfg)?;
SessionContext::new_with_config(config)
}
None => SessionContext::new(),
@@ -1979,7 +1979,7 @@ mod tests {
// Create the initial context
let session_ctx = match session_config_map {
Some(cfg) => {
- let config = SessionConfig::from_string_hash_map(cfg)?;
+ let config = SessionConfig::from_string_hash_map(&cfg)?;
SessionContext::new_with_config(config)
}
None => SessionContext::new(),
diff --git a/datafusion/core/src/execution/context/parquet.rs b/datafusion/core/src/execution/context/parquet.rs
index fef20df6e6..1d83c968c1 100644
--- a/datafusion/core/src/execution/context/parquet.rs
+++ b/datafusion/core/src/execution/context/parquet.rs
@@ -106,7 +106,7 @@ mod tests {
#[tokio::test]
async fn read_with_glob_path_issue_2465() -> Result<()> {
let config =
- SessionConfig::from_string_hash_map(std::collections::HashMap::from([(
+ SessionConfig::from_string_hash_map(&std::collections::HashMap::from([(
"datafusion.execution.listing_table_ignore_subdirectory".to_owned(),
"false".to_owned(),
)]))?;
diff --git a/datafusion/execution/src/config.rs b/datafusion/execution/src/config.rs
index 7f872db049..c2b1f9e741 100644
--- a/datafusion/execution/src/config.rs
+++ b/datafusion/execution/src/config.rs
@@ -48,7 +48,7 @@ use datafusion_common::{
/// use datafusion_common::ScalarValue;
///
/// let config = SessionConfig::new()
-/// .set("datafusion.execution.batch_size", ScalarValue::UInt64(Some(1234)))
+/// .set("datafusion.execution.batch_size", &ScalarValue::UInt64(Some(1234)))
/// .set_bool("datafusion.execution.parquet.pushdown_filters", true);
///
/// assert_eq!(config.batch_size(), 1234);
@@ -123,7 +123,7 @@ impl SessionConfig {
}
/// Create new ConfigOptions struct, taking values from a string hash map.
- pub fn from_string_hash_map(settings: HashMap<String, String>) -> Result<Self> {
+ pub fn from_string_hash_map(settings: &HashMap<String, String>) -> Result<Self> {
Ok(ConfigOptions::from_string_hash_map(settings)?.into())
}
@@ -157,7 +157,7 @@ impl SessionConfig {
}
/// Set a configuration option
- pub fn set(self, key: &str, value: ScalarValue) -> Self {
+ pub fn set(self, key: &str, value: &ScalarValue) -> Self {
self.set_str(key, &value.to_string())
}
diff --git a/datafusion/physical-plan/src/aggregates/mod.rs b/datafusion/physical-plan/src/aggregates/mod.rs
index 2f974f1ef4..161ffb6c65 100644
--- a/datafusion/physical-plan/src/aggregates/mod.rs
+++ b/datafusion/physical-plan/src/aggregates/mod.rs
@@ -2373,11 +2373,11 @@ mod tests {
let mut session_config = SessionConfig::default();
session_config = session_config.set(
"datafusion.execution.skip_partial_aggregation_probe_rows_threshold",
- ScalarValue::Int64(Some(2)),
+ &ScalarValue::Int64(Some(2)),
);
session_config = session_config.set(
"datafusion.execution.skip_partial_aggregation_probe_ratio_threshold",
- ScalarValue::Float64(Some(0.1)),
+ &ScalarValue::Float64(Some(0.1)),
);
let ctx = TaskContext::default().with_session_config(session_config);
@@ -2462,11 +2462,11 @@ mod tests {
let mut session_config = SessionConfig::default();
session_config = session_config.set(
"datafusion.execution.skip_partial_aggregation_probe_rows_threshold",
- ScalarValue::Int64(Some(5)),
+ &ScalarValue::Int64(Some(5)),
);
session_config = session_config.set(
"datafusion.execution.skip_partial_aggregation_probe_ratio_threshold",
- ScalarValue::Float64(Some(0.1)),
+ &ScalarValue::Float64(Some(0.1)),
);
let ctx = TaskContext::default().with_session_config(session_config);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org