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

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

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


  
  <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">ArrowFlightSQL</a></h3>
        <p>API Version: 1.0</p>
        
        <p>Library Version: 23.0.0.dev</p>
        
      </div>
      
<div class="section">
  <h5>Type</h5>
  <div class="links">
    <a href="class.PreparedStatement.html">PreparedStatement</a>
  </div>
</div>
<div class="section">
  <h5>Methods</h5>
  <div class="links">
  
    <a class="method" href="method.PreparedStatement.close.html">close</a>
  
    <a class="method" href="method.PreparedStatement.execute.html">execute</a>
  
    <a class="method" href="method.PreparedStatement.execute_update.html">execute_update</a>
  
    <a class="method" href="method.PreparedStatement.get_dataset_schema.html">get_dataset_schema</a>
  
    <a class="method current" href="method.PreparedStatement.get_parameter_schema.html">get_parameter_schema</a>
  
    <a class="method" href="method.PreparedStatement.is_closed.html">is_closed</a>
  
    <a class="method" href="method.PreparedStatement.set_record_batch.html">set_record_batch</a>
  
    <a class="method" href="method.PreparedStatement.set_record_batch_reader.html">set_record_batch_reader</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">ArrowFlightSQL</a><span class="sep"></span><a href="class.PreparedStatement.html">PreparedStatement</a><span class="sep"></span>get_parameter_schema</h1>
  </header>

  <section>
    <div class="docblock">
      <p><span class="emblem available">since: 14.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-flight-sql-glib/client.h#L54">[src]</a>
        
      </h4>

      <div class="docblock c-decl">
        <pre><code><div class="highlight"><pre><span></span><span class="n">GArrowSchema</span><span class="o">*</span>
<span class="n">gaflightsql_prepared_statement_get_parameter_schema</span><span class="w"> </span><span class="p">(</span>
<span class="w">  </span><span class="n">GAFlightSQLPreparedStatement</span><span class="o">*</span><span class="w"> </span><span class="n">statement</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: 14.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;<a href="javascript:void(0)" data-link="class.Schema.html" data-namespace="Arrow" class="external"><code>GArrowSchema</code></a></p>
            <p><p>The <code>GArrowSchema</code> for&nbsp;parameter.</p></p>
          </div>
          <div>
            <table>
            
            
            
            <tr><td title="transfer: full">The caller of the method takes ownership of the data, and is responsible for freeing it.</td></tr>
            <tr><td>The return value can be <code>NULL</code>.</td></tr>
            
            </table>
          </div>
        </div>
      </div>
    </div>
    

  </section>
</section>


    

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

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