This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/asf-site by this push:
new d117033198 Publish built docs triggered by
a7041feff32c2af09854c144a760d945e30fb38a
d117033198 is described below
commit d1170331987fd599b69ad266f2f5f87c2b18bc88
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Sat Jul 13 21:48:21 2024 +0000
Publish built docs triggered by a7041feff32c2af09854c144a760d945e30fb38a
---
_sources/user-guide/crate-configuration.md.txt | 44 +++++++++++++++++++-
searchindex.js | 2 +-
user-guide/crate-configuration.html | 56 +++++++++++++++++++++-----
3 files changed, 91 insertions(+), 11 deletions(-)
diff --git a/_sources/user-guide/crate-configuration.md.txt
b/_sources/user-guide/crate-configuration.md.txt
index 0587d06a39..9d22e34030 100644
--- a/_sources/user-guide/crate-configuration.md.txt
+++ b/_sources/user-guide/crate-configuration.md.txt
@@ -121,7 +121,7 @@ backtrace: 0:
std::backtrace_rs::backtrace::libunwind::trace
The backtraces are useful when debugging code. If there is a test in
`datafusion/core/src/physical_planner.rs`
-```
+```rust
#[tokio::test]
async fn test_get_backtrace_for_failed_code() -> Result<()> {
let ctx = SessionContext::new();
@@ -141,6 +141,48 @@ To obtain a backtrace:
```bash
cargo build --features=backtrace
RUST_BACKTRACE=1 cargo test --features=backtrace --package datafusion --lib --
physical_planner::tests::test_get_backtrace_for_failed_code --exact --nocapture
+
+running 1 test
+Error: Plan("Invalid function 'row_numer'.\nDid you mean
'ROW_NUMBER'?\n\nbacktrace: 0:
std::backtrace_rs::backtrace::libunwind::trace\n at
/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5\n
1: std::backtrace_rs::backtrace::trace_unsynchronized\n...
```
Note: The backtrace wrapped into systems calls, so some steps on top of the
backtrace can be ignored
+
+To show the backtrace in a pretty-printed format use `eprintln!("{e}");`.
+
+```rust
+#[tokio::test]
+async fn test_get_backtrace_for_failed_code() -> Result<()> {
+ let ctx = SessionContext::new();
+
+ let sql = "select row_numer() over (partition by a order by a) from
(select 1 a);";
+
+ let _ = match ctx.sql(sql).await {
+ Ok(result) => result.show().await?,
+ Err(e) => {
+ eprintln!("{e}");
+ }
+ };
+
+ Ok(())
+}
+```
+
+Then run the test:
+
+```bash
+$ RUST_BACKTRACE=1 cargo test --features=backtrace --package datafusion --lib
-- physical_planner::tests::test_get_backtrace_for_failed_code --exact
--nocapture
+
+running 1 test
+Error during planning: Invalid function 'row_numer'.
+Did you mean 'ROW_NUMBER'?
+
+backtrace: 0: std::backtrace_rs::backtrace::libunwind::trace
+ at
/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
+ 1: std::backtrace_rs::backtrace::trace_unsynchronized
+ at
/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+ 2: std::backtrace::Backtrace::create
+ at
/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/backtrace.rs:331:13
+ 3: std::backtrace::Backtrace::capture
+ ...
+```
diff --git a/searchindex.js b/searchindex.js
index 258d13e1b7..efbe9976dc 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!=": [[43, "op-neq"]], "!~": [[43,
"op-re-not-match"]], "!~*": [[43, "op-re-not-match-i"]], "!~~": [[43, "id18"]],
"!~~*": [[43, "id19"]], "#": [[43, "op-bit-xor"]], "%": [[43, "op-modulo"]],
"&": [[43, "op-bit-and"]], "(relation, name) tuples in logical fields and
logical columns are unique": [[9,
"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]], "*":
[[43, "op-multiply"]], "+": [[43, "op-plus"]], "-": [[43, "op-minus"]], "/":
[[4 [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!=": [[43, "op-neq"]], "!~": [[43,
"op-re-not-match"]], "!~*": [[43, "op-re-not-match-i"]], "!~~": [[43, "id18"]],
"!~~*": [[43, "id19"]], "#": [[43, "op-bit-xor"]], "%": [[43, "op-modulo"]],
"&": [[43, "op-bit-and"]], "(relation, name) tuples in logical fields and
logical columns are unique": [[9,
"relation-name-tuples-in-logical-fields-and-logical-columns-are-unique"]], "*":
[[43, "op-multiply"]], "+": [[43, "op-plus"]], "-": [[43, "op-minus"]], "/":
[[4 [...]
\ No newline at end of file
diff --git a/user-guide/crate-configuration.html
b/user-guide/crate-configuration.html
index ff0308b076..ee760293ad 100644
--- a/user-guide/crate-configuration.html
+++ b/user-guide/crate-configuration.html
@@ -618,26 +618,64 @@ backtrace:<span class="w"> </span><span
class="m">0</span>:<span class="w"> <
</pre></div>
</div>
<p>The backtraces are useful when debugging code. If there is a test in <code
class="docutils literal notranslate"><span
class="pre">datafusion/core/src/physical_planner.rs</span></code></p>
-<div class="highlight-default notranslate"><div
class="highlight"><pre><span></span>#[tokio::test]
-async fn test_get_backtrace_for_failed_code() -> Result<()> {
- let ctx = SessionContext::new();
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="cp">#[tokio::test]</span>
+<span class="k">async</span><span class="w"> </span><span
class="k">fn</span><span class="w"> </span><span
class="nf">test_get_backtrace_for_failed_code</span><span
class="p">()</span><span class="w"> </span><span class="p">-></span><span
class="w"> </span><span class="nb">Result</span><span
class="o"><</span><span class="p">()</span><span class="o">></span><span
class="w"> </span><span class="p">{</span>
+<span class="w"> </span><span class="kd">let</span><span class="w">
</span><span class="n">ctx</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">SessionContext</span><span class="p">::</span><span
class="n">new</span><span class="p">();</span>
- let sql = "
- select row_numer() over (partition by a order by a) from (select 1 a);
- ";
+<span class="w"> </span><span class="kd">let</span><span class="w">
</span><span class="n">sql</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="s">"</span>
+<span class="s"> select row_numer() over (partition by a order by a) from
(select 1 a);</span>
+<span class="s"> "</span><span class="p">;</span>
- let _ = ctx.sql(sql).await?.collect().await?;
+<span class="w"> </span><span class="kd">let</span><span class="w">
</span><span class="n">_</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="n">ctx</span><span
class="p">.</span><span class="n">sql</span><span class="p">(</span><span
class="n">sql</span><span class="p">).</span><span class="k">await</span><span
class="o">?</span><span class="p">.</span><span class="n">collect</span><span
class="p">().</span><span class="k">await</span><span c [...]
- Ok(())
-}
+<span class="w"> </span><span class="nb">Ok</span><span
class="p">(())</span>
+<span class="p">}</span>
</pre></div>
</div>
<p>To obtain a backtrace:</p>
<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>cargo<span class="w"> </span>build<span
class="w"> </span>--features<span class="o">=</span>backtrace
<span class="nv">RUST_BACKTRACE</span><span class="o">=</span><span
class="m">1</span><span class="w"> </span>cargo<span class="w"> </span><span
class="nb">test</span><span class="w"> </span>--features<span
class="o">=</span>backtrace<span class="w"> </span>--package<span class="w">
</span>datafusion<span class="w"> </span>--lib<span class="w"> </span>--<span
class="w">
</span>physical_planner::tests::test_get_backtrace_for_failed_code<span
class="w"> </span>--exact<span class="w"> </spa [...]
+
+running<span class="w"> </span><span class="m">1</span><span class="w">
</span><span class="nb">test</span>
+Error:<span class="w"> </span>Plan<span class="o">(</span><span
class="s2">"Invalid function 'row_numer'.\nDid you mean
'ROW_NUMBER'?\n\nbacktrace: 0:
std::backtrace_rs::backtrace::libunwind::trace\n at
/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5\n
1: std::backtrace_rs::backtrace::trace_unsynchronized\n...</span>
</pre></div>
</div>
<p>Note: The backtrace wrapped into systems calls, so some steps on top of the
backtrace can be ignored</p>
+<p>To show the backtrace in a pretty-printed format use <code class="docutils
literal notranslate"><span
class="pre">eprintln!("{e}");</span></code>.</p>
+<div class="highlight-rust notranslate"><div
class="highlight"><pre><span></span><span class="cp">#[tokio::test]</span>
+<span class="k">async</span><span class="w"> </span><span
class="k">fn</span><span class="w"> </span><span
class="nf">test_get_backtrace_for_failed_code</span><span
class="p">()</span><span class="w"> </span><span class="p">-></span><span
class="w"> </span><span class="nb">Result</span><span
class="o"><</span><span class="p">()</span><span class="o">></span><span
class="w"> </span><span class="p">{</span>
+<span class="w"> </span><span class="kd">let</span><span class="w">
</span><span class="n">ctx</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="n">SessionContext</span><span class="p">::</span><span
class="n">new</span><span class="p">();</span>
+
+<span class="w"> </span><span class="kd">let</span><span class="w">
</span><span class="n">sql</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="s">"select
row_numer() over (partition by a order by a) from (select 1
a);"</span><span class="p">;</span>
+
+<span class="w"> </span><span class="kd">let</span><span class="w">
</span><span class="n">_</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span class="k">match</span><span
class="w"> </span><span class="n">ctx</span><span class="p">.</span><span
class="n">sql</span><span class="p">(</span><span class="n">sql</span><span
class="p">).</span><span class="k">await</span><span class="w"> </span><span
class="p">{</span>
+<span class="w"> </span><span class="nb">Ok</span><span
class="p">(</span><span class="n">result</span><span class="p">)</span><span
class="w"> </span><span class="o">=></span><span class="w"> </span><span
class="n">result</span><span class="p">.</span><span class="n">show</span><span
class="p">().</span><span class="k">await</span><span class="o">?</span><span
class="p">,</span>
+<span class="w"> </span><span class="nb">Err</span><span
class="p">(</span><span class="n">e</span><span class="p">)</span><span
class="w"> </span><span class="o">=></span><span class="w"> </span><span
class="p">{</span>
+<span class="w"> </span><span class="fm">eprintln!</span><span
class="p">(</span><span class="s">"{e}"</span><span
class="p">);</span>
+<span class="w"> </span><span class="p">}</span>
+<span class="w"> </span><span class="p">};</span>
+
+<span class="w"> </span><span class="nb">Ok</span><span
class="p">(())</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Then run the test:</p>
+<div class="highlight-bash notranslate"><div
class="highlight"><pre><span></span>$<span class="w"> </span><span
class="nv">RUST_BACKTRACE</span><span class="o">=</span><span
class="m">1</span><span class="w"> </span>cargo<span class="w"> </span><span
class="nb">test</span><span class="w"> </span>--features<span
class="o">=</span>backtrace<span class="w"> </span>--package<span class="w">
</span>datafusion<span class="w"> </span>--lib<span class="w"> </span>--<span
class="w"> </span>physic [...]
+
+running<span class="w"> </span><span class="m">1</span><span class="w">
</span><span class="nb">test</span>
+Error<span class="w"> </span>during<span class="w"> </span>planning:<span
class="w"> </span>Invalid<span class="w"> </span><span
class="k">function</span><span class="w"> </span><span
class="s1">'row_numer'</span>.
+Did<span class="w"> </span>you<span class="w"> </span>mean<span class="w">
</span><span class="s1">'ROW_NUMBER'</span>?
+
+backtrace:<span class="w"> </span><span class="m">0</span>:<span class="w">
</span>std::backtrace_rs::backtrace::libunwind::trace
+<span class="w"> </span>at<span class="w">
</span>/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
+<span class="w"> </span><span class="m">1</span>:<span class="w">
</span>std::backtrace_rs::backtrace::trace_unsynchronized
+<span class="w"> </span>at<span class="w">
</span>/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
+<span class="w"> </span><span class="m">2</span>:<span class="w">
</span>std::backtrace::Backtrace::create
+<span class="w"> </span>at<span class="w">
</span>/rustc/129f3b9964af4d4a709d1383930ade12dfe7c081/library/std/src/backtrace.rs:331:13
+<span class="w"> </span><span class="m">3</span>:<span class="w">
</span>std::backtrace::Backtrace::capture
+<span class="w"> </span>...
+</pre></div>
+</div>
</section>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]