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

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

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Arrow.Table.validate_full</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.Table.validate_full"/>
  <meta priority="og:description" content="Reference for Arrow.Table.validate_full"/>
  <meta name="twitter:title" content="Arrow.Table.validate_full"/>
  <meta name="twitter:description" content="Reference for Arrow.Table.validate_full"/>


  
  <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: 25.0</p>
        
        <p>Library Version: 25.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.Table.html">Table</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.Table.add_column.html">add_column</a>
  
    <a class="method" href="method.Table.combine_chunks.html">combine_chunks</a>
  
    <a class="method" href="method.Table.concatenate.html">concatenate</a>
  
    <a class="method" href="method.Table.equal.html">equal</a>
  
    <a class="method" href="method.Table.equal_metadata.html">equal_metadata</a>
  
    <a class="method" href="method.Table.filter.html">filter</a>
  
    <a class="method" href="method.Table.filter_chunked_array.html">filter_chunked_array</a>
  
    <a class="method" href="method.Table.get_column_data.html">get_column_data</a>
  
    <a class="method" href="method.Table.get_n_columns.html">get_n_columns</a>
  
    <a class="method" href="method.Table.get_n_rows.html">get_n_rows</a>
  
    <a class="method" href="method.Table.get_schema.html">get_schema</a>
  
    <a class="method" href="method.Table.remove_column.html">remove_column</a>
  
    <a class="method" href="method.Table.replace_column.html">replace_column</a>
  
    <a class="method" href="method.Table.slice.html">slice</a>
  
    <a class="method" href="method.Table.sort_indices.html">sort_indices</a>
  
    <a class="method" href="method.Table.take.html">take</a>
  
    <a class="method" href="method.Table.take_chunked_array.html">take_chunked_array</a>
  
    <a class="method" href="method.Table.to_string.html">to_string</a>
  
    <a class="method" href="method.Table.validate.html">validate</a>
  
    <a class="method current" href="method.Table.validate_full.html">validate_full</a>
  
    <a class="method" href="method.Table.write_as_feather.html">write_as_feather</a>
  
  </div>
</div>

      <div class="section generator">
        <p>Generated by <a href="https://gitlab.gnome.org/GNOME/gi-docgen">gi-docgen</a> 2025.3</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.Table.html">Table</a><span class="sep"></span>validate_full</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 20.0.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/table.h#L151">[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_table_validate_full</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GArrowTable</span><span class="o">*</span><span class="w"> </span><span class="n">table</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>
        
        <a class="srclink" title="go to source location" href="https://github.com/apache/arrow/blob/main/c_glib/arrow-glib/table.cpp#L757">[src]</a>
        
      </h4>

      <div class="docblock">
        <p>Validate the given table. This is an extensive&nbsp;validation.</p>
      </div>

      <div class="docblock">
        
        <p>Available since: 20.0.0</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><code>TRUE</code> on success, <code>FALSE</code> on&nbsp;error.</p>
          </div>
          <div>
            <table>
            
            
            
            
            
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

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

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