You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DESCRIPTION.rst
+8-8Lines changed: 8 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
This package includes the Snowflake SQLAlchemy, which supports Snowsql dialects for SQLAlchemy
1
+
This package includes the Snowflake SQLAlchemy, which supports Snowsql dialects for SQLAlchemy
2
2
http://www.sqlalchemy.org/
3
3
4
4
Snowflake Documentation is available at:
@@ -16,11 +16,11 @@ Release Notes
16
16
- Add support for geography type
17
17
- Fixed a bug where foreign key's referred schema was set incorrectly
18
18
- Disabled new SQLAlchemy option for statement caching until support gets added
19
-
19
+
20
20
- v1.3.3(December 19,2021)
21
21
22
22
- Fixed an issue where quote arguments were stripped from identifiers.
23
-
23
+
24
24
- v1.3.2 (September 14,2021)
25
25
26
26
- Fixed a breaking change introduced in SQLAlchemy 1.4 that changed the behavior of returns_unicode_strings.
@@ -38,13 +38,13 @@ Release Notes
38
38
- Fixed an issue where inspector would not properly switch to table wide column retrieving when schema wide column retrieving was taking too long to respond.
39
39
40
40
- v1.2.3 (March 30, 2020)
41
-
41
+
42
42
- Update tox.ini
43
43
- Add external stage to COPY INTO custom command.
44
44
- Bumped pandas to newest versions
45
45
46
46
- v1.2.2 (March 9, 2020)
47
-
47
+
48
48
- Allow get_table_comment to fetch view comments too
49
49
50
50
- v1.2.1 (February 18,2020)
@@ -77,7 +77,7 @@ Release Notes
77
77
- Fix SQLAlchemy not working with global url
78
78
79
79
- v1.1.15 (September 30, 2019)
80
-
80
+
81
81
- Incorrect SQL generated for INSERT with CTE
82
82
- Type Synonyms not exported to top-level module #109
Snowflake SQLAlchemy runs on the top of the Snowflake Connector for Python as a `dialect <http://docs.sqlalchemy.org/en/latest/dialects/>`_ to bridge a Snowflake database and SQLAlchemy applications.
14
14
15
15
Prerequisites
@@ -64,7 +64,7 @@ Verifying Your Installation
64
64
connection.close()
65
65
engine.dispose()
66
66
67
-
#. Replace :code:`<your_user_login_name>`, :code:`<your_password>`, and :code:`<your_account_name>` with the appropriate values for your Snowflake account and user. For more details, see `Connection Parameters`_ (in
67
+
#. Replace :code:`<your_user_login_name>`, :code:`<your_password>`, and :code:`<your_account_name>` with the appropriate values for your Snowflake account and user. For more details, see `Connection Parameters`_ (in
68
68
this topic).
69
69
70
70
#. Execute the sample code. For example, if you created a file named :code:`validate.py`:
@@ -89,9 +89,9 @@ Snowflake SQLAlchemy uses the following syntax for the connection string used to
- :code:`<user_login_name>` is the login name for your Snowflake user.
97
97
- :code:`<password>` is the password for your Snowflake user.
@@ -113,12 +113,12 @@ You can optionally specify the initial database and schema for the Snowflake ses
113
113
The following example calls the :code:`create_engine` method with the user name :code:`testuser1`, password :code:`0123456`, account name :code:`abc123`, database :code:`testdb`, schema :code:`public`, warehouse :code:`testwh`, and role :code:`myrole`:
For convenience, you can use the :code:`snowflake.sqlalchemy.URL` method to construct the connection string and connect to the database. The following example constructs the same connection string from the previous example:
@@ -157,7 +157,7 @@ Use the supported environment variables, :code:`HTTPS_PROXY`, :code:`HTTP_PROXY`
Open a connection by executing :code:`engine.connect()`; avoid using :code:`engine.execute()`. Make certain to close the connection by executing :code:`connection.close()` before
160
+
Open a connection by executing :code:`engine.connect()`; avoid using :code:`engine.execute()`. Make certain to close the connection by executing :code:`connection.close()` before
161
161
:code:`engine.dispose()`; otherwise, the Python Garbage collector removes the resources required to communicate with Snowflake, preventing the Python connector from closing the session properly.
162
162
163
163
.. code-block:: python
@@ -183,7 +183,7 @@ Auto-increment Behavior
183
183
Auto-incrementing a value requires the :code:`Sequence` object. Include the :code:`Sequence` object in the primary key column to automatically increment the value as each new record is inserted. For example:
SQLAlchemy provides `the runtime inspection API <http://docs.sqlalchemy.org/en/latest/core/inspection.html>`_ to get the runtime information about the various objects. One of the common use case is get all tables and their column metadata in a schema in order to construct a schema catalog. For example, `alembic <http://alembic.zzzcomputing.com/>`_ on top of SQLAlchemy manages database schema migrations. A pseudo code flow is as follows:
In this flow, a potential problem is it may take quite a while as queries run on each table. The results are cached but getting column metadata is expensive.
257
257
258
-
To mitigate the problem, Snowflake SQLAlchemy takes a flag :code:`cache_column_metadata=True` such that all of column metadata for all tables are cached when :code:`get_table_names` is called and the rest of :code:`get_columns`, :code:`get_primary_keys` and :code:`get_foreign_keys` can take advantage of the cache.
259
-
258
+
To mitigate the problem, Snowflake SQLAlchemy takes a flag :code:`cache_column_metadata=True` such that all of column metadata for all tables are cached when :code:`get_table_names` is called and the rest of :code:`get_columns`, :code:`get_primary_keys` and :code:`get_foreign_keys` can take advantage of the cache.
0 commit comments