@@ -25,10 +25,11 @@ Even [`more code examples`](../../../datafusion-examples) attached to the projec
25
25
26
26
## Update ` Cargo.toml `
27
27
28
- Add the following to your ` Cargo.toml ` file:
28
+ Find latest available Datafusion version on [ DataFusion's
29
+ crates.io] page. Add the dependency to your ` Cargo.toml ` file:
29
30
30
31
``` toml
31
- datafusion = " 26 "
32
+ datafusion = " 31 "
32
33
tokio = " 1.0"
33
34
```
34
35
@@ -232,3 +233,37 @@ with `native` or at least `avx2`.
232
233
``` shell
233
234
RUSTFLAGS=' -C target-cpu=native' cargo +nightly run --release
234
235
```
236
+
237
+ ## Enable backtraces
238
+
239
+ By default Datafusion returns errors as a plain message. There is option to enable more verbose details about the error,
240
+ like error backtrace. To enable a backtrace you need to add Datafusion ` backtrace ` feature to your ` Cargo.toml ` file:
241
+
242
+ ``` toml
243
+ datafusion = { version = " 31.0.0" , features = [" backtrace" ]}
244
+ ```
245
+
246
+ Set environment [ ` variables ` ] https://doc.rust-lang.org/std/backtrace/index.html#environment-variables
247
+
248
+ ``` bash
249
+ RUST_BACKTRACE=1 ./target/debug/datafusion-cli
250
+ DataFusion CLI v31.0.0
251
+ ❯ select row_numer() over (partition by a order by a) from (select 1 a);
252
+ Error during planning: Invalid function 'row_numer'.
253
+ Did you mean ' ROW_NUMBER' ?
254
+
255
+ backtrace: 0: std::backtrace_rs::backtrace::libunwind::trace
256
+ at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
257
+ 1: std::backtrace_rs::backtrace::trace_unsynchronized
258
+ at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
259
+ 2: std::backtrace::Backtrace::create
260
+ at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/backtrace.rs:332:13
261
+ 3: std::backtrace::Backtrace::capture
262
+ at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/backtrace.rs:298:9
263
+ 4: datafusion_common::error::DataFusionError::get_back_trace
264
+ at /arrow-datafusion/datafusion/common/src/error.rs:436:30
265
+ 5: datafusion_sql::expr::function::< impl datafusion_sql::planner::SqlToRel< S>> ::sql_function_to_expr
266
+ ............
267
+ ` ` `
268
+
269
+ Note: The backtrace wrapped into systems calls, so some steps on top of the backtrace can be ignored
0 commit comments