This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new f05fb809 publish documentation
f05fb809 is described below

commit f05fb809724e29fb0a6a0c4a3199989f6b3f888a
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Jun 14 19:50:10 2023 +0000

    publish documentation
---
 main/cpp/quickstart.html               | 181 +++++++++++++++++----------------
 main/python/recipe/driver_manager.html |   6 +-
 main/python/recipe/postgresql.html     |  34 +++----
 main/searchindex.js                    |   2 +-
 4 files changed, 112 insertions(+), 111 deletions(-)

diff --git a/main/cpp/quickstart.html b/main/cpp/quickstart.html
index 21d0d1bf..c9159141 100644
--- a/main/cpp/quickstart.html
+++ b/main/cpp/quickstart.html
@@ -338,8 +338,9 @@ installed as follows:</p>
 <section id="building">
 <h2>Building<a class="headerlink" href="#building" title="Permalink to this 
heading">#</a></h2>
 <p>We’ll use <a class="reference external" href="https://cmake.org/";>CMake</a> 
here.  From a source checkout of the ADBC repository:</p>
-<div class="highlight-shell notranslate"><div 
class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> 
</span>docs/source/cpp/recipe
-cmake<span class="w"> </span>.
+<div class="highlight-shell notranslate"><div 
class="highlight"><pre><span></span>mkdir<span class="w"> </span>build
+<span class="nb">cd</span><span class="w"> </span>build
+cmake<span class="w"> </span>../docs/source/cpp/recipe
 cmake<span class="w"> </span>--build<span class="w"> </span>.<span class="w"> 
</span>--target<span class="w"> </span>quickstart
 ./quickstart
 </pre></div>
@@ -348,64 +349,64 @@ cmake<span class="w"> </span>--build<span class="w"> 
</span>.<span class="w"> </
 <section id="using-adbc">
 <h2>Using ADBC<a class="headerlink" href="#using-adbc" title="Permalink to 
this heading">#</a></h2>
 <p>Let’s start with some includes:</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">58</span><span 
class="o">//</span> <span class="n">For</span> <span 
class="n">EXIT_SUCCESS</span>
-<span class="linenos">59</span><span class="c1">#include &lt;cstdlib&gt;</span>
-<span class="linenos">60</span><span class="o">//</span> <span 
class="n">For</span> <span class="n">strerror</span>
-<span class="linenos">61</span><span class="c1">#include &lt;cstring&gt;</span>
-<span class="linenos">62</span><span class="c1">#include 
&lt;iostream&gt;</span>
-<span class="linenos">63</span>
-<span class="linenos">64</span><span class="c1">#include &lt;adbc.h&gt;</span>
-<span class="linenos">65</span><span class="c1">#include 
&lt;nanoarrow.h&gt;</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">59</span><span 
class="c1">// For EXIT_SUCCESS</span>
+<span class="linenos">60</span><span class="cp">#include</span><span 
class="w"> </span><span class="cpf">&lt;cstdlib&gt;</span>
+<span class="linenos">61</span><span class="c1">// For strerror</span>
+<span class="linenos">62</span><span class="cp">#include</span><span 
class="w"> </span><span class="cpf">&lt;cstring&gt;</span>
+<span class="linenos">63</span><span class="cp">#include</span><span 
class="w"> </span><span class="cpf">&lt;iostream&gt;</span>
+<span class="linenos">64</span>
+<span class="linenos">65</span><span class="cp">#include</span><span 
class="w"> </span><span class="cpf">&lt;adbc.h&gt;</span>
+<span class="linenos">66</span><span class="cp">#include</span><span 
class="w"> </span><span class="cpf">&lt;nanoarrow.h&gt;</span>
 </pre></div>
 </div>
 <p>Then we’ll add some (very basic) error checking helpers.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">69</span>// 
Error-checking helper for ADBC calls.
-<span class="linenos">70</span>// Assumes that there is an AdbcError named 
`error` in scope.
-<span class="linenos">71</span>#define CHECK_ADBC(EXPR)                        
                  \
-<span class="linenos">72</span>  if (AdbcStatusCode status = (EXPR); status != 
ADBC_STATUS_OK) { \
-<span class="linenos">73</span>    if (error.message != nullptr) {             
                  \
-<span class="linenos">74</span>      std::cerr &lt;&lt; error.message &lt;&lt; 
std::endl;                    \
-<span class="linenos">75</span>    }                                           
                  \
-<span class="linenos">76</span>    return EXIT_FAILURE;                        
                  \
-<span class="linenos">77</span>  }
-<span class="linenos">78</span>
-<span class="linenos">79</span>// Error-checking helper for ArrowArrayStream.
-<span class="linenos">80</span>#define CHECK_STREAM(STREAM, EXPR)              
              \
-<span class="linenos">81</span>  if (int status = (EXPR); status != 0) {       
              \
-<span class="linenos">82</span>    std::cerr &lt;&lt; &quot;(&quot; &lt;&lt; 
std::strerror(status) &lt;&lt; &quot;): &quot;;       \
-<span class="linenos">83</span>    const char* message = 
(STREAM).get_last_error(&amp;(STREAM)); \
-<span class="linenos">84</span>    if (message != nullptr) {                   
              \
-<span class="linenos">85</span>      std::cerr &lt;&lt; message &lt;&lt; 
std::endl;                      \
-<span class="linenos">86</span>    } else {                                    
              \
-<span class="linenos">87</span>      std::cerr &lt;&lt; &quot;(no error 
message)&quot; &lt;&lt; std::endl;         \
-<span class="linenos">88</span>    }                                           
              \
-<span class="linenos">89</span>    return EXIT_FAILURE;                        
              \
-<span class="linenos">90</span>  }
-<span class="linenos">91</span>
-<span class="linenos">92</span>// Error-checking helper for Nanoarrow.
-<span class="linenos">93</span>#define CHECK_NANOARROW(EXPR)                   
                           \
-<span class="linenos">94</span>  if (int status = (EXPR); status != 0) {       
                           \
-<span class="linenos">95</span>    std::cerr &lt;&lt; &quot;(&quot; &lt;&lt; 
std::strerror(status) &lt;&lt; &quot;): failed&quot; &lt;&lt; std::endl; \
-<span class="linenos">96</span>    return EXIT_FAILURE;                        
                           \
-<span class="linenos">97</span>  }
-<span class="linenos">98</span>
-<span class="linenos">99</span>int main() {
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos"> 70</span><span 
class="c1">// Error-checking helper for ADBC calls.</span>
+<span class="linenos"> 71</span><span class="c1">// Assumes that there is an 
AdbcError named `error` in scope.</span>
+<span class="linenos"> 72</span><span class="cp">#define CHECK_ADBC(EXPR)      
                                    \</span>
+<span class="linenos"> 73</span><span class="cp">  if (AdbcStatusCode status = 
(EXPR); status != ADBC_STATUS_OK) { \</span>
+<span class="linenos"> 74</span><span class="cp">    if (error.message != 
nullptr) {                               \</span>
+<span class="linenos"> 75</span><span class="cp">      std::cerr &lt;&lt; 
error.message &lt;&lt; std::endl;                    \</span>
+<span class="linenos"> 76</span><span class="cp">    }                         
                                    \</span>
+<span class="linenos"> 77</span><span class="cp">    return EXIT_FAILURE;      
                                    \</span>
+<span class="linenos"> 78</span><span class="cp">  }</span>
+<span class="linenos"> 79</span>
+<span class="linenos"> 80</span><span class="c1">// Error-checking helper for 
ArrowArrayStream.</span>
+<span class="linenos"> 81</span><span class="cp">#define CHECK_STREAM(STREAM, 
EXPR)                            \</span>
+<span class="linenos"> 82</span><span class="cp">  if (int status = (EXPR); 
status != 0) {                     \</span>
+<span class="linenos"> 83</span><span class="cp">    std::cerr &lt;&lt; 
&quot;(&quot; &lt;&lt; std::strerror(status) &lt;&lt; &quot;): &quot;;       
\</span>
+<span class="linenos"> 84</span><span class="cp">    const char* message = 
(STREAM).get_last_error(&amp;(STREAM)); \</span>
+<span class="linenos"> 85</span><span class="cp">    if (message != nullptr) { 
                                \</span>
+<span class="linenos"> 86</span><span class="cp">      std::cerr &lt;&lt; 
message &lt;&lt; std::endl;                      \</span>
+<span class="linenos"> 87</span><span class="cp">    } else {                  
                                \</span>
+<span class="linenos"> 88</span><span class="cp">      std::cerr &lt;&lt; 
&quot;(no error message)&quot; &lt;&lt; std::endl;         \</span>
+<span class="linenos"> 89</span><span class="cp">    }                         
                                \</span>
+<span class="linenos"> 90</span><span class="cp">    return EXIT_FAILURE;      
                                \</span>
+<span class="linenos"> 91</span><span class="cp">  }</span>
+<span class="linenos"> 92</span>
+<span class="linenos"> 93</span><span class="c1">// Error-checking helper for 
Nanoarrow.</span>
+<span class="linenos"> 94</span><span class="cp">#define CHECK_NANOARROW(EXPR) 
                                             \</span>
+<span class="linenos"> 95</span><span class="cp">  if (int status = (EXPR); 
status != 0) {                                  \</span>
+<span class="linenos"> 96</span><span class="cp">    std::cerr &lt;&lt; 
&quot;(&quot; &lt;&lt; std::strerror(status) &lt;&lt; &quot;): failed&quot; 
&lt;&lt; std::endl; \</span>
+<span class="linenos"> 97</span><span class="cp">    return EXIT_FAILURE;      
                                             \</span>
+<span class="linenos"> 98</span><span class="cp">  }</span>
+<span class="linenos"> 99</span>
+<span class="linenos">100</span><span class="kt">int</span><span class="w"> 
</span><span class="nf">main</span><span class="p">()</span><span class="w"> 
</span><span class="p">{</span>
 </pre></div>
 </div>
 <section id="loading-the-driver">
 <h3>Loading the Driver<a class="headerlink" href="#loading-the-driver" 
title="Permalink to this heading">#</a></h3>
 <p>We’ll load the SQLite driver using the driver manager.  We don’t
 have to explicitly link to the driver this way.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">106</span>  <span 
class="n">AdbcError</span> <span class="n">error</span> <span 
class="o">=</span> <span class="p">{};</span>
-<span class="linenos">107</span>
-<span class="linenos">108</span>  <span class="n">AdbcDatabase</span> <span 
class="n">database</span> <span class="o">=</span> <span class="p">{};</span>
-<span class="linenos">109</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcDatabaseNew</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">database</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">107</span><span 
class="w">  </span><span class="n">AdbcError</span><span class="w"> 
</span><span class="n">error</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="p">{};</span>
+<span class="linenos">108</span>
+<span class="linenos">109</span><span class="w">  </span><span 
class="n">AdbcDatabase</span><span class="w"> </span><span 
class="n">database</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="p">{};</span>
+<span class="linenos">110</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcDatabaseNew</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">database</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">error</span><span class="p">));</span>
 </pre></div>
 </div>
 <p>The way the driver manager knows what driver we want is via the
 <code class="docutils literal notranslate"><span 
class="pre">driver</span></code> option.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">112</span>  <span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcDatabaseSetOption</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">database</span><span class="p">,</span> 
<span class="s2">&quot;driver&quot;</span><span class="p">,</span> <span 
class="s2">&quot;adbc_driver_sqlite&quot;</span><span class="p">,</span> <span 
class="o">&am [...]
-<span class="linenos">113</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcDatabaseInit</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">database</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">113</span><span 
class="w">  </span><span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcDatabaseSetOption</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">database</span><span class="p">,</span><span class="w"> </span><span 
class="s">&quot;driver&quot;</span><span class="p">,</span><span class="w"> 
</span><span class="s">&quot;adbc_driver_ [...]
+<span class="linenos">114</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcDatabaseInit</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">database</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">error</span><span class="p">));</span>
 </pre></div>
 </div>
 </section>
@@ -416,9 +417,9 @@ have to explicitly link to the driver this way.</p>
 connections.  For example, in the SQLite driver, it holds the
 actual instance of SQLite.  A “connection” is one connection to
 the database.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">124</span>  <span 
class="n">AdbcConnection</span> <span class="n">connection</span> <span 
class="o">=</span> <span class="p">{};</span>
-<span class="linenos">125</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcConnectionNew</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">connection</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
-<span class="linenos">126</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcConnectionInit</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">connection</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">database</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">error</span><span 
class="p">));</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">125</span><span 
class="w">  </span><span class="n">AdbcConnection</span><span class="w"> 
</span><span class="n">connection</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="p">{};</span>
+<span class="linenos">126</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcConnectionNew</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">connection</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">error</span><span class="p">));</span>
+<span class="linenos">127</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcConnectionInit</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">connection</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">database</span><span class="p">,</span><span class="w"> </span><span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
 </pre></div>
 </div>
 </section>
@@ -426,8 +427,8 @@ the database.</p>
 <h3>Creating a Statement<a class="headerlink" href="#creating-a-statement" 
title="Permalink to this heading">#</a></h3>
 <p>A statement lets us execute queries.  They are used for both
 prepared and non-prepared (“ad-hoc”) queries.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">134</span>  <span 
class="n">AdbcStatement</span> <span class="n">statement</span> <span 
class="o">=</span> <span class="p">{};</span>
-<span class="linenos">135</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcStatementNew</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">connection</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">statement</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">error</span><span 
class="p">));</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">135</span><span 
class="w">  </span><span class="n">AdbcStatement</span><span class="w"> 
</span><span class="n">statement</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="p">{};</span>
+<span class="linenos">136</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcStatementNew</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">connection</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">statement</span><span class="p">,</span><span class="w"> </span><span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
 </pre></div>
 </div>
 </section>
@@ -436,18 +437,18 @@ prepared and non-prepared (“ad-hoc”) queries.</p>
 <p>We execute a query by setting the query on the statement, then
 calling <a class="reference internal" 
href="api/adbc.html#_CPPv425AdbcStatementExecuteQueryP13AdbcStatementP16ArrowArrayStreamP7int64_tP9AdbcError"
 title="AdbcStatementExecuteQuery"><code class="xref cpp cpp-func docutils 
literal notranslate"><span 
class="pre">AdbcStatementExecuteQuery()</span></code></a>.  The results come
 back through the <a class="reference external" 
href="https://arrow.apache.org/docs/format/CDataInterface.html";>Arrow C Data 
Interface</a>.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">146</span>  <span 
class="n">struct</span> <span class="n">ArrowArrayStream</span> <span 
class="n">stream</span> <span class="o">=</span> <span class="p">{};</span>
-<span class="linenos">147</span>  <span class="n">int64_t</span> <span 
class="n">rows_affected</span> <span class="o">=</span> <span 
class="o">-</span><span class="mi">1</span><span class="p">;</span>
-<span class="linenos">148</span>
-<span class="linenos">149</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcStatementSetSqlQuery</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">statement</span><span class="p">,</span> <span 
class="s2">&quot;SELECT 42 AS THEANSWER&quot;</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">error</span><span 
class="p">));</span>
-<span class="linenos">150</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcStatementExecuteQuery</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">statement</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">stream</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">rows_affected</span><span 
class="p">,</span> <span class="o">&amp;</span><span 
class="n">error</span><span class="p">) [...]
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">147</span><span 
class="w">  </span><span class="k">struct</span><span class="w"> </span><span 
class="nc">ArrowArrayStream</span><span class="w"> </span><span 
class="n">stream</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="p">{};</span>
+<span class="linenos">148</span><span class="w">  </span><span 
class="kt">int64_t</span><span class="w"> </span><span 
class="n">rows_affected</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="mi">-1</span><span 
class="p">;</span>
+<span class="linenos">149</span>
+<span class="linenos">150</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcStatementSetSqlQuery</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">statement</span><span 
class="p">,</span><span class="w"> </span><span class="s">&quot;SELECT 42 AS 
THEANSWER&quot;</span><span class="p">,</span><span class="w"> </span><span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<span class="linenos">151</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcStatementExecuteQuery</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">statement</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">stream</span><span class="p">,</span><span class="w"> </span><span 
class="o">&amp;</span><span class="n">rows_affected</span><span 
class="p">,</span><span [...]
 </pre></div>
 </div>
 <p>While the API gives us the number of rows, the SQLite driver
 can’t actually know how many rows there are in the result set
 ahead of time, so this value will actually just be <code class="docutils 
literal notranslate"><span class="pre">-1</span></code> to
 indicate that the value is not known.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">156</span>  <span 
class="n">std</span><span class="p">::</span><span class="n">cout</span> <span 
class="o">&lt;&lt;</span> <span class="s2">&quot;Got &quot;</span> <span 
class="o">&lt;&lt;</span> <span class="n">rows_affected</span> <span 
class="o">&lt;&lt;</span> <span class="s2">&quot; rows&quot;</span> <span 
class="o">&lt;&lt;</span> <span class="n">std</span><span class="p">::</s [...]
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">157</span><span 
class="w">  </span><span class="n">std</span><span class="o">::</span><span 
class="n">cout</span><span class="w"> </span><span 
class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Got 
&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span 
class="w"> </span><span class="n">rows_affected</span><span class="w"> 
</span><span class="o">&lt; [...]
 </pre></div>
 </div>
 <p>We need an Arrow implementation to read the actual results.  We
@@ -456,54 +457,54 @@ we’ll use Nanoarrow here.  (The CMake configuration for 
this
 example downloads and builds Nanoarrow from source as part of
 the build.)</p>
 <p>First we’ll get the schema of the data:</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">168</span>  <span 
class="n">ArrowSchema</span> <span class="n">schema</span> <span 
class="o">=</span> <span class="p">{};</span>
-<span class="linenos">169</span>  <span class="n">CHECK_STREAM</span><span 
class="p">(</span><span class="n">stream</span><span class="p">,</span> <span 
class="n">stream</span><span class="o">.</span><span 
class="n">get_schema</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">stream</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">schema</span><span 
class="p">));</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">169</span><span 
class="w">  </span><span class="n">ArrowSchema</span><span class="w"> 
</span><span class="n">schema</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="p">{};</span>
+<span class="linenos">170</span><span class="w">  </span><span 
class="n">CHECK_STREAM</span><span class="p">(</span><span 
class="n">stream</span><span class="p">,</span><span class="w"> </span><span 
class="n">stream</span><span class="p">.</span><span 
class="n">get_schema</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">stream</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">schema</span><span class="p">));</span>
 </pre></div>
 </div>
 <p>Then we can use Nanoarrow to print it:</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">172</span>  <span 
class="n">char</span> <span class="n">buf</span><span class="p">[</span><span 
class="mi">1024</span><span class="p">]</span> <span class="o">=</span> <span 
class="p">{};</span>
-<span class="linenos">173</span>  <span 
class="n">ArrowSchemaToString</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">schema</span><span class="p">,</span> 
<span class="n">buf</span><span class="p">,</span> <span 
class="n">sizeof</span><span class="p">(</span><span class="n">buf</span><span 
class="p">),</span> <span class="o">/*</span><span 
class="n">recursive</span><span class="o">=*/</span><span 
class="mi">1</span><span class="p">);</span>
-<span class="linenos">174</span>  <span class="n">std</span><span 
class="p">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> 
<span class="n">buf</span> <span class="o">&lt;&lt;</span> <span 
class="n">std</span><span class="p">::</span><span class="n">endl</span><span 
class="p">;</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">173</span><span 
class="w">  </span><span class="kt">char</span><span class="w"> </span><span 
class="n">buf</span><span class="p">[</span><span class="mi">1024</span><span 
class="p">]</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="p">{};</span>
+<span class="linenos">174</span><span class="w">  </span><span 
class="n">ArrowSchemaToString</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">schema</span><span 
class="p">,</span><span class="w"> </span><span class="n">buf</span><span 
class="p">,</span><span class="w"> </span><span class="k">sizeof</span><span 
class="p">(</span><span class="n">buf</span><span class="p">),</span><span 
class="w"> </span><span class="cm">/*recursive=*/</span><span 
class="mi">1</span [...]
+<span class="linenos">175</span><span class="w">  </span><span 
class="n">std</span><span class="o">::</span><span class="n">cout</span><span 
class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span 
class="n">buf</span><span class="w"> </span><span 
class="o">&lt;&lt;</span><span class="w"> </span><span 
class="n">std</span><span class="o">::</span><span class="n">endl</span><span 
class="p">;</span>
 </pre></div>
 </div>
 <p>Now we can read the data.  The data comes as a stream of Arrow
 record batches.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">178</span>  <span 
class="k">while</span> <span class="p">(</span><span class="n">true</span><span 
class="p">)</span> <span class="p">{</span>
-<span class="linenos">179</span>    <span class="n">ArrowArray</span> <span 
class="n">batch</span> <span class="o">=</span> <span class="p">{};</span>
-<span class="linenos">180</span>    <span class="n">CHECK_STREAM</span><span 
class="p">(</span><span class="n">stream</span><span class="p">,</span> <span 
class="n">stream</span><span class="o">.</span><span 
class="n">get_next</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">stream</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">batch</span><span 
class="p">));</span>
-<span class="linenos">181</span>
-<span class="linenos">182</span>    <span class="k">if</span> <span 
class="p">(</span><span class="n">batch</span><span class="o">.</span><span 
class="n">release</span> <span class="o">==</span> <span 
class="n">nullptr</span><span class="p">)</span> <span class="p">{</span>
-<span class="linenos">183</span>      <span class="o">//</span> <span 
class="n">Stream</span> <span class="n">has</span> <span class="n">ended</span>
-<span class="linenos">184</span>      <span class="k">break</span><span 
class="p">;</span>
-<span class="linenos">185</span>    <span class="p">}</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">179</span><span 
class="w">  </span><span class="k">while</span><span class="w"> </span><span 
class="p">(</span><span class="nb">true</span><span class="p">)</span><span 
class="w"> </span><span class="p">{</span>
+<span class="linenos">180</span><span class="w">    </span><span 
class="n">ArrowArray</span><span class="w"> </span><span 
class="n">batch</span><span class="w"> </span><span class="o">=</span><span 
class="w"> </span><span class="p">{};</span>
+<span class="linenos">181</span><span class="w">    </span><span 
class="n">CHECK_STREAM</span><span class="p">(</span><span 
class="n">stream</span><span class="p">,</span><span class="w"> </span><span 
class="n">stream</span><span class="p">.</span><span 
class="n">get_next</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">stream</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">batch</span><span class="p">));</span>
+<span class="linenos">182</span>
+<span class="linenos">183</span><span class="w">    </span><span 
class="k">if</span><span class="w"> </span><span class="p">(</span><span 
class="n">batch</span><span class="p">.</span><span 
class="n">release</span><span class="w"> </span><span class="o">==</span><span 
class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span 
class="w"> </span><span class="p">{</span>
+<span class="linenos">184</span><span class="w">      </span><span 
class="c1">// Stream has ended</span>
+<span class="linenos">185</span><span class="w">      </span><span 
class="k">break</span><span class="p">;</span>
+<span class="linenos">186</span><span class="w">    </span><span 
class="p">}</span>
 </pre></div>
 </div>
 <p>We can use Nanoarrow to print out the data, too.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">188</span>    <span 
class="n">ArrowArrayView</span> <span class="n">view</span> <span 
class="o">=</span> <span class="p">{};</span>
-<span class="linenos">189</span>    <span 
class="n">CHECK_NANOARROW</span><span class="p">(</span><span 
class="n">ArrowArrayViewInitFromSchema</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">view</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">schema</span><span class="p">,</span> 
<span class="n">nullptr</span><span class="p">));</span>
-<span class="linenos">190</span>    <span 
class="n">CHECK_NANOARROW</span><span class="p">(</span><span 
class="n">ArrowArrayViewSetArray</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">view</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">batch</span><span class="p">,</span> 
<span class="n">nullptr</span><span class="p">));</span>
-<span class="linenos">191</span>    <span class="n">std</span><span 
class="p">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> 
<span class="s2">&quot;Got a batch with &quot;</span> <span 
class="o">&lt;&lt;</span> <span class="n">batch</span><span 
class="o">.</span><span class="n">length</span> <span class="o">&lt;&lt;</span> 
<span class="s2">&quot; rows&quot;</span> <span class="o">&lt;&lt;</span> <span 
class="n">std</span><span class="p">::</span><span class="n">endl [...]
-<span class="linenos">192</span>    <span class="k">for</span> <span 
class="p">(</span><span class="n">int64_t</span> <span class="n">i</span> <span 
class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span 
class="n">i</span> <span class="o">&lt;</span> <span 
class="n">batch</span><span class="o">.</span><span 
class="n">length</span><span class="p">;</span> <span class="n">i</span><span 
class="o">++</span><span class="p">)</span> <span class="p">{</span>
-<span class="linenos">193</span>      <span class="n">std</span><span 
class="p">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> 
<span class="s2">&quot;THEANSWER[&quot;</span> <span class="o">&lt;&lt;</span> 
<span class="n">i</span>
-<span class="linenos">194</span>                <span 
class="o">&lt;&lt;</span> <span class="s2">&quot;] = &quot;</span> <span 
class="o">&lt;&lt;</span> <span class="n">view</span><span 
class="o">.</span><span class="n">children</span><span class="p">[</span><span 
class="mi">0</span><span class="p">]</span><span class="o">-&gt;</span><span 
class="n">buffer_views</span><span class="p">[</span><span 
class="mi">1</span><span class="p">]</span><span class="o">.</span><span 
class="n">data</sp [...]
-<span class="linenos">195</span>                <span 
class="o">&lt;&lt;</span> <span class="n">std</span><span 
class="p">::</span><span class="n">endl</span><span class="p">;</span>
-<span class="linenos">196</span>    <span class="p">}</span>
-<span class="linenos">197</span>    <span 
class="n">ArrowArrayViewReset</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">view</span><span class="p">);</span>
-<span class="linenos">198</span>  <span class="p">}</span>
-<span class="linenos">199</span>
-<span class="linenos">200</span>  <span class="n">std</span><span 
class="p">::</span><span class="n">cout</span> <span class="o">&lt;&lt;</span> 
<span class="s2">&quot;Finished reading result set&quot;</span> <span 
class="o">&lt;&lt;</span> <span class="n">std</span><span 
class="p">::</span><span class="n">endl</span><span class="p">;</span>
-<span class="linenos">201</span>  <span class="n">stream</span><span 
class="o">.</span><span class="n">release</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">stream</span><span class="p">);</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">189</span><span 
class="w">    </span><span class="n">ArrowArrayView</span><span class="w"> 
</span><span class="n">view</span><span class="w"> </span><span 
class="o">=</span><span class="w"> </span><span class="p">{};</span>
+<span class="linenos">190</span><span class="w">    </span><span 
class="n">CHECK_NANOARROW</span><span class="p">(</span><span 
class="n">ArrowArrayViewInitFromSchema</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">view</span><span class="p">,</span><span 
class="w"> </span><span class="o">&amp;</span><span 
class="n">schema</span><span class="p">,</span><span class="w"> </span><span 
class="k">nullptr</span><span class="p">));</span>
+<span class="linenos">191</span><span class="w">    </span><span 
class="n">CHECK_NANOARROW</span><span class="p">(</span><span 
class="n">ArrowArrayViewSetArray</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">view</span><span class="p">,</span><span 
class="w"> </span><span class="o">&amp;</span><span class="n">batch</span><span 
class="p">,</span><span class="w"> </span><span class="k">nullptr</span><span 
class="p">));</span>
+<span class="linenos">192</span><span class="w">    </span><span 
class="n">std</span><span class="o">::</span><span class="n">cout</span><span 
class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span 
class="s">&quot;Got a batch with &quot;</span><span class="w"> </span><span 
class="o">&lt;&lt;</span><span class="w"> </span><span 
class="n">batch</span><span class="p">.</span><span 
class="n">length</span><span class="w"> </span><span 
class="o">&lt;&lt;</span><span cla [...]
+<span class="linenos">193</span><span class="w">    </span><span 
class="k">for</span><span class="w"> </span><span class="p">(</span><span 
class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span 
class="w"> </span><span class="o">=</span><span class="w"> </span><span 
class="mi">0</span><span class="p">;</span><span class="w"> </span><span 
class="n">i</span><span class="w"> </span><span class="o">&lt;</span><span 
class="w"> </span><span class="n">batch</span><span cl [...]
+<span class="linenos">194</span><span class="w">      </span><span 
class="n">std</span><span class="o">::</span><span class="n">cout</span><span 
class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span 
class="s">&quot;THEANSWER[&quot;</span><span class="w"> </span><span 
class="o">&lt;&lt;</span><span class="w"> </span><span class="n">i</span>
+<span class="linenos">195</span><span class="w">                </span><span 
class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;] = 
&quot;</span><span class="w"> </span><span class="o">&lt;&lt;</span><span 
class="w"> </span><span class="n">view</span><span class="p">.</span><span 
class="n">children</span><span class="p">[</span><span class="mi">0</span><span 
class="p">]</span><span class="o">-&gt;</span><span 
class="n">buffer_views</span><span class="p">[</span><span  [...]
+<span class="linenos">196</span><span class="w">                </span><span 
class="o">&lt;&lt;</span><span class="w"> </span><span 
class="n">std</span><span class="o">::</span><span class="n">endl</span><span 
class="p">;</span>
+<span class="linenos">197</span><span class="w">    </span><span 
class="p">}</span>
+<span class="linenos">198</span><span class="w">    </span><span 
class="n">ArrowArrayViewReset</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">view</span><span class="p">);</span>
+<span class="linenos">199</span><span class="w">  </span><span 
class="p">}</span>
+<span class="linenos">200</span>
+<span class="linenos">201</span><span class="w">  </span><span 
class="n">std</span><span class="o">::</span><span class="n">cout</span><span 
class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span 
class="s">&quot;Finished reading result set&quot;</span><span class="w"> 
</span><span class="o">&lt;&lt;</span><span class="w"> </span><span 
class="n">std</span><span class="o">::</span><span class="n">endl</span><span 
class="p">;</span>
+<span class="linenos">202</span><span class="w">  </span><span 
class="n">stream</span><span class="p">.</span><span 
class="n">release</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">stream</span><span class="p">);</span>
 </pre></div>
 </div>
 </section>
 <section id="cleanup">
 <h3>Cleanup<a class="headerlink" href="#cleanup" title="Permalink to this 
heading">#</a></h3>
 <p>At the end, we must release all our resources.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">207</span>  <span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcStatementRelease</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">statement</span><span class="p">,</span> 
<span class="o">&amp;</span><span class="n">error</span><span 
class="p">));</span>
-<span class="linenos">208</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcConnectionRelease</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">connection</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
-<span class="linenos">209</span>  <span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcDatabaseRelease</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">database</span><span class="p">,</span> <span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
-<span class="linenos">210</span>  <span class="k">return</span> <span 
class="n">EXIT_SUCCESS</span><span class="p">;</span>
-<span class="linenos">211</span><span class="p">}</span>
+<div class="highlight-cpp notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">208</span><span 
class="w">  </span><span class="n">CHECK_ADBC</span><span 
class="p">(</span><span class="n">AdbcStatementRelease</span><span 
class="p">(</span><span class="o">&amp;</span><span 
class="n">statement</span><span class="p">,</span><span class="w"> </span><span 
class="o">&amp;</span><span class="n">error</span><span class="p">));</span>
+<span class="linenos">209</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcConnectionRelease</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">connection</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">error</span><span class="p">));</span>
+<span class="linenos">210</span><span class="w">  </span><span 
class="n">CHECK_ADBC</span><span class="p">(</span><span 
class="n">AdbcDatabaseRelease</span><span class="p">(</span><span 
class="o">&amp;</span><span class="n">database</span><span 
class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span 
class="n">error</span><span class="p">));</span>
+<span class="linenos">211</span><span class="w">  </span><span 
class="k">return</span><span class="w"> </span><span 
class="n">EXIT_SUCCESS</span><span class="p">;</span>
+<span class="linenos">212</span><span class="p">}</span>
 </pre></div>
 </div>
 </section>
diff --git a/main/python/recipe/driver_manager.html 
b/main/python/recipe/driver_manager.html
index da37625b..ebe14511 100644
--- a/main/python/recipe/driver_manager.html
+++ b/main/python/recipe/driver_manager.html
@@ -328,7 +328,7 @@
 For drivers provided by the Arrow project, you don’t need to worry
 about this; the Python package will take care of this for you.
 Other drivers may need configuration, though.  We’ll use <a class="reference 
external" href="https://duckdb.org";>DuckDB</a> as an example.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">25</span><span 
class="kn">import</span> <span class="nn">duckdb</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">25</span><span 
class="kn">import</span> <span class="nn">duckdb</span>
 <span class="linenos">26</span>
 <span class="linenos">27</span><span class="kn">import</span> <span 
class="nn">adbc_driver_manager.dbapi</span>
 </pre></div>
@@ -336,7 +336,7 @@ Other drivers may need configuration, though.  We’ll use <a 
class="reference e
 <p>The driver manager needs the path to the shared library.  It also
 needs the name of the entrypoint function.  Both of these should be
 found in the driver’s documentation.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">32</span><span 
class="n">conn</span> <span class="o">=</span> <span 
class="n">adbc_driver_manager</span><span class="o">.</span><span 
class="n">dbapi</span><span class="o">.</span><span 
class="n">connect</span><span class="p">(</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">32</span><span 
class="n">conn</span> <span class="o">=</span> <span 
class="n">adbc_driver_manager</span><span class="o">.</span><span 
class="n">dbapi</span><span class="o">.</span><span 
class="n">connect</span><span class="p">(</span>
 <span class="linenos">33</span>    <span class="n">driver</span><span 
class="o">=</span><span class="n">duckdb</span><span class="o">.</span><span 
class="vm">__file__</span><span class="p">,</span>
 <span class="linenos">34</span>    <span class="n">entrypoint</span><span 
class="o">=</span><span class="s2">&quot;duckdb_adbc_init&quot;</span><span 
class="p">,</span>
 <span class="linenos">35</span><span class="p">)</span>
@@ -344,7 +344,7 @@ found in the driver’s documentation.</p>
 </div>
 <p>Once we provide that, everything else about the connection is the
 same as usual.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">40</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">40</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">41</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;SELECT 1&quot;</span><span class="p">)</span>
 <span class="linenos">42</span>    <span class="k">assert</span> <span 
class="n">cur</span><span class="o">.</span><span 
class="n">fetchone</span><span class="p">()</span> <span class="o">==</span> 
<span class="p">(</span><span class="mi">1</span><span class="p">,)</span>
 <span class="linenos">43</span>
diff --git a/main/python/recipe/postgresql.html 
b/main/python/recipe/postgresql.html
index 024ec8b8..1c48e4ef 100644
--- a/main/python/recipe/postgresql.html
+++ b/main/python/recipe/postgresql.html
@@ -331,7 +331,7 @@ be provided in the URI.  For example,</p>
 </div>
 <p>See the <a class="reference external" 
href="https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING";>PostgreSQL
 documentation</a>
 for full details.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">30</span><span 
class="kn">import</span> <span class="nn">os</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">30</span><span 
class="kn">import</span> <span class="nn">os</span>
 <span class="linenos">31</span>
 <span class="linenos">32</span><span class="kn">import</span> <span 
class="nn">adbc_driver_postgresql.dbapi</span>
 <span class="linenos">33</span>
@@ -351,7 +351,7 @@ for full details.</p>
 <p>Recipe source: <a class="reference external" 
href="https://github.com/apache/arrow-adbc/blob/main/docs/source/python/recipe/postgresql_create_append_table.py";>postgresql_create_append_table.py</a></p>
 <p>ADBC allows creating and appending to database tables using Arrow
 tables.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">22</span><span 
class="kn">import</span> <span class="nn">os</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">22</span><span 
class="kn">import</span> <span class="nn">os</span>
 <span class="linenos">23</span>
 <span class="linenos">24</span><span class="kn">import</span> <span 
class="nn">pyarrow</span>
 <span class="linenos">25</span>
@@ -363,12 +363,12 @@ tables.</p>
 </div>
 <p>For the purposes of testing, we’ll first make sure the table
 doesn’t exist.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">33</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">33</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">34</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;DROP TABLE IF EXISTS example&quot;</span><span 
class="p">)</span>
 </pre></div>
 </div>
 <p>Now we can create the table.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">37</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">37</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">38</span>    <span class="n">data</span> <span 
class="o">=</span> <span class="n">pyarrow</span><span class="o">.</span><span 
class="n">table</span><span class="p">(</span>
 <span class="linenos">39</span>        <span class="p">[</span>
 <span class="linenos">40</span>            <span class="p">[</span><span 
class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span 
class="p">,</span> <span class="kc">None</span><span class="p">,</span> <span 
class="mi">4</span><span class="p">],</span>
@@ -385,7 +385,7 @@ doesn’t exist.</p>
 </pre></div>
 </div>
 <p>After ingestion, we can fetch the result.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">53</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">53</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">54</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;SELECT * FROM example&quot;</span><span class="p">)</span>
 <span class="linenos">55</span>    <span class="k">assert</span> <span 
class="n">cur</span><span class="o">.</span><span 
class="n">fetchone</span><span class="p">()</span> <span class="o">==</span> 
<span class="p">(</span><span class="mi">1</span><span class="p">,)</span>
 <span class="linenos">56</span>    <span class="k">assert</span> <span 
class="n">cur</span><span class="o">.</span><span 
class="n">fetchone</span><span class="p">()</span> <span class="o">==</span> 
<span class="p">(</span><span class="mi">2</span><span class="p">,)</span>
@@ -396,7 +396,7 @@ doesn’t exist.</p>
 </div>
 <p>If we try to ingest again, it’ll fail, because the table already
 exists.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">63</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">63</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">64</span>    <span class="k">try</span><span 
class="p">:</span>
 <span class="linenos">65</span>        <span class="n">cur</span><span 
class="o">.</span><span class="n">adbc_ingest</span><span 
class="p">(</span><span class="s2">&quot;example&quot;</span><span 
class="p">,</span> <span class="n">data</span><span class="p">,</span> <span 
class="n">mode</span><span class="o">=</span><span 
class="s2">&quot;create&quot;</span><span class="p">)</span>
 <span class="linenos">66</span>    <span class="k">except</span> <span 
class="n">conn</span><span class="o">.</span><span 
class="n">OperationalError</span><span class="p">:</span>
@@ -406,7 +406,7 @@ exists.</p>
 </pre></div>
 </div>
 <p>Instead, we can append to the table.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">72</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">72</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">73</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">adbc_ingest</span><span 
class="p">(</span><span class="s2">&quot;example&quot;</span><span 
class="p">,</span> <span class="n">data</span><span class="p">,</span> <span 
class="n">mode</span><span class="o">=</span><span 
class="s2">&quot;append&quot;</span><span class="p">)</span>
 <span class="linenos">74</span>
 <span class="linenos">75</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;SELECT COUNT(*) FROM example&quot;</span><span 
class="p">)</span>
@@ -422,7 +422,7 @@ exists.</p>
 <p>ADBC allows using Python and Arrow values as bind parameters.
 Right now, the PostgreSQL driver only supports bind parameters
 for queries that don’t generate result sets.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">24</span><span 
class="kn">import</span> <span class="nn">os</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">24</span><span 
class="kn">import</span> <span class="nn">os</span>
 <span class="linenos">25</span>
 <span class="linenos">26</span><span class="kn">import</span> <span 
class="nn">pyarrow</span>
 <span class="linenos">27</span>
@@ -433,7 +433,7 @@ for queries that don’t generate result sets.</p>
 </pre></div>
 </div>
 <p>We’ll create an example table to test.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">34</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">34</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">35</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;DROP TABLE IF EXISTS example&quot;</span><span 
class="p">)</span>
 <span class="linenos">36</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;CREATE TABLE example (ints INT, bigints 
BIGINT)&quot;</span><span class="p">)</span>
 <span class="linenos">37</span>
@@ -441,7 +441,7 @@ for queries that don’t generate result sets.</p>
 </pre></div>
 </div>
 <p>We can bind Python values:</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">41</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">41</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">42</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">executemany</span><span 
class="p">(</span><span class="s2">&quot;INSERT INTO example VALUES ($1, 
$2)&quot;</span><span class="p">,</span> <span class="p">[(</span><span 
class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span 
class="p">),</span> <span class="p">(</span><span class="mi">3</span><span 
class="p">,</span> <span class="mi">4</span><span class="p">)])</span>
 <span class="linenos">43</span>
 <span class="linenos">44</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;SELECT SUM(ints) FROM example&quot;</span><span 
class="p">)</span>
@@ -455,7 +455,7 @@ libraries like psycopg use for bind parameters, note that 
this
 is not supported—only the PostgreSQL-native <code class="docutils literal 
notranslate"><span class="pre">$1</span></code> syntax.</p>
 </div>
 <p>We can also bind Arrow values:</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">52</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">52</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">53</span>    <span class="n">data</span> <span 
class="o">=</span> <span class="n">pyarrow</span><span class="o">.</span><span 
class="n">record_batch</span><span class="p">(</span>
 <span class="linenos">54</span>        <span class="p">[</span>
 <span class="linenos">55</span>            <span class="p">[</span><span 
class="mi">5</span><span class="p">,</span> <span class="mi">6</span><span 
class="p">],</span>
@@ -476,7 +476,7 @@ is not supported—only the PostgreSQL-native <code 
class="docutils literal notr
 <h2>Get the Arrow schema of a table<a class="headerlink" 
href="#get-the-arrow-schema-of-a-table" title="Permalink to this 
heading">#</a></h2>
 <p>Recipe source: <a class="reference external" 
href="https://github.com/apache/arrow-adbc/blob/main/docs/source/python/recipe/postgresql_get_table_schema.py";>postgresql_get_table_schema.py</a></p>
 <p>ADBC lets you get the schema of a table as an Arrow schema.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">22</span><span 
class="kn">import</span> <span class="nn">os</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">22</span><span 
class="kn">import</span> <span class="nn">os</span>
 <span class="linenos">23</span>
 <span class="linenos">24</span><span class="kn">import</span> <span 
class="nn">pyarrow</span>
 <span class="linenos">25</span>
@@ -487,7 +487,7 @@ is not supported—only the PostgreSQL-native <code 
class="docutils literal notr
 </pre></div>
 </div>
 <p>We’ll create an example table to test.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">32</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">32</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">33</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;DROP TABLE IF EXISTS example&quot;</span><span 
class="p">)</span>
 <span class="linenos">34</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;CREATE TABLE example (ints INT, bigints 
BIGINT)&quot;</span><span class="p">)</span>
 <span class="linenos">35</span>
@@ -508,7 +508,7 @@ is not supported—only the PostgreSQL-native <code 
class="docutils literal notr
 <h2>List catalogs, schemas, and tables<a class="headerlink" 
href="#list-catalogs-schemas-and-tables" title="Permalink to this 
heading">#</a></h2>
 <p>Recipe source: <a class="reference external" 
href="https://github.com/apache/arrow-adbc/blob/main/docs/source/python/recipe/postgresql_list_catalogs.py";>postgresql_list_catalogs.py</a></p>
 <p>ADBC allows listing tables, catalogs, and schemas in the database.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">22</span><span 
class="kn">import</span> <span class="nn">os</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">22</span><span 
class="kn">import</span> <span class="nn">os</span>
 <span class="linenos">23</span>
 <span class="linenos">24</span><span class="kn">import</span> <span 
class="nn">adbc_driver_postgresql.dbapi</span>
 <span class="linenos">25</span>
@@ -517,7 +517,7 @@ is not supported—only the PostgreSQL-native <code 
class="docutils literal notr
 </pre></div>
 </div>
 <p>We’ll create an example table to look for.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">30</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">30</span><span 
class="k">with</span> <span class="n">conn</span><span class="o">.</span><span 
class="n">cursor</span><span class="p">()</span> <span class="k">as</span> 
<span class="n">cur</span><span class="p">:</span>
 <span class="linenos">31</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;DROP TABLE IF EXISTS example&quot;</span><span 
class="p">)</span>
 <span class="linenos">32</span>    <span class="n">cur</span><span 
class="o">.</span><span class="n">execute</span><span class="p">(</span><span 
class="s2">&quot;CREATE TABLE example (ints INT, bigints 
BIGINT)&quot;</span><span class="p">)</span>
 <span class="linenos">33</span>
@@ -525,11 +525,11 @@ is not supported—only the PostgreSQL-native <code 
class="docutils literal notr
 </pre></div>
 </div>
 <p>The data is given as a PyArrow RecordBatchReader.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">37</span><span 
class="n">objects</span> <span class="o">=</span> <span 
class="n">conn</span><span class="o">.</span><span 
class="n">adbc_get_objects</span><span class="p">(</span><span 
class="n">depth</span><span class="o">=</span><span 
class="s2">&quot;all&quot;</span><span class="p">)</span><span 
class="o">.</span><span class="n">read_all</span><span class="p">()</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">37</span><span 
class="n">objects</span> <span class="o">=</span> <span 
class="n">conn</span><span class="o">.</span><span 
class="n">adbc_get_objects</span><span class="p">(</span><span 
class="n">depth</span><span class="o">=</span><span 
class="s2">&quot;all&quot;</span><span class="p">)</span><span 
class="o">.</span><span class="n">read_all</span><span class="p">()</span>
 </pre></div>
 </div>
 <p>We’ll convert it to plain Python data for convenience.</p>
-<div class="highlight-default notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">40</span><span 
class="n">objects</span> <span class="o">=</span> <span 
class="n">objects</span><span class="o">.</span><span 
class="n">to_pylist</span><span class="p">()</span>
+<div class="highlight-python notranslate"><div 
class="highlight"><pre><span></span><span class="linenos">40</span><span 
class="n">objects</span> <span class="o">=</span> <span 
class="n">objects</span><span class="o">.</span><span 
class="n">to_pylist</span><span class="p">()</span>
 <span class="linenos">41</span><span class="n">catalog</span> <span 
class="o">=</span> <span class="n">objects</span><span class="p">[</span><span 
class="mi">0</span><span class="p">]</span>
 <span class="linenos">42</span><span class="k">assert</span> <span 
class="n">catalog</span><span class="p">[</span><span 
class="s2">&quot;catalog_name&quot;</span><span class="p">]</span> <span 
class="o">==</span> <span class="s2">&quot;postgres&quot;</span>
 <span class="linenos">43</span>
diff --git a/main/searchindex.js b/main/searchindex.js
index 2de8f62c..c68e5759 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["cpp/api/adbc", "cpp/api/adbc_driver_manager", 
"cpp/api/index", "cpp/concurrency", "cpp/driver_manager", "cpp/index", 
"cpp/quickstart", "development/contributing", "development/nightly", 
"development/releasing", "driver/flight_sql", "driver/installation", 
"driver/jdbc", "driver/postgresql", "driver/snowflake", "driver/sqlite", 
"driver/status", "faq", "format/comparison", "format/specification", 
"format/versioning", "index", "java/index", "python/api/adbc_dri [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["cpp/api/adbc", "cpp/api/adbc_driver_manager", 
"cpp/api/index", "cpp/concurrency", "cpp/driver_manager", "cpp/index", 
"cpp/quickstart", "development/contributing", "development/nightly", 
"development/releasing", "driver/flight_sql", "driver/installation", 
"driver/jdbc", "driver/postgresql", "driver/snowflake", "driver/sqlite", 
"driver/status", "faq", "format/comparison", "format/specification", 
"format/versioning", "index", "java/index", "python/api/adbc_dri [...]
\ No newline at end of file

Reply via email to