melgenek commented on code in PR #5870:
URL: https://github.com/apache/arrow-datafusion/pull/5870#discussion_r1157700483
##########
datafusion/core/tests/sqllogictests/src/engines/datafusion/mod.rs:
##########
@@ -73,12 +72,7 @@ impl sqllogictest::AsyncDB for DataFusion {
}
async fn run_query(ctx: &SessionContext, sql: impl Into<String>) ->
Result<DFOutput> {
- let sql = sql.into();
- // check if the sql is more than one statement
- if let Ok(mut statements) = DFParser::parse_sql(&sql) {
- statements.pop_front().expect("at least one SQL statement");
- }
Review Comment:
This piece was needed to have workarounds for creating tables without
values. It is not needed anymore.
##########
datafusion/core/tests/sqllogictests/src/main.rs:
##########
@@ -33,16 +35,31 @@ mod utils;
const TEST_DIRECTORY: &str = "tests/sqllogictests/test_files/";
const PG_COMPAT_FILE_PREFIX: &str = "pg_compat_";
-#[tokio::main]
#[cfg(target_family = "windows")]
-pub async fn main() -> Result<(), Box<dyn Error>> {
- println!("Skipping test on windows");
- Ok(())
+pub fn main() {
+ // Tests from `tpch.slt` fail with stackoverflow with the default stack
size.
+ thread::Builder::new()
Review Comment:
`tpch.slt` test fails with stack overflow errors. The stack size on Windows
seems to be 1Mb by default vs 2MB on Linux. I tried debugging what causes the
error, but it seems that the stack is just deep enough due to the recursive
design of the physical planner.
In case somebody with more understanding takes a closer look, I added a
stack trace for the overflow as well as a test to reproduce the issue with unit
tests on any platform here
https://gist.github.com/melgenek/b6acf4467ee10c1941f3b103a17e1b1e.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]