forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
238 lines
21 KiB
HTML
238 lines
21 KiB
HTML
<a name="EN-US_TOPIC_0000001445346272"></a><a name="EN-US_TOPIC_0000001445346272"></a>
|
|
|
|
<h1 class="topictitle1">Roaring Bitmap Operators</h1>
|
|
<div id="body0000001445346272"><p id="EN-US_TOPIC_0000001445346272__p14569191004118">Since 8.1.3, GaussDB(DWS) supports efficient bitmap processing functions and operators, which can be used in user profiling and precision marketing, greatly improving query performance.</p>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section1490101862911"><h4 class="sectiontitle">=</h4><p id="EN-US_TOPIC_0000001445346272__p98215188295">Description: Compares two Roaring bitmaps to check whether they are equal.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p168214183293">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p182918152918">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen383161812911"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section1883712619298"><h4 class="sectiontitle"><></h4><p id="EN-US_TOPIC_0000001445346272__p683182618292">Description: Compares two Roaring bitmaps to check whether they are unequal.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p68311126162910">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p1883222672911">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen17832226102913"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o"><></span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o"><></span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section1220123110298"><h4 class="sectiontitle">&</h4><p id="EN-US_TOPIC_0000001445346272__p121203113293">Description: Calculates the intersection of two Roaring bitmaps.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p51217318293">Return type: RoaringBitmap</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p1913193132911">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen20131531102917"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_to_array</span><span class="p">(</span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o">&</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">));</span>
|
|
<span class="n">rb_to_array</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section84839343292"><h4 class="sectiontitle">|</h4><p id="EN-US_TOPIC_0000001445346272__p1447933418294">Description: Calculates the union of two Roaring bitmaps.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p164792347298">Return type: RoaringBitmap</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p447993492912">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen1847963482917"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_to_array</span><span class="p">(</span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">));</span>
|
|
<span class="n">rb_to_array</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section371911385298"><h4 class="sectiontitle">|</h4><p id="EN-US_TOPIC_0000001445346272__p11714538122912">Description: Calculates the result of adding an ID to a Roaring bitmap.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p9714638172912">Return type: RoaringBitmap</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p1171423819290">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen4715123802918"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_to_array</span><span class="p">(</span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
|
|
<span class="n">rb_to_array</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section12780424295"><h4 class="sectiontitle">#</h4><p id="EN-US_TOPIC_0000001445346272__p177415425296">Description: XOR result of two Roaring bitmaps.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p1074204252917">Return type: RoaringBitmap</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p47418429299">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen2075742142911"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_to_array</span><span class="p">(</span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">)</span><span class="w"> </span><span class="o">#</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">));</span>
|
|
<span class="n">rb_to_array</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="err">{</span><span class="mi">1</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section16487174520295"><h4 class="sectiontitle">-</h4><p id="EN-US_TOPIC_0000001445346272__p13481174515299">Description: Calculates the result set in the first Roaring bitmap but not in the second Roaring bitmap.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p7481174512291">Return type: RoaringBitmap</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p1548164502913">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen19481194510299"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_to_array</span><span class="p">(</span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{1,2,3}'</span><span class="p">));</span>
|
|
<span class="n">rb_to_array</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="err">{</span><span class="mi">4</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section44514499298"><h4 class="sectiontitle">-</h4><p id="EN-US_TOPIC_0000001445346272__p44313492294">Description: The result set of removing a specified ID from a Roaring bitmap.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p4431449192916">Return type: RoaringBitmap</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p164364942913">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen4434492294"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span>
|
|
<span class="normal">3</span>
|
|
<span class="normal">4</span>
|
|
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_to_array</span><span class="p">(</span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
|
|
<span class="n">rb_to_array</span>
|
|
<span class="c1">-------------</span>
|
|
<span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="mi">4</span><span class="err">}</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section201861752102917"><h4 class="sectiontitle">@></h4><p id="EN-US_TOPIC_0000001445346272__p01811952142914">Description: Determines whether the Roaring bitmap before an operator contains the Roaring bitmap after the operator.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p12181125214293">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p191821452122918">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen7182205216291"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o">@></span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o">@></span><span class="w"> </span><span class="mi">4</span><span class="p">;</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section19798455142913"><h4 class="sectiontitle"><@</h4><p id="EN-US_TOPIC_0000001445346272__p207971055182911">Description: Determines whether the Roaring bitmap before an operator is contained in the Roaring bitmap after the operator.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p579715550290">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p167974552299">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen1579735513296"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o"><@</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o"><@</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001445346272__section133440592292"><h4 class="sectiontitle">&&</h4><p id="EN-US_TOPIC_0000001445346272__p934355919295">Description: If two Roaring bitmaps overlap, <strong id="EN-US_TOPIC_0000001445346272__b76378835594347">true</strong> is returned. Otherwise, <strong id="EN-US_TOPIC_0000001445346272__b123891099694347">false</strong> is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p9343859192915">Return type: bool</p>
|
|
<p id="EN-US_TOPIC_0000001445346272__p03431159112912">Example:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001445346272__screen1334475915294"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal"> 1</span>
|
|
<span class="normal"> 2</span>
|
|
<span class="normal"> 3</span>
|
|
<span class="normal"> 4</span>
|
|
<span class="normal"> 5</span>
|
|
<span class="normal"> 6</span>
|
|
<span class="normal"> 7</span>
|
|
<span class="normal"> 8</span>
|
|
<span class="normal"> 9</span>
|
|
<span class="normal">10</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">t</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
<span class="k">SELECT</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{2,3,4}'</span><span class="p">)</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">rb_build</span><span class="p">(</span><span class="s1">'{7,8,9}'</span><span class="p">);</span>
|
|
<span class="o">?</span><span class="k">column</span><span class="o">?</span>
|
|
<span class="c1">----------</span>
|
|
<span class="n">f</span>
|
|
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0991.html">Roaring Bitmap Functions and Operators</a></div>
|
|
</div>
|
|
</div>
|
|
|