This is an automated email from the ASF dual-hosted git repository.
jakevin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git
The following commit(s) were added to refs/heads/master by this push:
new 8a262c3ec fix: correct expected error in test (#5224)
8a262c3ec is described below
commit 8a262c3ec0a100607ae97641d7a374c847a71f20
Author: jakevin <[email protected]>
AuthorDate: Fri Feb 10 16:47:12 2023 +0800
fix: correct expected error in test (#5224)
* fix: fix expect error in test `cast_string_to_time`
* fix: fix expect error in test `in_list_types_struct_literal`
* bugfix: fix error when `get_coerced_window_frame` meet `utf8`
---
datafusion/core/src/physical_plan/planner.rs | 10 +++++++---
datafusion/core/tests/sql/timestamp.rs | 15 ++++++++++++---
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/datafusion/core/src/physical_plan/planner.rs
b/datafusion/core/src/physical_plan/planner.rs
index 65b4a6ed4..b6269a560 100644
--- a/datafusion/core/src/physical_plan/planner.rs
+++ b/datafusion/core/src/physical_plan/planner.rs
@@ -1892,8 +1892,7 @@ mod tests {
fn make_session_state() -> SessionState {
let runtime = Arc::new(RuntimeEnv::default());
let config = SessionConfig::new().with_target_partitions(4);
- // TODO we should really test that no optimizer rules are failing here
- // let config =
config.set_bool(crate::config::OPT_OPTIMIZER_SKIP_FAILED_RULES, false);
+ let config = config.set_bool("datafusion.optimizer.skip_failed_rules",
false);
SessionState::with_config_rt(config, runtime)
}
@@ -2191,7 +2190,12 @@ mod tests {
.build()?;
let e = plan(&logical_plan).await.unwrap_err().to_string();
- assert_contains!(&e, "The data type inlist should be same, the value
type is Boolean, one of list expr type is Struct([Field { name: \"foo\",
data_type: Boolean, nullable: false, dict_id: 0, dict_is_ordered: false,
metadata: {} }])");
+ assert_contains!(
+ &e,
+ r#"type_coercion
+caused by
+Internal error: Optimizer rule 'type_coercion' failed due to unexpected error:
Error during planning: Can not find compatible types to compare Boolean with
[Struct([Field { name: "foo", data_type: Boolean, nullable: false, dict_id: 0,
dict_is_ordered: false, metadata: {} }]), Utf8]. This was likely caused by a
bug in DataFusion's code and we would welcome that you file an bug report in
our issue tracker"#
+ );
Ok(())
}
diff --git a/datafusion/core/tests/sql/timestamp.rs
b/datafusion/core/tests/sql/timestamp.rs
index fc9b99f14..128ee1639 100644
--- a/datafusion/core/tests/sql/timestamp.rs
+++ b/datafusion/core/tests/sql/timestamp.rs
@@ -17,6 +17,7 @@
use super::*;
use datafusion::from_slice::FromSlice;
+use datafusion_common::ScalarValue;
use std::ops::Add;
#[tokio::test]
@@ -1046,7 +1047,11 @@ async fn sub_interval_day() -> Result<()> {
#[tokio::test]
async fn cast_string_to_time() {
- let ctx = SessionContext::new();
+ let config = SessionConfig::new().set(
+ "datafusion.optimizer.skip_failed_rules",
+ ScalarValue::Boolean(Some(false)),
+ );
+ let ctx = SessionContext::with_config(config);
let sql = "select \
time '08:09:10.123456789' as time_nano, \
@@ -1070,7 +1075,9 @@ async fn cast_string_to_time() {
let result = try_execute_to_batches(&ctx, sql).await;
assert_eq!(
result.err().unwrap().to_string(),
- "Arrow error: Cast error: Cannot cast string 'not a time' to value of
Time64(Nanosecond) type"
+ "simplify_expressions\ncaused by\nInternal error: Optimizer rule
'simplify_expressions' failed due to unexpected error: \
+ Arrow error: Cast error: Cannot cast string 'not a time' to value of
Time64(Nanosecond) type. \
+ This was likely caused by a bug in DataFusion's code and we would
welcome that you file an bug report in our issue tracker"
);
// An invalid time
@@ -1078,7 +1085,9 @@ async fn cast_string_to_time() {
let result = try_execute_to_batches(&ctx, sql).await;
assert_eq!(
result.err().unwrap().to_string(),
- "Arrow error: Cast error: Cannot cast string '24:01:02' to value of
Time64(Nanosecond) type"
+ "simplify_expressions\ncaused by\nInternal error: Optimizer rule
'simplify_expressions' failed due to unexpected error: \
+ Arrow error: Cast error: Cannot cast string '24:01:02' to value of
Time64(Nanosecond) type. \
+ This was likely caused by a bug in DataFusion's code and we would
welcome that you file an bug report in our issue tracker"
);
}