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 1ea0fb18 publish documentation
1ea0fb18 is described below
commit 1ea0fb18966a40a7050374caebfc93a3c2a5ecb3
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Fri Sep 1 18:08:19 2023 +0000
publish documentation
---
main/_sources/driver/snowflake.rst.txt | 57 ++++++++++++++++++++-
main/driver/snowflake.html | 59 ++++++++++++++++++++--
main/r/adbcdrivermanager/pkgdown.yml | 2 +-
.../reference/adbc_connection_init.html | 4 +-
.../reference/adbc_database_init.html | 2 +-
.../reference/adbc_statement_init.html | 6 +--
main/r/adbcdrivermanager/search.json | 2 +-
main/r/adbcflightsql/pkgdown.yml | 2 +-
main/r/adbcpostgresql/pkgdown.yml | 2 +-
main/r/adbcsnowflake/pkgdown.yml | 2 +-
main/r/adbcsqlite/pkgdown.yml | 2 +-
main/searchindex.js | 2 +-
12 files changed, 124 insertions(+), 18 deletions(-)
diff --git a/main/_sources/driver/snowflake.rst.txt
b/main/_sources/driver/snowflake.rst.txt
index 3e17b5b0..52db3428 100644
--- a/main/_sources/driver/snowflake.rst.txt
+++ b/main/_sources/driver/snowflake.rst.txt
@@ -165,7 +165,60 @@ password can be provided in the URI or via the
``username`` and ``password``
options to the :cpp:class:`AdbcDatabase`.
Alternately, other types of authentication can be specified and customized.
-See "Client Options" below.
+See "Client Options" below for details on all the options.
+
+SSO Authentication
+~~~~~~~~~~~~~~~~~~
+
+Snowflake supports `single sign-on
+<https://docs.snowflake.com/en/user-guide/admin-security-fed-auth-overview>`_.
+If your account has been configured with SSO, it can be used with the
+Snowflake driver by setting the following options when constructing the
+:cpp:class:`AdbcDatabase`:
+
+- ``adbc.snowflake.sql.account``: your Snowflake account. (For example, if
+ you log in to ``https://foobar.snowflakecomputing.com``, then your account
+ identifier is ``foobar``.)
+- ``adbc.snowflake.sql.auth_type``: ``auth_ext_browser``.
+- ``username``: your username. (This should probably be your email,
+ e.g. ``[email protected]``.)
+
+A new browser tab or window should appear where you can continue the login.
+Once this is complete, you will have a complete ADBC database/connection
+object. Some users have reported needing other configuration options, such as
+``adbc.snowflake.sql.region`` and ``adbc.snowflake.sql.uri.*`` (see below for
+a listing).
+
+.. tab-set::
+
+ .. tab-item:: Python
+ :sync: python
+
+ .. code-block:: python
+
+ import adbc_driver_snowflake.dbapi
+ # This will open a new browser tab, and block until you log in.
+ adbc_driver_snowflake.dbapi.connect(db_kwargs={
+ "adbc.snowflake.sql.account": "foobar",
+ "adbc.snowflake.sql.auth_type": "auth_ext_browser",
+ "username": "[email protected]",
+ })
+
+ .. tab-item:: R
+ :sync: r
+
+ .. code-block:: r
+
+ library(adbcdrivermanager)
+ db <- adbc_database_init(
+ adbcsnowflake::adbcsnowflake(),
+ adbc.snowflake.sql.account = 'foobar',
+ adbc.snowflake.sql.auth_type = 'auth_ext_browser'
+ username = '[email protected]',
+ )
+ # This will open a new browser tab, and block until you log in.
+ con <- adbc_connection_init(db)
+
Bulk Ingestion
--------------
@@ -198,7 +251,7 @@ In addition, the current database and schema for the
session must be set. If
these are not set, the ``CREATE TEMPORARY STAGE`` command executed by the
driver
can fail with the following error:
-.. code-block::
+.. code-block:: sql
CREATE TEMPORARY STAGE SYSTEM$BIND file_format=(type=csv
field_optionally_enclosed_by='"')
CANNOT perform CREATE STAGE. This session does not have a current schema.
Call 'USE SCHEMA' or use a qualified name.
diff --git a/main/driver/snowflake.html b/main/driver/snowflake.html
index 2a07367e..37d12502 100644
--- a/main/driver/snowflake.html
+++ b/main/driver/snowflake.html
@@ -460,7 +460,57 @@ it will attempt to use Username/Password authentication.
The username and
password can be provided in the URI or via the <code class="docutils literal
notranslate"><span class="pre">username</span></code> and <code class="docutils
literal notranslate"><span class="pre">password</span></code>
options to the <a class="reference internal"
href="../cpp/api/adbc.html#_CPPv412AdbcDatabase" title="AdbcDatabase"><code
class="xref cpp cpp-class docutils literal notranslate"><span
class="pre">AdbcDatabase</span></code></a>.</p>
<p>Alternately, other types of authentication can be specified and customized.
-See “Client Options” below.</p>
+See “Client Options” below for details on all the options.</p>
+<section id="sso-authentication">
+<h4>SSO Authentication<a class="headerlink" href="#sso-authentication"
title="Permalink to this heading">#</a></h4>
+<p>Snowflake supports <a class="reference external"
href="https://docs.snowflake.com/en/user-guide/admin-security-fed-auth-overview">single
sign-on</a>.
+If your account has been configured with SSO, it can be used with the
+Snowflake driver by setting the following options when constructing the
+<a class="reference internal" href="../cpp/api/adbc.html#_CPPv412AdbcDatabase"
title="AdbcDatabase"><code class="xref cpp cpp-class docutils literal
notranslate"><span class="pre">AdbcDatabase</span></code></a>:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">adbc.snowflake.sql.account</span></code>: your Snowflake account.
(For example, if
+you log in to <code class="docutils literal notranslate"><span
class="pre">https://foobar.snowflakecomputing.com</span></code>, then your
account
+identifier is <code class="docutils literal notranslate"><span
class="pre">foobar</span></code>.)</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">adbc.snowflake.sql.auth_type</span></code>: <code class="docutils
literal notranslate"><span class="pre">auth_ext_browser</span></code>.</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">username</span></code>: your username. (This should probably be
your email,
+e.g. <code class="docutils literal notranslate"><span
class="pre">jdoe@example.com</span></code>.)</p></li>
+</ul>
+<p>A new browser tab or window should appear where you can continue the login.
+Once this is complete, you will have a complete ADBC database/connection
+object. Some users have reported needing other configuration options, such as
+<code class="docutils literal notranslate"><span
class="pre">adbc.snowflake.sql.region</span></code> and <code class="docutils
literal notranslate"><span class="pre">adbc.snowflake.sql.uri.*</span></code>
(see below for
+a listing).</p>
+<div class="sd-tab-set docutils">
+<input checked="checked" id="sd-tab-item-8" name="sd-tab-set-2" type="radio">
+</input><label class="sd-tab-label" data-sync-id="python" for="sd-tab-item-8">
+Python</label><div class="sd-tab-content docutils">
+<div class="highlight-python notranslate"><div
class="highlight"><pre><span></span><span class="kn">import</span> <span
class="nn">adbc_driver_snowflake.dbapi</span>
+<span class="c1"># This will open a new browser tab, and block until you log
in.</span>
+<span class="n">adbc_driver_snowflake</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="n">db_kwargs</span><span class="o">=</span><span class="p">{</span>
+ <span class="s2">"adbc.snowflake.sql.account"</span><span
class="p">:</span> <span class="s2">"foobar"</span><span
class="p">,</span>
+ <span class="s2">"adbc.snowflake.sql.auth_type"</span><span
class="p">:</span> <span class="s2">"auth_ext_browser"</span><span
class="p">,</span>
+ <span class="s2">"username"</span><span class="p">:</span> <span
class="s2">"[email protected]"</span><span class="p">,</span>
+<span class="p">})</span>
+</pre></div>
+</div>
+</div>
+<input id="sd-tab-item-9" name="sd-tab-set-2" type="radio">
+</input><label class="sd-tab-label" data-sync-id="r" for="sd-tab-item-9">
+R</label><div class="sd-tab-content docutils">
+<div class="highlight-r notranslate"><div
class="highlight"><pre><span></span><span class="nf">library</span><span
class="p">(</span><span class="n">adbcdrivermanager</span><span
class="p">)</span>
+<span class="n">db</span><span class="w"> </span><span
class="o"><-</span><span class="w"> </span><span
class="nf">adbc_database_init</span><span class="p">(</span>
+<span class="w"> </span><span class="n">adbcsnowflake</span><span
class="o">::</span><span class="nf">adbcsnowflake</span><span
class="p">(),</span>
+<span class="w"> </span><span
class="n">adbc.snowflake.sql.account</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="s">'foobar'</span><span class="p">,</span>
+<span class="w"> </span><span
class="n">adbc.snowflake.sql.auth_type</span><span class="w"> </span><span
class="o">=</span><span class="w"> </span><span
class="s">'auth_ext_browser'</span>
+<span class="w"> </span><span class="n">username</span><span class="w">
</span><span class="o">=</span><span class="w"> </span><span
class="s">'[email protected]'</span><span class="p">,</span>
+<span class="p">)</span>
+<span class="c1"># This will open a new browser tab, and block until you log
in.</span>
+<span class="n">con</span><span class="w"> </span><span
class="o"><-</span><span class="w"> </span><span
class="nf">adbc_connection_init</span><span class="p">(</span><span
class="n">db</span><span class="p">)</span>
+</pre></div>
+</div>
+</div>
+</div>
+</section>
</section>
<section id="bulk-ingestion">
<h3>Bulk Ingestion<a class="headerlink" href="#bulk-ingestion"
title="Permalink to this heading">#</a></h3>
@@ -487,7 +537,7 @@ to the snowflake database.</p>
<p>In addition, the current database and schema for the session must be set. If
these are not set, the <code class="docutils literal notranslate"><span
class="pre">CREATE</span> <span class="pre">TEMPORARY</span> <span
class="pre">STAGE</span></code> command executed by the driver
can fail with the following error:</p>
-<div class="highlight-default notranslate"><div
class="highlight"><pre><span></span>CREATE TEMPORARY STAGE SYSTEM$BIND
file_format=(type=csv field_optionally_enclosed_by='"')
+<div class="highlight-sql notranslate"><div
class="highlight"><pre><span></span>CREATE TEMPORARY STAGE SYSTEM$BIND
file_format=(type=csv field_optionally_enclosed_by='"')
CANNOT perform CREATE STAGE. This session does not have a current schema. Call
'USE SCHEMA' or use a qualified name.
</pre></div>
</div>
@@ -764,7 +814,10 @@ Snowflake provides.</p></td>
</ul>
</li>
<li><a class="reference internal" href="#supported-features">Supported
Features</a><ul>
-<li><a class="reference internal"
href="#authentication">Authentication</a></li>
+<li><a class="reference internal" href="#authentication">Authentication</a><ul>
+<li><a class="reference internal" href="#sso-authentication">SSO
Authentication</a></li>
+</ul>
+</li>
<li><a class="reference internal" href="#bulk-ingestion">Bulk
Ingestion</a></li>
<li><a class="reference internal" href="#partitioned-result-sets">Partitioned
Result Sets</a></li>
<li><a class="reference internal" href="#performance">Performance</a></li>
diff --git a/main/r/adbcdrivermanager/pkgdown.yml
b/main/r/adbcdrivermanager/pkgdown.yml
index b1d5877a..1c67f851 100644
--- a/main/r/adbcdrivermanager/pkgdown.yml
+++ b/main/r/adbcdrivermanager/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 3.1.3
pkgdown: 2.0.7
pkgdown_sha: ~
articles: {}
-last_built: 2023-09-01T17:31Z
+last_built: 2023-09-01T18:06Z
diff --git a/main/r/adbcdrivermanager/reference/adbc_connection_init.html
b/main/r/adbcdrivermanager/reference/adbc_connection_init.html
index 43706fd0..16a27478 100644
--- a/main/r/adbcdrivermanager/reference/adbc_connection_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_connection_init.html
@@ -100,8 +100,8 @@ finer-grained control over behaviour at the R
level.</p></dd>
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor"
href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span
class="r-in"><span><span class="va">db</span> <span class="op"><-</span>
<span class="fu"><a
href="adbc_database_init.html">adbc_database_init</a></span><span
class="op">(</span><span class="fu"><a
href="adbc_driver_void.html">adbc_driver_void</a></span><span
class="op">(</span><span class="op">)</span><span
class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">adbc_connection_init</span><span
class="op">(</span><span class="va">db</span><span
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#></span> <adbc_connection>
<pointer: 0x55aee78df7a0> List of 2</span>
-<span class="r-out co"><span class="r-pr">#></span> $
database:<adbc_database> <pointer: 0x55aee71b1ac0> List of 2</span>
+<span class="r-out co"><span class="r-pr">#></span> <adbc_connection>
<pointer: 0x5585513a41c0> List of 2</span>
+<span class="r-out co"><span class="r-pr">#></span> $
database:<adbc_database> <pointer: 0x558552cd35e0> List of 2</span>
<span class="r-out co"><span class="r-pr">#></span> ..$ driver
:<adbc_driver_void> List of 1</span>
<span class="r-out co"><span class="r-pr">#></span> .. ..$
driver_init_func:Class 'adbc_driver_init_func' <externalptr> </span>
<span class="r-out co"><span class="r-pr">#></span> ..$ options:
list()</span>
diff --git a/main/r/adbcdrivermanager/reference/adbc_database_init.html
b/main/r/adbcdrivermanager/reference/adbc_database_init.html
index cce7b19e..c709f2d5 100644
--- a/main/r/adbcdrivermanager/reference/adbc_database_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_database_init.html
@@ -99,7 +99,7 @@ finer-grained control over behaviour at the R level.</p></dd>
<div class="section level2">
<h2 id="ref-examples">Examples<a class="anchor" aria-label="anchor"
href="#ref-examples"></a></h2>
<div class="sourceCode"><pre class="sourceCode r"><code><span
class="r-in"><span><span class="fu">adbc_database_init</span><span
class="op">(</span><span class="fu"><a
href="adbc_driver_void.html">adbc_driver_void</a></span><span
class="op">(</span><span class="op">)</span><span
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#></span> <adbc_database>
<pointer: 0x55aee74c2500> List of 2</span>
+<span class="r-out co"><span class="r-pr">#></span> <adbc_database>
<pointer: 0x5585532e6800> List of 2</span>
<span class="r-out co"><span class="r-pr">#></span> $ driver
:<adbc_driver_void> List of 1</span>
<span class="r-out co"><span class="r-pr">#></span> ..$
driver_init_func:Class 'adbc_driver_init_func' <externalptr> </span>
<span class="r-out co"><span class="r-pr">#></span> $ options:
list()</span>
diff --git a/main/r/adbcdrivermanager/reference/adbc_statement_init.html
b/main/r/adbcdrivermanager/reference/adbc_statement_init.html
index 1e6f9ae0..73a74856 100644
--- a/main/r/adbcdrivermanager/reference/adbc_statement_init.html
+++ b/main/r/adbcdrivermanager/reference/adbc_statement_init.html
@@ -101,9 +101,9 @@ finer-grained control over behaviour at the R
level.</p></dd>
<div class="sourceCode"><pre class="sourceCode r"><code><span
class="r-in"><span><span class="va">db</span> <span class="op"><-</span>
<span class="fu"><a
href="adbc_database_init.html">adbc_database_init</a></span><span
class="op">(</span><span class="fu"><a
href="adbc_driver_void.html">adbc_driver_void</a></span><span
class="op">(</span><span class="op">)</span><span
class="op">)</span></span></span>
<span class="r-in"><span><span class="va">con</span> <span
class="op"><-</span> <span class="fu"><a
href="adbc_connection_init.html">adbc_connection_init</a></span><span
class="op">(</span><span class="va">db</span><span
class="op">)</span></span></span>
<span class="r-in"><span><span class="fu">adbc_statement_init</span><span
class="op">(</span><span class="va">con</span><span
class="op">)</span></span></span>
-<span class="r-out co"><span class="r-pr">#></span> <adbc_statement>
<pointer: 0x55aee57dfe00> List of 2</span>
-<span class="r-out co"><span class="r-pr">#></span> $
connection:<adbc_connection> <pointer: 0x55aee7e4e3e0> List of
2</span>
-<span class="r-out co"><span class="r-pr">#></span> ..$
database:<adbc_database> <pointer: 0x55aee5b0c400> List of 2</span>
+<span class="r-out co"><span class="r-pr">#></span> <adbc_statement>
<pointer: 0x558553a58170> List of 2</span>
+<span class="r-out co"><span class="r-pr">#></span> $
connection:<adbc_connection> <pointer: 0x55855372c900> List of
2</span>
+<span class="r-out co"><span class="r-pr">#></span> ..$
database:<adbc_database> <pointer: 0x5585535ddd20> List of 2</span>
<span class="r-out co"><span class="r-pr">#></span> .. ..$ driver
:<adbc_driver_void> List of 1</span>
<span class="r-out co"><span class="r-pr">#></span> .. .. ..$
driver_init_func:Class 'adbc_driver_init_func' <externalptr> </span>
<span class="r-out co"><span class="r-pr">#></span> .. ..$ options:
list()</span>
diff --git a/main/r/adbcdrivermanager/search.json
b/main/r/adbcdrivermanager/search.json
index 0efdb9fb..4ca5f556 100644
--- a/main/r/adbcdrivermanager/search.json
+++ b/main/r/adbcdrivermanager/search.json
@@ -1 +1 @@
-[{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
License","title":"Apache License","text":"Version 2.0, January 2004
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms
and Conditions for use, reproduction, and distribution","what":"1.
Definitions","title":"Apache License","text":"“License” shall mean terms
conditions use, reproduction, distribution defined Sections [...]
+[{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"Apache
License","title":"Apache License","text":"Version 2.0, January 2004
<http://www.apache.org/licenses/>","code":""},{"path":[]},{"path":"/LICENSE.html","id":"id_1-definitions","dir":"","previous_headings":"Terms
and Conditions for use, reproduction, and distribution","what":"1.
Definitions","title":"Apache License","text":"“License” shall mean terms
conditions use, reproduction, distribution defined Sections [...]
diff --git a/main/r/adbcflightsql/pkgdown.yml b/main/r/adbcflightsql/pkgdown.yml
index b1d5877a..1b9ce84c 100644
--- a/main/r/adbcflightsql/pkgdown.yml
+++ b/main/r/adbcflightsql/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 3.1.3
pkgdown: 2.0.7
pkgdown_sha: ~
articles: {}
-last_built: 2023-09-01T17:31Z
+last_built: 2023-09-01T18:07Z
diff --git a/main/r/adbcpostgresql/pkgdown.yml
b/main/r/adbcpostgresql/pkgdown.yml
index b1d5877a..1c67f851 100644
--- a/main/r/adbcpostgresql/pkgdown.yml
+++ b/main/r/adbcpostgresql/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 3.1.3
pkgdown: 2.0.7
pkgdown_sha: ~
articles: {}
-last_built: 2023-09-01T17:31Z
+last_built: 2023-09-01T18:06Z
diff --git a/main/r/adbcsnowflake/pkgdown.yml b/main/r/adbcsnowflake/pkgdown.yml
index b1d5877a..1c67f851 100644
--- a/main/r/adbcsnowflake/pkgdown.yml
+++ b/main/r/adbcsnowflake/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 3.1.3
pkgdown: 2.0.7
pkgdown_sha: ~
articles: {}
-last_built: 2023-09-01T17:31Z
+last_built: 2023-09-01T18:06Z
diff --git a/main/r/adbcsqlite/pkgdown.yml b/main/r/adbcsqlite/pkgdown.yml
index b1d5877a..1c67f851 100644
--- a/main/r/adbcsqlite/pkgdown.yml
+++ b/main/r/adbcsqlite/pkgdown.yml
@@ -2,5 +2,5 @@ pandoc: 3.1.3
pkgdown: 2.0.7
pkgdown_sha: ~
articles: {}
-last_built: 2023-09-01T17:31Z
+last_built: 2023-09-01T18:06Z
diff --git a/main/searchindex.js b/main/searchindex.js
index 30c7ffed..59672e9a 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/duckdb", "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", "py [...]
\ 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/duckdb", "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", "py [...]
\ No newline at end of file