Deploying to gh-pages from @ GreptimeTeam/greptimedb@0572a680af 🚀

This commit is contained in:
github-merge-queue[bot]
2026-03-13 04:38:03 +00:00
commit 2c331a8643
20983 changed files with 2440968 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="first see the aggr node in expr as it could be nested aggr like alias(aggr(sort)) if contained aggr expr have a order by, and the aggr name match the regex then we need to fix the ordering field of the state udaf to be the same as the aggr expr"><title>rewrite_expr in common_function::aggrs::aggr_wrapper::fix_order - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../../" data-static-root-path="../../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">rewrite_expr</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In common_<wbr>function::<wbr>aggrs::<wbr>aggr_<wbr>wrapper::<wbr>fix_<wbr>order</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../../index.html">common_function</a>::<wbr><a href="../../index.html">aggrs</a>::<wbr><a href="../index.html">aggr_wrapper</a>::<wbr><a href="index.html">fix_order</a></div><h1>Function <span class="fn">rewrite_<wbr>expr</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../../src/common_function/aggrs/aggr_wrapper/fix_order.rs.html#135-189">Source</a> </span></div><pre class="rust item-decl"><code>fn rewrite_expr(
expr: Expr,
aggregate_input: &amp;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;LogicalPlan&gt;,
is_fix: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>,
) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Transformed&lt;Expr&gt;, DataFusionError&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>first see the aggr node in expr
as it could be nested aggr like alias(aggr(sort))
if contained aggr expr have a order by, and the aggr name match the regex
then we need to fix the ordering field of the state udaf
to be the same as the aggr expr</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,7 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `fix_order` mod in crate `common_function`."><title>common_function::aggrs::aggr_wrapper::fix_order - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../../" data-static-root-path="../../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module fix_order</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module fix_<wbr>order</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In common_<wbr>function::<wbr>aggrs::<wbr>aggr_<wbr>wrapper</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../../index.html">common_function</a>::<wbr><a href="../../index.html">aggrs</a>::<wbr><a href="../index.html">aggr_wrapper</a></div><h1>Module <span>fix_<wbr>order</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../../src/common_function/aggrs/aggr_wrapper/fix_order.rs.html#15-189">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.FixOrderingRewriter.html" title="struct common_function::aggrs::aggr_wrapper::fix_order::FixOrderingRewriter">FixOrdering<wbr>Rewriter</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dt><a class="struct" href="struct.FixStateUdafOrderingAnalyzer.html" title="struct common_function::aggrs::aggr_wrapper::fix_order::FixStateUdafOrderingAnalyzer">FixState<wbr>Udaf<wbr>Ordering<wbr>Analyzer</a></dt><dd>Traverse the plan, found all <code>__&lt;aggr_name&gt;_state</code> and fix their ordering fields
if their input aggr is with order by, this is currently only useful for <code>first_value</code> and <code>last_value</code> udaf</dd><dt><a class="struct" href="struct.UnFixStateUdafOrderingAnalyzer.html" title="struct common_function::aggrs::aggr_wrapper::fix_order::UnFixStateUdafOrderingAnalyzer">UnFix<wbr>State<wbr>Udaf<wbr>Ordering<wbr>Analyzer</a></dt><dd>Traverse the plan, found all <code>__&lt;aggr_name&gt;_state</code> and remove their ordering fields
this is currently only useful for <code>first_value</code> and <code>last_value</code> udaf when need to encode to substrait</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.rewrite_expr.html" title="fn common_function::aggrs::aggr_wrapper::fix_order::rewrite_expr">rewrite_<wbr>expr</a><span title="Restricted Visibility">&nbsp;🔒</span> </dt><dd>first see the aggr node in expr
as it could be nested aggr like alias(aggr(sort))
if contained aggr expr have a order by, and the aggr name match the regex
then we need to fix the ordering field of the state udaf
to be the same as the aggr expr</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"fn":["rewrite_expr"],"struct":["FixOrderingRewriter","FixStateUdafOrderingAnalyzer","UnFixStateUdafOrderingAnalyzer"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns the name of the merge function for the given aggregate function name. The merge function is used to merge the states of the state functions. The merge functions name is in the format `__&#60;aggr_name&#62;_merge"><title>aggr_merge_func_name in common_function::aggrs::aggr_wrapper - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">aggr_merge_func_name</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In common_<wbr>function::<wbr>aggrs::<wbr>aggr_<wbr>wrapper</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">common_function</a>::<wbr><a href="../index.html">aggrs</a>::<wbr><a href="index.html">aggr_wrapper</a></div><h1>Function <span class="fn">aggr_<wbr>merge_<wbr>func_<wbr>name</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/common_function/aggrs/aggr_wrapper.rs.html#64-66">Source</a> </span></div><pre class="rust item-decl"><code>pub fn aggr_merge_func_name(aggr_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns the name of the merge function for the given aggregate function name.
The merge function is used to merge the states of the state functions.
The merge functions name is in the format `__&lt;aggr_name&gt;_merge</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,4 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Returns the name of the state function for the given aggregate function name. The state function is used to compute the state of the aggregate function. The state functions name is in the format `__&#60;aggr_name&#62;_state"><title>aggr_state_func_name in common_function::aggrs::aggr_wrapper - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">aggr_state_func_name</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In common_<wbr>function::<wbr>aggrs::<wbr>aggr_<wbr>wrapper</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">common_function</a>::<wbr><a href="../index.html">aggrs</a>::<wbr><a href="index.html">aggr_wrapper</a></div><h1>Function <span class="fn">aggr_<wbr>state_<wbr>func_<wbr>name</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/common_function/aggrs/aggr_wrapper.rs.html#57-59">Source</a> </span></div><pre class="rust item-decl"><code>pub fn aggr_state_func_name(aggr_name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Returns the name of the state function for the given aggregate function name.
The state function is used to compute the state of the aggregate function.
The state functions name is in the format `__&lt;aggr_name&gt;_state</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `get_aggr_func` fn in crate `common_function`."><title>get_aggr_func in common_function::aggrs::aggr_wrapper - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">get_aggr_func</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In common_<wbr>function::<wbr>aggrs::<wbr>aggr_<wbr>wrapper</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">common_function</a>::<wbr><a href="../index.html">aggrs</a>::<wbr><a href="index.html">aggr_wrapper</a></div><h1>Function <span class="fn">get_<wbr>aggr_<wbr>func</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/common_function/aggrs/aggr_wrapper.rs.html#89-99">Source</a> </span></div><pre class="rust item-decl"><code>pub fn get_aggr_func(expr: &amp;Expr) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;AggregateFunction&gt;</code></pre></section></div></main></body></html>

View File

@@ -0,0 +1,5 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Check if the given aggregate expression is steppable. As in if it can be split into multiple steps: i.e. on datanode first call `state(input)` then on frontend call `calc(merge(state))` to get the final result."><title>is_all_aggr_exprs_steppable in common_function::aggrs::aggr_wrapper - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">is_all_aggr_exprs_steppable</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In common_<wbr>function::<wbr>aggrs::<wbr>aggr_<wbr>wrapper</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">common_function</a>::<wbr><a href="../index.html">aggrs</a>::<wbr><a href="index.html">aggr_wrapper</a></div><h1>Function <span class="fn">is_<wbr>all_<wbr>aggr_<wbr>exprs_<wbr>steppable</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/common_function/aggrs/aggr_wrapper.rs.html#72-87">Source</a> </span></div><pre class="rust item-decl"><code>pub fn is_all_aggr_exprs_steppable(aggr_exprs: &amp;[Expr]) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a></code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Check if the given aggregate expression is steppable.
As in if it can be split into multiple steps:
i.e. on datanode first call <code>state(input)</code> then
on frontend call <code>calc(merge(state))</code> to get the final result.</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,18 @@
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Wrapper for making aggregate functions out of state/merge functions of original aggregate functions."><title>common_function::aggrs::aggr_wrapper - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-e56847b5.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="common_function" data-themes="" data-resource-suffix="" data-rustdoc-version="1.92.0-nightly (fa3155a64 2025-09-30)" data-channel="nightly" data-search-js="search-e256b49e.js" data-stringdex-js="stringdex-828709d0.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-ce535bd0.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-263c88ec.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module aggr_wrapper</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../common_function/index.html">common_<wbr>function</a><span class="version">1.0.0-rc.2</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module aggr_<wbr>wrapper</a></h2><h3><a href="#modules">Module Items</a></h3><ul class="block"><li><a href="#modules" title="Modules">Modules</a></li><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In common_<wbr>function::<wbr>aggrs</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">common_function</a>::<wbr><a href="../index.html">aggrs</a></div><h1>Module <span>aggr_<wbr>wrapper</span>&nbsp;<button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/common_function/aggrs/aggr_wrapper.rs.html#15-742">Source</a> </span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Wrapper for making aggregate functions out of state/merge functions of original aggregate functions.</p>
<p>i.e. for a aggregate function <code>foo</code>, we will have a state function <code>foo_state</code> and a merge function <code>foo_merge</code>.</p>
<p><code>foo_state</code>s input args is the same as <code>foo</code>s, and its output is a state object.
Note that <code>foo_state</code> might have multiple output columns, so its a struct array
that each output column is a struct field.
<code>foo_merge</code>s input arg is the same as <code>foo_state</code>s output, and its output is the same as <code>foo</code>s input.</p>
</div></details><h2 id="modules" class="section-header">Modules<a href="#modules" class="anchor">§</a></h2><dl class="item-table"><dt><a class="mod" href="fix_order/index.html" title="mod common_function::aggrs::aggr_wrapper::fix_order">fix_<wbr>order</a></dt></dl><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.MergeAccum.html" title="struct common_function::aggrs::aggr_wrapper::MergeAccum">Merge<wbr>Accum</a></dt><dd>The merge accumulator, which modify <code>update_batch</code>s behavior to accept one struct array which
include the state fields of original aggregate function, and merge said states into original accumulator
the output is the same as original aggregate function</dd><dt><a class="struct" href="struct.MergeWrapper.html" title="struct common_function::aggrs::aggr_wrapper::MergeWrapper">Merge<wbr>Wrapper</a></dt><dd>TODO(discord9): mark this function as non-ser/de able</dd><dt><a class="struct" href="struct.StateAccum.html" title="struct common_function::aggrs::aggr_wrapper::StateAccum">State<wbr>Accum</a></dt><dd>The wrappers input is the same as the original aggregate functions input,
and the output is the state functions output.</dd><dt><a class="struct" href="struct.StateMergeHelper.html" title="struct common_function::aggrs::aggr_wrapper::StateMergeHelper">State<wbr>Merge<wbr>Helper</a></dt><dd>A wrapper to make an aggregate function out of the state and merge functions of the original aggregate function.
It contains the original aggregate function, the state functions, and the merge function.</dd><dt><a class="struct" href="struct.StateWrapper.html" title="struct common_function::aggrs::aggr_wrapper::StateWrapper">State<wbr>Wrapper</a></dt><dd>Wrapper to make an aggregate function out of a state function.</dd><dt><a class="struct" href="struct.StepAggrPlan.html" title="struct common_function::aggrs::aggr_wrapper::StepAggrPlan">Step<wbr>Aggr<wbr>Plan</a></dt><dd>A struct to hold the two aggregate plans, one for the state function(lower) and one for the merge function(upper).</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.aggr_merge_func_name.html" title="fn common_function::aggrs::aggr_wrapper::aggr_merge_func_name">aggr_<wbr>merge_<wbr>func_<wbr>name</a></dt><dd>Returns the name of the merge function for the given aggregate function name.
The merge function is used to merge the states of the state functions.
The merge functions name is in the format `__&lt;aggr_name&gt;_merge</dd><dt><a class="fn" href="fn.aggr_state_func_name.html" title="fn common_function::aggrs::aggr_wrapper::aggr_state_func_name">aggr_<wbr>state_<wbr>func_<wbr>name</a></dt><dd>Returns the name of the state function for the given aggregate function name.
The state function is used to compute the state of the aggregate function.
The state functions name is in the format `__&lt;aggr_name&gt;_state</dd><dt><a class="fn" href="fn.get_aggr_func.html" title="fn common_function::aggrs::aggr_wrapper::get_aggr_func">get_<wbr>aggr_<wbr>func</a></dt><dt><a class="fn" href="fn.is_all_aggr_exprs_steppable.html" title="fn common_function::aggrs::aggr_wrapper::is_all_aggr_exprs_steppable">is_<wbr>all_<wbr>aggr_<wbr>exprs_<wbr>steppable</a></dt><dd>Check if the given aggregate expression is steppable.
As in if it can be split into multiple steps:
i.e. on datanode first call <code>state(input)</code> then
on frontend call <code>calc(merge(state))</code> to get the final result.</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"fn":["aggr_merge_func_name","aggr_state_func_name","get_aggr_func","is_all_aggr_exprs_steppable"],"mod":["fix_order"],"struct":["MergeAccum","MergeWrapper","StateAccum","StateMergeHelper","StateWrapper","StepAggrPlan"]};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long