<!--
SPDX-FileCopyrightText: The Apache Software Foundation

SPDX-License-Identifier: Apache-2.0
-->

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.LargeBinaryArrayBuilder.append_null</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <meta charset="utf-8" />

  
  <meta property="og:type" content="website"/>

  

  
  <meta priority="og:title" content="Arrow.LargeBinaryArrayBuilder.append_null"/>
  <meta priority="og:description" content="Reference for Arrow.LargeBinaryArrayBuilder.append_null"/>
  <meta name="twitter:title" content="Arrow.LargeBinaryArrayBuilder.append_null"/>
  <meta name="twitter:description" content="Reference for Arrow.LargeBinaryArrayBuilder.append_null"/>


  
  <meta name="twitter:card" content="summary"/>

  
  
  
  

  <link rel="stylesheet" href="style.css" type="text/css" />

  

  
  <script src="urlmap.js"></script>
  
  
  <script src="fzy.js"></script>
  <script src="search.js"></script>
  
  <script src="main.js"></script>
</head>

<body>
  <div id="body-wrapper" tabindex="-1">

    <nav class="sidebar devhelp-hidden">
      
      
      <div class="search section">
        <form id="search-form" autocomplete="off">
          <input id="search-input" type="text" name="do-not-autocomplete" placeholder="Click, or press 's' to search" autocomplete="off"/>
        </form>
      </div>
      
      <div class="section namespace">
        <h3><a href="index.html">Arrow</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 22.0.0</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.LargeBinaryArrayBuilder.html">LargeBinaryArrayBuilder</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method current" href="method.LargeBinaryArrayBuilder.append_null.html">append_null</a>
  
    <a class="method" href="method.LargeBinaryArrayBuilder.append_nulls.html">append_nulls</a>
  
    <a class="method" href="method.LargeBinaryArrayBuilder.append_value.html">append_value</a>
  
    <a class="method" href="method.LargeBinaryArrayBuilder.append_value_bytes.html">append_value_bytes</a>
  
    <a class="method" href="method.LargeBinaryArrayBuilder.append_values.html">append_values</a>
  
  </div>
</div>

      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2023.1</p>
      </div>
    </nav>

    <button id="btn-to-top" class="hidden"><span class="up-arrow"></span></button>

    
<section id="main" class="content">
  <header>
    <h3>Method</h3>
    <h1><a href="index.html">Arrow</a><span class="sep"></span><a href="class.LargeBinaryArrayBuilder.html">LargeBinaryArrayBuilder</a><span class="sep"></span>append_null</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem deprecated">deprecated: 3.0.0</span>&nbsp;<span class="emblem available">since: 0.16.0</span></p>
    </div>

    <div class="declaration toggle-wrapper">
      <h4 style="display:flex;" id="declaration">
        Declaration
        <a class="anchor" href="#declaration"></a>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-glib/array-builder.h#L924">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="n">gboolean</span>
<span class="n">garrow_large_binary_array_builder_append_null</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowLargeBinaryArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span>
<span class="w">  </span><span class="n">GError</span><span class="o">**</span><span class="w"> </span><span class="n">error</span>
<span class="p">)</span>
</pre></div>
</code></pre>
      </div>
    </div>

    <div class="description toggle-wrapper">
      <h4 style="display:flex;" id="description">
        Description
        <a class="anchor" href="#description"></a>
        
      </h4>

      <div class="docblock">
        No description available.
      </div>

      <div class="docblock">
        
        <p>Available since: 0.16.0</p>
        <div><p>Deprecated since: 3.0.0</p>
          <p>Use <code>garrow_array_builder_append_null()</code> instead.</p></div>
        <p>This method is not directly available to language bindings.</p>
        
        
      </div>

      
    </div>

    

    
    <div class="return-value toggle-wrapper">
      <h4 id="return-value">
        Return value
        <a href="#return-value" class="anchor"></a>
      </h4>

      <div class="docblock">
        <div class="returns">
          <div class="arg-description">
            <p><em>Type:</em>&nbsp;<code>gboolean</code></p>
            <p><p><code>TRUE</code> on success, <code>FALSE</code> if there was an&nbsp;error.</p></p>
          </div>
          <div>
            <table>
            
            
            
            
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

    <section id="search" class="content hidden"></section>

    <footer>
    
    </footer>
  </div>
</body>
</html>