Deploying to gh-pages from @ GreptimeTeam/greptimedb@fcb77fd025 🚀

This commit is contained in:
github-merge-queue[bot]
2026-05-15 04:01:35 +00:00
commit 290e830bf8
21724 changed files with 2574090 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
<!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="Open a compaction region from a compaction request. Its simple version of RegionOpener::open()."><title>open_compaction_region in mito2::compaction::compactor - 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-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-f7c3ffd8.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"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[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="#">open_compaction_region</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../mito2/index.html">mito2</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>compaction::<wbr>compactor</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" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">mito2</a>::<wbr><a href="../index.html">compaction</a>::<wbr><a href="index.html">compactor</a></div><h1>Function <span class="fn">open_<wbr>compaction_<wbr>region</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/mito2/compaction/compactor.rs.html#123-237">Source</a> </span></div><pre class="rust item-decl"><code>pub async fn open_compaction_region(
req: &amp;<a class="struct" href="struct.OpenCompactionRegionRequest.html" title="struct mito2::compaction::compactor::OpenCompactionRegionRequest">OpenCompactionRegionRequest</a>,
mito_config: &amp;<a class="struct" href="../../config/struct.MitoConfig.html" title="struct mito2::config::MitoConfig">MitoConfig</a>,
object_store_manager: ObjectStoreManagerRef,
ttl_provider: <a class="enum" href="https://docs.rs/either/1/either/enum.Either.html" title="enum either::Either">Either</a>&lt;TimeToLive, SchemaMetadataManagerRef&gt;,
) -&gt; <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>&gt;</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Open a compaction region from a compaction request.
Its simple version of RegionOpener::open().</p>
</div></details></section></div></main></body></html>

View File

@@ -0,0 +1,3 @@
<!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 `compactor` mod in crate `mito2`."><title>mito2::compaction::compactor - 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-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../../static.files/storage-41dd4d93.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-f7c3ffd8.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"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[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 compactor</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../mito2/index.html">mito2</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module compactor</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="#traits" title="Traits">Traits</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In mito2::<wbr>compaction</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" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">mito2</a>::<wbr><a href="../index.html">compaction</a></div><h1>Module <span>compactor</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/mito2/compaction/compactor.rs.html#15-953">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.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">Compaction<wbr>Region</a></dt><dd>CompactionRegion represents a region that needs to be compacted.
Its the subset of MitoRegion.</dd><dt><a class="struct" href="struct.CompactionVersion.html" title="struct mito2::compaction::compactor::CompactionVersion">Compaction<wbr>Version</a></dt><dd>Region version for compaction that does not hold memtables.</dd><dt><a class="struct" href="struct.DefaultCompactor.html" title="struct mito2::compaction::compactor::DefaultCompactor">Default<wbr>Compactor</a></dt><dd>DefaultCompactor is the default implementation of Compactor.</dd><dt><a class="struct" href="struct.DefaultSstMerger.html" title="struct mito2::compaction::compactor::DefaultSstMerger">Default<wbr>SstMerger</a></dt><dd>The production <a href="trait.SstMerger.html" title="trait mito2::compaction::compactor::SstMerger"><code>SstMerger</code></a> that reads, merges, and writes SST files.</dd><dt><a class="struct" href="struct.MergeOutput.html" title="struct mito2::compaction::compactor::MergeOutput">Merge<wbr>Output</a></dt><dd><code>[MergeOutput]</code> represents the output of merging SST files.</dd><dt><a class="struct" href="struct.OpenCompactionRegionRequest.html" title="struct mito2::compaction::compactor::OpenCompactionRegionRequest">Open<wbr>Compaction<wbr>Region<wbr>Request</a></dt><dd>OpenCompactionRegionRequest represents the request to open a compaction region.</dd></dl><h2 id="traits" class="section-header">Traits<a href="#traits" class="anchor">§</a></h2><dl class="item-table"><dt><a class="trait" href="trait.Compactor.html" title="trait mito2::compaction::compactor::Compactor">Compactor</a></dt><dd>Compactor is the trait that defines the compaction logic.</dd><dt><a class="trait" href="trait.SstMerger.html" title="trait mito2::compaction::compactor::SstMerger">SstMerger</a></dt><dd>Trait for merging a single compaction output into SST files.</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.open_compaction_region.html" title="fn mito2::compaction::compactor::open_compaction_region">open_<wbr>compaction_<wbr>region</a></dt><dd>Open a compaction region from a compaction request.
Its simple version of RegionOpener::open().</dd></dl></section></div></main></body></html>

View File

@@ -0,0 +1 @@
window.SIDEBAR_ITEMS = {"fn":["open_compaction_region"],"struct":["CompactionRegion","CompactionVersion","DefaultCompactor","DefaultSstMerger","MergeOutput","OpenCompactionRegionRequest"],"trait":["Compactor","SstMerger"]};

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

View File

@@ -0,0 +1,40 @@
<!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="Compactor is the trait that defines the compaction logic."><title>Compactor in mito2::compaction::compactor - 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-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-f7c3ffd8.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 trait"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[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="#">Compactor</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../mito2/index.html">mito2</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Compactor</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.merge_ssts" title="merge_ssts">merge_ssts</a></li><li><a href="#tymethod.update_manifest" title="update_manifest">update_manifest</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>compaction::<wbr>compactor</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" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">mito2</a>::<wbr><a href="../index.html">compaction</a>::<wbr><a href="index.html">compactor</a></div><h1>Trait <span class="trait">Compactor</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/mito2/compaction/compactor.rs.html#279-293">Source</a> </span></div><pre class="rust item-decl"><code>pub trait Compactor:
<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>
+ 'static {
// Required methods
fn <a href="#tymethod.merge_ssts" class="fn">merge_ssts</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
compaction_region: &amp;'life1 <a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>,
picker_output: <a class="struct" href="../picker/struct.PickerOutput.html" title="struct mito2::compaction::picker::PickerOutput">PickerOutput</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="struct.MergeOutput.html" title="struct mito2::compaction::compactor::MergeOutput">MergeOutput</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
<span class="item-spacer"></span> fn <a href="#tymethod.update_manifest" class="fn">update_manifest</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
compaction_region: &amp;'life1 <a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>,
merge_output: <a class="struct" href="struct.MergeOutput.html" title="struct mito2::compaction::compactor::MergeOutput">MergeOutput</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="../../manifest/action/struct.RegionEdit.html" title="struct mito2::manifest::action::RegionEdit">RegionEdit</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait</span>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Compactor is the trait that defines the compaction logic.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.merge_ssts" class="method"><a class="src rightside" href="../../../src/mito2/compaction/compactor.rs.html#281-285">Source</a><h4 class="code-header">fn <a href="#tymethod.merge_ssts" class="fn">merge_ssts</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
compaction_region: &amp;'life1 <a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>,
picker_output: <a class="struct" href="../picker/struct.PickerOutput.html" title="struct mito2::compaction::picker::PickerOutput">PickerOutput</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="struct.MergeOutput.html" title="struct mito2::compaction::compactor::MergeOutput">MergeOutput</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Merge SST files for a region.</p>
</div></details><details class="toggle method-toggle" open><summary><section id="tymethod.update_manifest" class="method"><a class="src rightside" href="../../../src/mito2/compaction/compactor.rs.html#288-292">Source</a><h4 class="code-header">fn <a href="#tymethod.update_manifest" class="fn">update_manifest</a>&lt;'life0, 'life1, 'async_trait&gt;(
&amp;'life0 self,
compaction_region: &amp;'life1 <a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>,
merge_output: <a class="struct" href="struct.MergeOutput.html" title="struct mito2::compaction::compactor::MergeOutput">MergeOutput</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="../../manifest/action/struct.RegionEdit.html" title="struct mito2::manifest::action::RegionEdit">RegionEdit</a>&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,</div></h4></section></summary><div class="docblock"><p>Update the manifest after merging SST files.</p>
</div></details></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><div class="negative-marker"></div><section id="impl-Compactor-for-DefaultCompactor%3CM%3E" class="impl"><a class="src rightside" href="../../../src/mito2/compaction/compactor.rs.html#477-628">Source</a><a href="#impl-Compactor-for-DefaultCompactor%3CM%3E" class="anchor">§</a><h3 class="code-header">impl&lt;M&gt; <a class="trait" href="trait.Compactor.html" title="trait mito2::compaction::compactor::Compactor">Compactor</a> for <a class="struct" href="struct.DefaultCompactor.html" title="struct mito2::compaction::compactor::DefaultCompactor">DefaultCompactor</a>&lt;M&gt;<div class="where">where
M: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="trait.SstMerger.html" title="trait mito2::compaction::compactor::SstMerger">SstMerger</a>,</div></h3></section></div><script src="../../../trait.impl/mito2/compaction/compactor/trait.Compactor.js" async></script></section></div></main></body></html>

View File

@@ -0,0 +1,24 @@
<!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="Trait for merging a single compaction output into SST files."><title>SstMerger in mito2::compaction::compactor - 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-17e0aaed.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="mito2" data-themes="" data-resource-suffix="" data-rustdoc-version="1.96.0-nightly (ac7f9ec7d 2026-03-20)" data-channel="nightly" data-search-js="search-63369b7b.js" data-stringdex-js="stringdex-2da4960a.js" data-settings-js="settings-170eb4bf.js" ><script src="../../../static.files/storage-41dd4d93.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-5013f961.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-f7c3ffd8.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 trait"><a class="skip-main-content" href="#main-content">Skip to main content</a><!--[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="#">SstMerger</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../mito2/index.html">mito2</a><span class="version">1.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">SstMerger</a></h2><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.merge_single_output" title="merge_single_output">merge_single_output</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><div id="rustdoc-modnav"><h2><a href="index.html">In mito2::<wbr>compaction::<wbr>compactor</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" tabindex="-1"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">mito2</a>::<wbr><a href="../index.html">compaction</a>::<wbr><a href="index.html">compactor</a></div><h1>Trait <span class="trait">SstMerger</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/mito2/compaction/compactor.rs.html#300-307">Source</a> </span></div><pre class="rust item-decl"><code>pub trait SstMerger:
<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>
+ <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>
+ 'static {
// Required method
fn <a href="#tymethod.merge_single_output" class="fn">merge_single_output</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
compaction_region: <a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>,
output: <a class="struct" href="../struct.CompactionOutput.html" title="struct mito2::compaction::CompactionOutput">CompactionOutput</a>,
write_opts: <a class="struct" href="../../sst/parquet/struct.WriteOptions.html" title="struct mito2::sst::parquet::WriteOptions">WriteOptions</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../sst/file/struct.FileMeta.html" title="struct mito2::sst::file::FileMeta">FileMeta</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;
<span class="where">where Self: 'async_trait,
'life0: 'async_trait</span>;
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Trait for merging a single compaction output into SST files.</p>
<p>This is extracted from <code>DefaultCompactor</code> to allow injecting mock
implementations in tests.</p>
</div></details><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.merge_single_output" class="method"><a class="src rightside" href="../../../src/mito2/compaction/compactor.rs.html#301-306">Source</a><h4 class="code-header">fn <a href="#tymethod.merge_single_output" class="fn">merge_single_output</a>&lt;'life0, 'async_trait&gt;(
&amp;'life0 self,
compaction_region: <a class="struct" href="struct.CompactionRegion.html" title="struct mito2::compaction::compactor::CompactionRegion">CompactionRegion</a>,
output: <a class="struct" href="../struct.CompactionOutput.html" title="struct mito2::compaction::CompactionOutput">CompactionOutput</a>,
write_opts: <a class="struct" href="../../sst/parquet/struct.WriteOptions.html" title="struct mito2::sst::parquet::WriteOptions">WriteOptions</a>,
) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/pin/struct.Pin.html" title="struct core::pin::Pin">Pin</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;dyn <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a>&lt;Output = <a class="type" href="../../error/type.Result.html" title="type mito2::error::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="struct" href="../../sst/file/struct.FileMeta.html" title="struct mito2::sst::file::FileMeta">FileMeta</a>&gt;&gt;&gt; + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + 'async_trait&gt;&gt;<div class="where">where
Self: 'async_trait,
'life0: 'async_trait,</div></h4></section></div><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><div class="negative-marker"></div><section id="impl-SstMerger-for-DefaultSstMerger" class="impl"><a class="src rightside" href="../../../src/mito2/compaction/compactor.rs.html#314-446">Source</a><a href="#impl-SstMerger-for-DefaultSstMerger" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.SstMerger.html" title="trait mito2::compaction::compactor::SstMerger">SstMerger</a> for <a class="struct" href="struct.DefaultSstMerger.html" title="struct mito2::compaction::compactor::DefaultSstMerger">DefaultSstMerger</a></h3></section></div><script src="../../../trait.impl/mito2/compaction/compactor/trait.SstMerger.js" async></script></section></div></main></body></html>