crate 1.0.0.dev1__tar.gz → 1.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- crate-1.0.1/CHANGES.rst +937 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/DEVELOP.rst +42 -13
- {crate-1.0.0.dev1 → crate-1.0.1}/LICENSE +0 -70
- crate-1.0.1/MANIFEST.in +5 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/NOTICE +1 -1
- {crate-1.0.0.dev1 → crate-1.0.1}/PKG-INFO +21 -6
- {crate-1.0.0.dev1 → crate-1.0.1}/README.rst +1 -1
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/connection.rst.txt → crate-1.0.1/docs/by-example/connection.rst +1 -1
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/cursor.rst.txt → crate-1.0.1/docs/by-example/cursor.rst +3 -4
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/http.rst.txt → crate-1.0.1/docs/by-example/http.rst +7 -5
- crate-1.0.1/docs/conf.py +35 -0
- crate-1.0.1/docs/docutils.conf +3 -0
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/index.rst.txt → crate-1.0.1/docs/index.rst +3 -3
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/query.rst.txt → crate-1.0.1/docs/query.rst +1 -2
- crate-1.0.1/pyproject.toml +102 -0
- crate-1.0.1/requirements.txt +2 -0
- crate-1.0.1/setup.cfg +4 -0
- crate-1.0.1/setup.py +101 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/__init__.py +4 -3
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/blob.py +9 -7
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/connection.py +58 -52
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/converter.py +15 -10
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/cursor.py +55 -51
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/exceptions.py +5 -3
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/http.py +192 -160
- crate-1.0.1/src/crate/testing/__init__.py +0 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/testing/layer.py +140 -102
- crate-1.0.0.dev1/src/crate/client/test_util.py → crate-1.0.1/src/crate/testing/util.py +30 -4
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate.egg-info/PKG-INFO +21 -6
- crate-1.0.1/src/crate.egg-info/SOURCES.txt +46 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate.egg-info/requires.txt +10 -11
- crate-1.0.0.dev1/MANIFEST.in +0 -5
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/appendices/data-types.rst.txt +0 -158
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/appendices/index.rst.txt +0 -14
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/backlog.rst.txt +0 -6
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/sqlalchemy/advanced-querying.rst.txt +0 -335
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/sqlalchemy/crud.rst.txt +0 -301
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/sqlalchemy/dataframe.rst.txt +0 -258
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/sqlalchemy/getting-started.rst.txt +0 -211
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/sqlalchemy/inspection-reflection.rst.txt +0 -126
- crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/sqlalchemy/working-with-types.rst.txt +0 -265
- crate-1.0.0.dev1/docs/.crate-docs/.build/_static/bundle/main.js.LICENSE.txt +0 -70
- crate-1.0.0.dev1/docs/.crate-docs/.build/output.txt +0 -17
- crate-1.0.0.dev1/docs/.crate-docs/common-build/requirements.txt +0 -10
- crate-1.0.0.dev1/docs/.crate-docs/docs/_extra/robots.txt +0 -2
- crate-1.0.0.dev1/docs/.crate-docs/docs/requirements.txt +0 -2
- crate-1.0.0.dev1/docs/.crate-docs/helpers/preview/etc/requirements.txt +0 -3
- crate-1.0.0.dev1/docs/_extra/robots.txt +0 -4
- crate-1.0.0.dev1/pyproject.toml +0 -5
- crate-1.0.0.dev1/setup.cfg +0 -7
- crate-1.0.0.dev1/setup.py +0 -98
- crate-1.0.0.dev1/src/crate/__init__.py +0 -28
- crate-1.0.0.dev1/src/crate/client/pki/readme.rst +0 -91
- crate-1.0.0.dev1/src/crate/client/test_connection.py +0 -98
- crate-1.0.0.dev1/src/crate/client/test_cursor.py +0 -341
- crate-1.0.0.dev1/src/crate/client/test_exceptions.py +0 -14
- crate-1.0.0.dev1/src/crate/client/test_http.py +0 -678
- crate-1.0.0.dev1/src/crate/testing/__init__.py +0 -1
- crate-1.0.0.dev1/src/crate/testing/settings.py +0 -51
- crate-1.0.0.dev1/src/crate/testing/test_datetime_old.py +0 -90
- crate-1.0.0.dev1/src/crate/testing/test_layer.py +0 -290
- crate-1.0.0.dev1/src/crate/testing/util.py +0 -20
- crate-1.0.0.dev1/src/crate.egg-info/SOURCES.txt +0 -70
- crate-1.0.0.dev1/src/crate.egg-info/namespace_packages.txt +0 -1
- {crate-1.0.0.dev1 → crate-1.0.1}/CONTRIBUTING.rst +0 -0
- {crate-1.0.0.dev1/docs/.crate-docs/.build → crate-1.0.1/docs/_extra}/robots.txt +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/blobs.rst.txt → /crate-1.0.1/docs/blobs.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/blob.rst.txt → /crate-1.0.1/docs/by-example/blob.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/client.rst.txt → /crate-1.0.1/docs/by-example/client.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/https.rst.txt → /crate-1.0.1/docs/by-example/https.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/by-example/index.rst.txt → /crate-1.0.1/docs/by-example/index.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/connect.rst.txt → /crate-1.0.1/docs/connect.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/data-types.rst.txt → /crate-1.0.1/docs/data-types.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/getting-started.rst.txt → /crate-1.0.1/docs/getting-started.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/index-all.rst.txt → /crate-1.0.1/docs/index-all.rst +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/other-options.rst.txt → /crate-1.0.1/docs/other-options.rst +0 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/docs/requirements.txt +0 -0
- /crate-1.0.0.dev1/docs/.crate-docs/.build/_sources/sqlalchemy.rst.txt → /crate-1.0.1/docs/sqlalchemy.rst +0 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate/client/_pep440.py +0 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate.egg-info/dependency_links.txt +0 -0
- {crate-1.0.0.dev1 → crate-1.0.1}/src/crate.egg-info/top_level.txt +0 -0
crate-1.0.1/CHANGES.rst
ADDED
@@ -0,0 +1,937 @@
|
|
1
|
+
=================
|
2
|
+
Changes for crate
|
3
|
+
=================
|
4
|
+
|
5
|
+
Unreleased
|
6
|
+
==========
|
7
|
+
|
8
|
+
|
9
|
+
2024/11/23 1.0.1
|
10
|
+
================
|
11
|
+
|
12
|
+
- Python: Fixed "implicit namespace packages" migration by omitting
|
13
|
+
``__init__.py`` from ``crate`` namespace package, see `PEP 420`_
|
14
|
+
and `Package Discovery and Namespace Package » Finding namespace packages`_.
|
15
|
+
|
16
|
+
|
17
|
+
2024/11/05 1.0.0
|
18
|
+
================
|
19
|
+
|
20
|
+
- BREAKING CHANGE: The SQLAlchemy dialect has been split off into
|
21
|
+
the `sqlalchemy-cratedb`_ package, see notice below.
|
22
|
+
- Feature: Returned Python ``datetime`` objects are now always timezone-aware,
|
23
|
+
using UTC by default.
|
24
|
+
It may be a breaking change for some users of the library that don't expect
|
25
|
+
to receive "aware" instead of "naive" Python ``datetime`` objects from now
|
26
|
+
on, i.e. instances with or without the ``tzinfo`` attribute set.
|
27
|
+
When no ``time_zone`` information is specified when creating a database
|
28
|
+
connection or cursor, ``datetime`` objects will now use Coordinated
|
29
|
+
Universal Time (UTC), like CrateDB is storing timestamp values in this
|
30
|
+
format.
|
31
|
+
This update is coming from a deprecation of Python's
|
32
|
+
``datetime.utcfromtimestamp()``, which is effectively also phasing out
|
33
|
+
the use of "naive" timestamp objects in Python, in favor of using
|
34
|
+
timezone-aware objects, also to represent datetimes in UTC.
|
35
|
+
- Feature: Configured DB API interface attribute ``threadsafety = 1``,
|
36
|
+
which signals "Threads may share the module, but not connections."
|
37
|
+
- Feature: Added ``error_trace`` to string representation of an Error,
|
38
|
+
to relay server stacktraces into exception messages.
|
39
|
+
- Refactoring: The module namespace ``crate.client.test_util`` has been
|
40
|
+
renamed to ``crate.testing.util``.
|
41
|
+
- Error handling: At two spots in cursor / value converter handling, where
|
42
|
+
``assert`` statements have been used, ``ValueError`` exceptions are raised
|
43
|
+
now.
|
44
|
+
- Python: Migrated to use "implicit namespace packages" instead of "declared
|
45
|
+
namespaces" for the ``crate`` namespace package, see `PEP 420`_.
|
46
|
+
|
47
|
+
|
48
|
+
.. note::
|
49
|
+
|
50
|
+
For learning about the transition to `sqlalchemy-cratedb`_,
|
51
|
+
we recommend to read the enumeration of necessary migration steps
|
52
|
+
at `Migrate from crate.client to sqlalchemy-cratedb`_.
|
53
|
+
|
54
|
+
|
55
|
+
.. _Migrate from crate.client to sqlalchemy-cratedb: https://cratedb.com/docs/sqlalchemy-cratedb/migrate-from-crate-client.html
|
56
|
+
.. _Package Discovery and Namespace Package » Finding namespace packages: https://setuptools.pypa.io/en/latest/userguide/package_discovery.html#namespace-packages
|
57
|
+
.. _PEP 420: https://peps.python.org/pep-0420/
|
58
|
+
.. _sqlalchemy-cratedb: https://pypi.org/project/sqlalchemy-cratedb/
|
59
|
+
|
60
|
+
|
61
|
+
2024/01/18 0.35.2
|
62
|
+
=================
|
63
|
+
|
64
|
+
- Test compatibility: Permit installation of pandas 2.1.
|
65
|
+
|
66
|
+
|
67
|
+
2024/01/18 0.35.1
|
68
|
+
=================
|
69
|
+
|
70
|
+
- Compatibility: Re-add ``crate.client._pep440.Version`` from ``verlib2``.
|
71
|
+
It is needed the prevent breaking ``crash``.
|
72
|
+
|
73
|
+
|
74
|
+
2024/01/17 0.35.0
|
75
|
+
=================
|
76
|
+
|
77
|
+
- Permit ``urllib3.Timeout`` instances for defining timeout values.
|
78
|
+
This way, both ``connect`` and ``read`` socket timeout settings can be
|
79
|
+
configured. The unit is seconds.
|
80
|
+
|
81
|
+
|
82
|
+
2023/09/29 0.34.0
|
83
|
+
=================
|
84
|
+
|
85
|
+
- Properly handle Python-native UUID types in SQL parameters. Thanks,
|
86
|
+
@SStorm.
|
87
|
+
- SQLAlchemy: Fix handling URL parameters ``timeout`` and ``pool_size``
|
88
|
+
- Permit installation with urllib3 v2, see also `urllib3 v2.0 roadmap`_
|
89
|
+
and `urllib3 v2.0 migration guide`_. You can optionally retain support
|
90
|
+
for TLS 1.0 and TLS 1.1, but a few other outdated use-cases of X.509
|
91
|
+
certificate details are immanent, like no longer accepting the long
|
92
|
+
deprecated ``commonName`` attribute. Instead, going forward, only the
|
93
|
+
``subjectAltName`` attribute will be used.
|
94
|
+
- SQLAlchemy: Improve DDL compiler to ignore foreign key and uniqueness
|
95
|
+
constraints.
|
96
|
+
- DBAPI: Properly raise ``IntegrityError`` exceptions instead of
|
97
|
+
``ProgrammingError``, when CrateDB raises a ``DuplicateKeyException``.
|
98
|
+
- SQLAlchemy: Ignore SQL's ``FOR UPDATE`` clause. Thanks, @surister.
|
99
|
+
|
100
|
+
.. _urllib3 v2.0 migration guide: https://urllib3.readthedocs.io/en/latest/v2-migration-guide.html
|
101
|
+
.. _urllib3 v2.0 roadmap: https://urllib3.readthedocs.io/en/stable/v2-roadmap.html
|
102
|
+
|
103
|
+
|
104
|
+
2023/07/17 0.33.0
|
105
|
+
=================
|
106
|
+
|
107
|
+
- SQLAlchemy: Rename leftover occurrences of ``Object``. The new symbol to represent
|
108
|
+
CrateDB's ``OBJECT`` column type is now ``ObjectType``.
|
109
|
+
|
110
|
+
- SQLAlchemy DQL: Use CrateDB's native ``ILIKE`` operator instead of using SA's
|
111
|
+
generic implementation ``lower() LIKE lower()``. Thanks, @hlcianfagna.
|
112
|
+
|
113
|
+
|
114
|
+
2023/07/06 0.32.0
|
115
|
+
=================
|
116
|
+
|
117
|
+
- SQLAlchemy DDL: Allow turning off column store using ``crate_columnstore=False``.
|
118
|
+
Thanks, @fetzerms.
|
119
|
+
|
120
|
+
- SQLAlchemy DDL: Allow setting ``server_default`` on columns to enable
|
121
|
+
server-generated defaults. Thanks, @JanLikar.
|
122
|
+
|
123
|
+
- Allow handling datetime values tagged with time zone info when inserting or updating.
|
124
|
+
|
125
|
+
- SQLAlchemy: Fix SQL statement caching for CrateDB's ``OBJECT`` type. Thanks, @faymarie.
|
126
|
+
|
127
|
+
- SQLAlchemy: Refactor ``OBJECT`` type to use SQLAlchemy's JSON type infrastructure.
|
128
|
+
|
129
|
+
- SQLAlchemy: Added ``insert_bulk`` fast-path ``INSERT`` method for pandas, in
|
130
|
+
order to support efficient batch inserts using CrateDB's "bulk operations" endpoint.
|
131
|
+
|
132
|
+
- SQLAlchemy: Add documentation and software tests for usage with Dask
|
133
|
+
|
134
|
+
|
135
|
+
2023/04/18 0.31.1
|
136
|
+
=================
|
137
|
+
|
138
|
+
- SQLAlchemy Core: Re-enable support for ``INSERT/UPDATE...RETURNING`` in
|
139
|
+
SQLAlchemy 2.0 by adding the new ``insert_returning`` and ``update_returning`` flags
|
140
|
+
in the CrateDB dialect.
|
141
|
+
|
142
|
+
|
143
|
+
2023/03/30 0.31.0
|
144
|
+
=================
|
145
|
+
|
146
|
+
- SQLAlchemy Core: Support ``INSERT...VALUES`` with multiple value sets by enabling
|
147
|
+
``supports_multivalues_insert`` on the CrateDB dialect, it is used by pandas'
|
148
|
+
``method="multi"`` option
|
149
|
+
|
150
|
+
- SQLAlchemy Core: Enable the ``insertmanyvalues`` feature, which lets you control
|
151
|
+
the batch size of ``INSERT`` operations using the ``insertmanyvalues_page_size``
|
152
|
+
engine-, connection-, and statement-options.
|
153
|
+
|
154
|
+
- SQLAlchemy ORM: Remove support for the legacy ``session.bulk_save_objects`` API
|
155
|
+
on SQLAlchemy 2.0, in favor of the new ``insertmanyvalues`` feature. Performance
|
156
|
+
optimizations from ``bulk_save()`` have been made inherently part of ``add_all()``.
|
157
|
+
Note: The legacy mode will still work on SQLAlchemy 1.x, while SQLAlchemy 2.x users
|
158
|
+
MUST switch to the new method now.
|
159
|
+
|
160
|
+
|
161
|
+
2023/03/02 0.30.1
|
162
|
+
=================
|
163
|
+
|
164
|
+
- Fixed SQLAlchemy 2.0 incompatibility with ``CrateDialect.{has_schema,has_table}``
|
165
|
+
|
166
|
+
|
167
|
+
2023/02/16 0.30.0
|
168
|
+
=================
|
169
|
+
|
170
|
+
- Added deprecation warning about dropping support for SQLAlchemy 1.3 soon, it
|
171
|
+
is effectively EOL.
|
172
|
+
|
173
|
+
- Added support for SQLAlchemy 2.0. See also `What's New in SQLAlchemy 2.0`_
|
174
|
+
and `SQLAlchemy 2.0 migration guide`_.
|
175
|
+
|
176
|
+
- Updated to geojson 3.0.0.
|
177
|
+
|
178
|
+
.. _SQLAlchemy 2.0 migration guide: https://docs.sqlalchemy.org/en/20/changelog/migration_20.html
|
179
|
+
.. _What's New in SQLAlchemy 2.0: https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html
|
180
|
+
|
181
|
+
|
182
|
+
2022/12/08 0.29.0
|
183
|
+
=================
|
184
|
+
|
185
|
+
- SQLAlchemy: Added support for ``crate_index`` and ``nullable`` attributes in
|
186
|
+
ORM column definitions.
|
187
|
+
|
188
|
+
- Added support for converting ``TIMESTAMP`` columns to timezone-aware
|
189
|
+
``datetime`` objects, using the new ``time_zone`` keyword argument.
|
190
|
+
|
191
|
+
|
192
|
+
2022/12/02 0.28.0
|
193
|
+
=================
|
194
|
+
|
195
|
+
- Added a generic data type converter to the ``Cursor`` object, for converting
|
196
|
+
fetched data from CrateDB data types to Python data types.
|
197
|
+
|
198
|
+
- Fixed generating appropriate syntax for OFFSET/LIMIT clauses. It was possible
|
199
|
+
that SQL statement clauses like ``LIMIT -1`` could have been generated. Both
|
200
|
+
PostgreSQL and CrateDB only accept ``LIMIT ALL`` instead.
|
201
|
+
|
202
|
+
- Added support for computed columns in the SQLAlchemy ORM
|
203
|
+
|
204
|
+
2022/10/10 0.27.2
|
205
|
+
=================
|
206
|
+
|
207
|
+
- Improved SQLAlchemy's ``CrateDialect.get_pk_constraint`` to be compatible
|
208
|
+
with breaking changes in CrateDB >=5.1.0.
|
209
|
+
|
210
|
+
|
211
|
+
2022/07/04 0.27.1
|
212
|
+
=================
|
213
|
+
|
214
|
+
- Fixed regression introduced by ``0.27.0`` resulting in unavailable servers if
|
215
|
+
all configured servers aren't reachable once.
|
216
|
+
|
217
|
+
|
218
|
+
2022/06/02 0.27.0
|
219
|
+
=================
|
220
|
+
|
221
|
+
- Added support for Python 3.9 and 3.10.
|
222
|
+
|
223
|
+
- Dropped support for Python 3.4, 3.5 and 3.6.
|
224
|
+
|
225
|
+
- Dropped support for SQLAlchemy 1.1 and 1.2.
|
226
|
+
|
227
|
+
- Dropped support for CrateDB < 2.0.0.
|
228
|
+
|
229
|
+
- BREAKING CHANGE: The driver now verifies SSL certificates when connecting via
|
230
|
+
HTTP by default. Previously, this setting defaulted to false. This setting
|
231
|
+
can be changed via the ``verify_ssl_cert`` connection parameter.
|
232
|
+
|
233
|
+
- Adjusted connect arguments to accept credentials within the HTTP URI.
|
234
|
+
|
235
|
+
- Added support for enabling SSL using SQLAlchemy DB URI with parameter
|
236
|
+
``?ssl=true``.
|
237
|
+
|
238
|
+
- Added support for SQLAlchemy 1.4
|
239
|
+
|
240
|
+
.. note::
|
241
|
+
|
242
|
+
For learning about the transition to SQLAlchemy 1.4, we recommend the
|
243
|
+
corresponding documentation `What’s New in SQLAlchemy 1.4?`_.
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
Breaking changes
|
248
|
+
----------------
|
249
|
+
|
250
|
+
Textual column expressions
|
251
|
+
''''''''''''''''''''''''''
|
252
|
+
|
253
|
+
SQLAlchemy 1.4 became stricter on some details. It requires to wrap `CrateDB
|
254
|
+
system columns`_ like ``_score`` in a `SQLAlchemy literal_column`_ type.
|
255
|
+
Before, it was possible to use a query like this::
|
256
|
+
|
257
|
+
session.query(Character.name, '_score')
|
258
|
+
|
259
|
+
It must now be written like::
|
260
|
+
|
261
|
+
session.query(Character.name, sa.literal_column('_score'))
|
262
|
+
|
263
|
+
Otherwise, SQLAlchemy will complain like::
|
264
|
+
|
265
|
+
sqlalchemy.exc.ArgumentError: Textual column expression '_score' should be
|
266
|
+
explicitly declared with text('_score'), or use column('_score') for more
|
267
|
+
specificity
|
268
|
+
|
269
|
+
|
270
|
+
.. _CrateDB system columns: https://crate.io/docs/crate/reference/en/4.8/general/ddl/system-columns.html
|
271
|
+
.. _SQLAlchemy literal_column: https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.literal_column
|
272
|
+
.. _What’s New in SQLAlchemy 1.4?: https://docs.sqlalchemy.org/en/14/changelog/migration_14.html
|
273
|
+
|
274
|
+
|
275
|
+
2020/09/28 0.26.0
|
276
|
+
=================
|
277
|
+
|
278
|
+
- Enabled TCP keepalive on socket level and support for setting socket options
|
279
|
+
when creating the connection. The supported options are:
|
280
|
+
|
281
|
+
- ``TCP_KEEPIDLE`` (overriding ``net.ipv4.tcp_keepalive_time``)
|
282
|
+
- ``TCP_KEEPINTVL`` (overriding ``net.ipv4.tcp_keepalive_intvl``)
|
283
|
+
- ``TCP_KEEPCNT`` (overriding ``net.ipv4.tcp_keepalive_probes``)
|
284
|
+
|
285
|
+
- Propagate connect parameter ``pool_size`` to urllib3 as ``maxsize`` parameter
|
286
|
+
in order to make the connection pool size configurable.
|
287
|
+
|
288
|
+
2020/08/05 0.25.0
|
289
|
+
=================
|
290
|
+
|
291
|
+
- Added support for the ``RETURNING`` clause to the SQLAlchemy dialect. This
|
292
|
+
requires CrateDB 4.2 or greater. In case you use any server side generated
|
293
|
+
columns in your primary key constraint with earlier CrateDB versions, you can
|
294
|
+
turn this feature off by passing ``implicit_returning=False`` in the
|
295
|
+
``create_engine()`` call.
|
296
|
+
|
297
|
+
- Added support for ``geo_point`` and ``geo_json`` types to the SQLAlchemy
|
298
|
+
dialect.
|
299
|
+
|
300
|
+
2020/05/27 0.24.0
|
301
|
+
=================
|
302
|
+
|
303
|
+
- Upgraded SQLAlchemy support to 1.3.
|
304
|
+
|
305
|
+
- Added ``backoff_factor`` in connection to configure retry interval.
|
306
|
+
|
307
|
+
- Added official Python 3.8 support.
|
308
|
+
|
309
|
+
- Made it so that the SQLAlchemy dialect is now aware of the return type of the
|
310
|
+
``date_trunc`` function.
|
311
|
+
|
312
|
+
- Added driver attribute, as SQLAlchemy relies on interfaces having that string for identification.
|
313
|
+
|
314
|
+
2019/09/19 0.23.2
|
315
|
+
=================
|
316
|
+
|
317
|
+
- Fixed a bug in the ``CrateLayer`` which caused ``CrateDB`` not to start up,
|
318
|
+
in case the ``JAVA_HOME`` environment variable was not set.
|
319
|
+
|
320
|
+
2019/08/01 0.23.1
|
321
|
+
=================
|
322
|
+
|
323
|
+
- Extended the type mapping for SQLAlchemy for the upcoming type name changes
|
324
|
+
in CrateDB 4.0.
|
325
|
+
|
326
|
+
- Added support for Python 3.7 and made that version the recommended one.
|
327
|
+
|
328
|
+
2019/03/05 0.23.0
|
329
|
+
=================
|
330
|
+
|
331
|
+
- Fixed a resource leak in ``CrateLayer``
|
332
|
+
|
333
|
+
- Added ability to specify chunk size when getting a blob from the blob container
|
334
|
+
|
335
|
+
2018/08/08 0.22.1
|
336
|
+
=================
|
337
|
+
|
338
|
+
- Client no longer removes servers from the active server list when encountering a
|
339
|
+
connection reset or a broken pipe error.
|
340
|
+
|
341
|
+
2018/05/02 0.22.0
|
342
|
+
=================
|
343
|
+
|
344
|
+
- BREAKING: Dropped support for Python 2.7 and 3.3
|
345
|
+
If you are using this package with Python 2.7 or 3.3 already, you will not be
|
346
|
+
able to install newer versions of this package.
|
347
|
+
|
348
|
+
- Add support for SQLAlchemy 1.2
|
349
|
+
|
350
|
+
- The client now allows to define a different default schema when connecting to
|
351
|
+
CrateDB with the ``schema`` keyword argument. This causes all statements and
|
352
|
+
queries that do not specify a schema explicitly to use the provided schema.
|
353
|
+
|
354
|
+
- Updated ``get_table_names()`` method in SQLAlchemy dialect to only return
|
355
|
+
tables but not views. This enables compatibility with CrateDB 3.0 and newer.
|
356
|
+
|
357
|
+
2018/03/14 0.21.3
|
358
|
+
=================
|
359
|
+
|
360
|
+
- Fixed an issue that caused ``metadata.create_all(bind=engine)`` to fail
|
361
|
+
creating tables that contain an ``ObjectArray`` column.
|
362
|
+
|
363
|
+
2018/02/15 0.21.2
|
364
|
+
=================
|
365
|
+
|
366
|
+
- BREAKING: In the testing layer, the custom setting of
|
367
|
+
`cluster.routing.allocation.disk.watermark.low` (1b) and
|
368
|
+
`cluster.routing.allocation.disk.watermark.high` (1b) has been removed.
|
369
|
+
These now default to 85% and 90%, respectively.
|
370
|
+
|
371
|
+
2018/01/03 0.21.1
|
372
|
+
=================
|
373
|
+
|
374
|
+
- Fixed an issue that prevented the usage of SQLAlchemy types ``NUMERIC`` and
|
375
|
+
``DECIMAL`` as column types.
|
376
|
+
|
377
|
+
2017/12/07 0.21.0
|
378
|
+
=================
|
379
|
+
|
380
|
+
- Added new parameter ``password`` used to authenticate the user in CrateDB.
|
381
|
+
|
382
|
+
- Prepared SQL Alchemy primary key retrieval for CrateDB 2.3.0. Preserved
|
383
|
+
backwards-compatibility for lower versions.
|
384
|
+
|
385
|
+
2017/08/18 0.20.1
|
386
|
+
=================
|
387
|
+
|
388
|
+
- Fixed deprecation warnings logged in CrateDB server on every REST request.
|
389
|
+
|
390
|
+
2017/06/26 0.20.0
|
391
|
+
=================
|
392
|
+
|
393
|
+
- Added new parameter ``username`` used to authenticate the user in CrateDB.
|
394
|
+
|
395
|
+
2017/06/23 0.19.5
|
396
|
+
=================
|
397
|
+
|
398
|
+
- Enforced cert check when verify_ssl_cert=True
|
399
|
+
|
400
|
+
2017/06/20 0.19.4
|
401
|
+
=================
|
402
|
+
|
403
|
+
- Testing: Fixed issue that caused the test layer to hang after it failed to
|
404
|
+
start a CrateDB instance in time.
|
405
|
+
|
406
|
+
2017/05/18 0.19.3
|
407
|
+
=================
|
408
|
+
|
409
|
+
- Fix bulk updates which were broken due to query rewrites.
|
410
|
+
|
411
|
+
|
412
|
+
2017/04/28 0.19.2
|
413
|
+
=================
|
414
|
+
|
415
|
+
- Output logs in test-layer in case when CrateDB instance does not start in
|
416
|
+
time.
|
417
|
+
|
418
|
+
- Increased the default timeout for the test-layer startup to avoid timeouts
|
419
|
+
on slow hosts.
|
420
|
+
|
421
|
+
2017/02/27 0.19.1
|
422
|
+
=================
|
423
|
+
|
424
|
+
- Testing: Prevent the process.stdout buffer from filling up in the test layer
|
425
|
+
which in turn would cause the process to block
|
426
|
+
|
427
|
+
- Raise more meaningful `BlobLocationNotFoundException` error when
|
428
|
+
trying to upload a file to an invalid blob table.
|
429
|
+
|
430
|
+
|
431
|
+
2017/02/17 0.19.0
|
432
|
+
=================
|
433
|
+
|
434
|
+
- Testing: Added support for setting environment variables.
|
435
|
+
|
436
|
+
2017/02/02 0.18.0
|
437
|
+
=================
|
438
|
+
|
439
|
+
- BREAKING: Dropped Crate version < 1.0.0 support for Crate test layer
|
440
|
+
|
441
|
+
- Testing: Dropped ``multicast`` support for Crate test layer
|
442
|
+
|
443
|
+
- Added support for ``Insert`` from select to the SQLAlchemy dialect
|
444
|
+
|
445
|
+
- sqlalchemy: support `get_columns` and `get_pk_constraint`
|
446
|
+
|
447
|
+
2016/12/19 0.17.0
|
448
|
+
=================
|
449
|
+
|
450
|
+
- BREAKING: Dropped support for SQLAlchemy < 1.0.0
|
451
|
+
|
452
|
+
- Fix sqlalchemy: crate dialect didn't work properly with alpha and beta
|
453
|
+
versions of sqlalchemy due to a wrong version check
|
454
|
+
(e.g.: sandman2 depends on 1.1.0b3)
|
455
|
+
|
456
|
+
- sqlalchemy: added support for native Arrays
|
457
|
+
|
458
|
+
- Fix sqlalchemy: ``sa.inspect(engine).get_table_names`` failed due
|
459
|
+
to an attribute error
|
460
|
+
|
461
|
+
2016/11/21 0.16.5
|
462
|
+
=================
|
463
|
+
|
464
|
+
- Added compatibility for SQLAlchemy version 1.1
|
465
|
+
|
466
|
+
2016/10/18 0.16.4
|
467
|
+
=================
|
468
|
+
|
469
|
+
- Fix sqlalchemy: updates in nested object columns have been ignored
|
470
|
+
|
471
|
+
2016/08/16 0.16.3
|
472
|
+
=================
|
473
|
+
|
474
|
+
- Fix: Avoid invalid keyword argument error when fetching blobs from cluster
|
475
|
+
by removing certificate keywords before creating non-https server in pool.
|
476
|
+
|
477
|
+
- Testing: Made Crate test layer logging less verbose (hide Crate startup logs)
|
478
|
+
and added ``verbose keyword`` argument to layer to control its verbosity.
|
479
|
+
|
480
|
+
2016/07/22 0.16.2
|
481
|
+
=================
|
482
|
+
|
483
|
+
- Increased ``urllib3`` version requirement to >=1.9 to prevent from
|
484
|
+
compatibility issues.
|
485
|
+
|
486
|
+
- Testing: Do not rely on startup log if static http port is defined in test
|
487
|
+
layer.
|
488
|
+
|
489
|
+
2016/06/23 0.16.1
|
490
|
+
=================
|
491
|
+
|
492
|
+
- Fix: ``Date`` column type is now correctly created as ``TIMESTAMP`` column
|
493
|
+
when creating the table
|
494
|
+
|
495
|
+
2016/06/09 0.16.0
|
496
|
+
=================
|
497
|
+
|
498
|
+
- Added a ``from_uri`` factory method to the ``CrateLayer``
|
499
|
+
|
500
|
+
- The ``Connection`` class now supports the context management protocol and
|
501
|
+
can therefore be used with the ``with`` statement.
|
502
|
+
|
503
|
+
- Sockets are now properly closed if a connection is closed.
|
504
|
+
|
505
|
+
- Added support for serialization of Decimals
|
506
|
+
|
507
|
+
2016/05/17 0.15.0
|
508
|
+
=================
|
509
|
+
|
510
|
+
- Added support for client certificates
|
511
|
+
|
512
|
+
- Dropped support for Python 2.6
|
513
|
+
|
514
|
+
2016/03/18 0.14.2
|
515
|
+
=================
|
516
|
+
|
517
|
+
- Fix: Never retry on http read errors (so never send SQL statements twice)
|
518
|
+
|
519
|
+
2016/03/10 0.14.1
|
520
|
+
=================
|
521
|
+
|
522
|
+
- test-layer: Removed options that are going to be removed from Crate
|
523
|
+
|
524
|
+
2016/02/05 0.14.0
|
525
|
+
=================
|
526
|
+
|
527
|
+
- Added support for serialization of date and datetime objects
|
528
|
+
|
529
|
+
2015/10/21 0.13.6
|
530
|
+
=================
|
531
|
+
|
532
|
+
- fix in crate test layer: wait for layer to completely start up node
|
533
|
+
|
534
|
+
2015/10/12 0.13.5
|
535
|
+
=================
|
536
|
+
|
537
|
+
- fix: use proper CLUSTERED clause syntax in SQLAlchemy's create table statement
|
538
|
+
|
539
|
+
2015/08/12 0.13.4
|
540
|
+
=================
|
541
|
+
|
542
|
+
- Fix urllib3 error with invalid kwargs for ``HTTPConnectionPool``
|
543
|
+
when ``REQUESTS_CA_BUNDLE`` is set
|
544
|
+
|
545
|
+
2015/06/29 0.13.3
|
546
|
+
=================
|
547
|
+
|
548
|
+
- Fix: allow ObjectArrays to be set to None
|
549
|
+
|
550
|
+
2015/06/15 0.13.2
|
551
|
+
=================
|
552
|
+
|
553
|
+
- wait until master of test cluster is elected before starting tests
|
554
|
+
|
555
|
+
2015/05/29 0.13.1
|
556
|
+
=================
|
557
|
+
|
558
|
+
- fixed compatibility issues with SQLAlchemy 1.0.x
|
559
|
+
|
560
|
+
- map SQLAlchemy's text column type to Crate's ``STRING`` type
|
561
|
+
|
562
|
+
2015/03/10 0.13.0
|
563
|
+
=================
|
564
|
+
|
565
|
+
- add support for table creation using the SQLAlchemy ORM functionality.
|
566
|
+
|
567
|
+
- fix: match predicate now properly handles term literal
|
568
|
+
|
569
|
+
2015/02/13 0.12.5
|
570
|
+
=================
|
571
|
+
|
572
|
+
- changed SQLAlchemy update statement generation to be compatible with crate
|
573
|
+
0.47.X
|
574
|
+
|
575
|
+
2015/02/04 0.12.4
|
576
|
+
=================
|
577
|
+
|
578
|
+
- added missing functionality in CrateDialect, containing:
|
579
|
+
default schema name, server version info,
|
580
|
+
check if table/schema exists, list all tables/schemas
|
581
|
+
|
582
|
+
- updated crate to version 0.46.1
|
583
|
+
|
584
|
+
2014/10/27 0.12.3
|
585
|
+
=================
|
586
|
+
|
587
|
+
- support iterator protocol on cursor
|
588
|
+
|
589
|
+
2014/10/20 0.12.2
|
590
|
+
=================
|
591
|
+
|
592
|
+
- added match predicate in sqlalchemy to support fulltext
|
593
|
+
search
|
594
|
+
|
595
|
+
2014/10/02 0.12.1
|
596
|
+
=================
|
597
|
+
|
598
|
+
- send application/json Accept header when requesting crate
|
599
|
+
|
600
|
+
2014/09/11 0.12.0
|
601
|
+
=================
|
602
|
+
|
603
|
+
- add new options to CrateLayer in order to build test clusters
|
604
|
+
|
605
|
+
2014/09/19 0.11.2
|
606
|
+
=================
|
607
|
+
|
608
|
+
- improved server failover
|
609
|
+
|
610
|
+
2014/08/26 0.11.1
|
611
|
+
=================
|
612
|
+
|
613
|
+
- more reliable failover mechanism
|
614
|
+
|
615
|
+
2014/08/26 0.11.0
|
616
|
+
=================
|
617
|
+
|
618
|
+
- improved server failover / retry behaviour
|
619
|
+
|
620
|
+
- use bulk_args in executemany to increase performance:
|
621
|
+
With crate server >= 0.42.0 executemany uses bulk_args
|
622
|
+
and returns a list of results.
|
623
|
+
With crate server < 0.42.0 executemany still issues
|
624
|
+
a request for every parameter and doesn't return
|
625
|
+
any results.
|
626
|
+
|
627
|
+
- improved docs formatting of field lists
|
628
|
+
|
629
|
+
2014/07/25 0.10.7
|
630
|
+
=================
|
631
|
+
|
632
|
+
- fix: ``cursor.executemany()`` now correctly sets the cursor description
|
633
|
+
|
634
|
+
2014/07/18 0.10.6
|
635
|
+
=================
|
636
|
+
|
637
|
+
- fix: correctly attach server error trace to crate client exceptions
|
638
|
+
|
639
|
+
2014/07/16 0.10.5
|
640
|
+
=================
|
641
|
+
|
642
|
+
- fix: only send ``error_trace`` when it is explicitly set
|
643
|
+
|
644
|
+
2014/07/16 0.10.4
|
645
|
+
=================
|
646
|
+
|
647
|
+
- expose the ``error_trace`` option to give a full traceback of server exceptions
|
648
|
+
|
649
|
+
2014/07/14 0.10.3
|
650
|
+
=================
|
651
|
+
|
652
|
+
- fix: Columns that have an onupdate definition are now correctly updated
|
653
|
+
|
654
|
+
2014/06/03 0.10.2
|
655
|
+
=================
|
656
|
+
|
657
|
+
- fix: return -1 for rowcount if rowcount attribute is missing in crate
|
658
|
+
response
|
659
|
+
|
660
|
+
2014/05/21 0.10.1
|
661
|
+
=================
|
662
|
+
|
663
|
+
- fixed redirect handling for blob downloads and uploads.
|
664
|
+
|
665
|
+
2014/05/16 0.10.0
|
666
|
+
=================
|
667
|
+
|
668
|
+
- implemented ANY operator on object array containment checks
|
669
|
+
for SQLAlchemy
|
670
|
+
|
671
|
+
- updated crate to 0.37.1
|
672
|
+
|
673
|
+
2014/05/13 0.9.5
|
674
|
+
================
|
675
|
+
|
676
|
+
- bugfix: updates of complex types will only be rewritten if the dialect is
|
677
|
+
set to 'crate' in SQLAlchemy.
|
678
|
+
|
679
|
+
2014/05/09 0.9.4
|
680
|
+
================
|
681
|
+
|
682
|
+
- bugfix: raise correct error if fetching infos is not possible because server
|
683
|
+
is not fully started
|
684
|
+
|
685
|
+
2014/05/09 0.9.3
|
686
|
+
================
|
687
|
+
|
688
|
+
- bugfix: old versions of `six` caused import errors
|
689
|
+
|
690
|
+
- updated crate doc theme config
|
691
|
+
|
692
|
+
2014/05/07 0.9.2
|
693
|
+
================
|
694
|
+
|
695
|
+
- fixed python3.3 compatibility issue in sphinx script
|
696
|
+
|
697
|
+
2014/05/07 0.9.1
|
698
|
+
================
|
699
|
+
|
700
|
+
- use new crate doc theme
|
701
|
+
|
702
|
+
2014/04/01 0.9.0
|
703
|
+
================
|
704
|
+
|
705
|
+
- replaced requests with urllib3 to improve performance
|
706
|
+
|
707
|
+
- add ``verify_ssl_cert`` and ``ca_cert`` as kwargs to ``Connection``,
|
708
|
+
``connect`` and as SQLAlchemy ``connect_args``
|
709
|
+
|
710
|
+
2014/04/04 0.8.1
|
711
|
+
================
|
712
|
+
|
713
|
+
- client: fix error handling in ``client.server_infos()``
|
714
|
+
|
715
|
+
2014/03/21 0.8.0
|
716
|
+
================
|
717
|
+
|
718
|
+
- updated crate to 0.32.3
|
719
|
+
|
720
|
+
- client: adding keyword arguments ``verify_ssl_cert`` and ``ca_cert``
|
721
|
+
to enable ssl server certificate validation
|
722
|
+
|
723
|
+
- client: disable ssl server certificate validation by default
|
724
|
+
|
725
|
+
2014/03/14 0.7.1
|
726
|
+
================
|
727
|
+
|
728
|
+
- updated crate to 0.31.0
|
729
|
+
|
730
|
+
- client: fixed error handling on wrong content-type and bad status codes (on connect)
|
731
|
+
|
732
|
+
2014/03/13 0.7.0
|
733
|
+
================
|
734
|
+
|
735
|
+
- removed the crate shell ``crash`` from this package. it will live
|
736
|
+
now under the name ``crate-shell`` on pypi.
|
737
|
+
|
738
|
+
2014/03/12 0.6.0
|
739
|
+
================
|
740
|
+
|
741
|
+
- updated crate to 0.30.0
|
742
|
+
|
743
|
+
- crash: added support for ``ALTER`` statements.
|
744
|
+
|
745
|
+
- crash: added support for ``REFRESH`` statements.
|
746
|
+
|
747
|
+
- crash: added support for multi-statements for stdin and ``--command`` parameter
|
748
|
+
|
749
|
+
- crash: renamed cli parameter ``--statement/-s`` to ``--command/-c``
|
750
|
+
|
751
|
+
2014/03/12 0.5.0
|
752
|
+
================
|
753
|
+
|
754
|
+
- updated crate to 0.29.0. This release contains backward incompatible changes
|
755
|
+
related to blob support.
|
756
|
+
|
757
|
+
- updated crash autocompletion keywords
|
758
|
+
|
759
|
+
2014/03/11 0.4.0
|
760
|
+
================
|
761
|
+
|
762
|
+
- fix a bug where setting an empty list on a multi valued field results in returning ``None``
|
763
|
+
after refreshing the session.
|
764
|
+
|
765
|
+
- the test layer now uses the '/' crate endpoint in order to wait for crate to
|
766
|
+
be available.
|
767
|
+
|
768
|
+
- updated crate to 0.28.0. This release contains backward incompatible changes.
|
769
|
+
|
770
|
+
- changed the test layer to no longer use the `-f`
|
771
|
+
option. Note that this breaks the test layer for all previous crate
|
772
|
+
versions.
|
773
|
+
|
774
|
+
2014/03/05 0.3.4
|
775
|
+
================
|
776
|
+
|
777
|
+
- fix readline bug in windows bundle
|
778
|
+
|
779
|
+
2014/03/05 0.3.3
|
780
|
+
================
|
781
|
+
|
782
|
+
- readline support for windows
|
783
|
+
|
784
|
+
- updated crate to 0.26.0
|
785
|
+
|
786
|
+
2014/03/04 0.3.2
|
787
|
+
================
|
788
|
+
|
789
|
+
- added single-file crash bundle ``crash.zip.py``
|
790
|
+
|
791
|
+
2014/02/27 0.3.1
|
792
|
+
================
|
793
|
+
|
794
|
+
- minor documentation syntax fix
|
795
|
+
|
796
|
+
2014/01/27 0.3.0
|
797
|
+
================
|
798
|
+
|
799
|
+
- added the `ObjectArray` type to the sqlalchemy dialect.
|
800
|
+
|
801
|
+
- renamed `Craty` type to `Object`.
|
802
|
+
`Craty` can still be imported to maintain backward compatibility
|
803
|
+
|
804
|
+
2014/01/15 0.2.0
|
805
|
+
================
|
806
|
+
|
807
|
+
- adapted for compatibility with SQLAlchemy >= 0.9.x
|
808
|
+
|
809
|
+
- changed default port to 4200
|
810
|
+
|
811
|
+
2013/12/17 0.1.10
|
812
|
+
=================
|
813
|
+
|
814
|
+
- allow to specify https urls in client and crash cli
|
815
|
+
|
816
|
+
2013/12/06 0.1.9
|
817
|
+
================
|
818
|
+
|
819
|
+
- sqlalchemy dialect supports native booleans
|
820
|
+
|
821
|
+
2013/12/02 0.1.8
|
822
|
+
================
|
823
|
+
|
824
|
+
- Fix: Date columns return date objects
|
825
|
+
|
826
|
+
2013/11/25 0.1.7
|
827
|
+
================
|
828
|
+
|
829
|
+
- Added ``duration`` property to the cursor displaying the server-side duration.
|
830
|
+
Show this value at the `crash` crate cli now instead of client-side duration.
|
831
|
+
|
832
|
+
- Added `readline` as a requirement package on OS X (Darwin), fixes umlauts problem.
|
833
|
+
|
834
|
+
- Fix sqlalchemy: raise exception if timezone aware datetime is saved
|
835
|
+
|
836
|
+
- Fix: raise concrete exception while uploading blobs to an index with disabled blobs support
|
837
|
+
|
838
|
+
- crash: check if given servers are available
|
839
|
+
and retrieve some basic information on connect command
|
840
|
+
|
841
|
+
2013/11/13 0.1.6
|
842
|
+
================
|
843
|
+
|
844
|
+
- Fix: show rows affected at `crash` on ``copy`` command
|
845
|
+
|
846
|
+
- crash: Added persistent history stored in platform dependent app-dir
|
847
|
+
|
848
|
+
- crash: Added support for multiple hosts for ``crash --hosts ...`` and the connect cmd
|
849
|
+
|
850
|
+
2013/11/11 0.1.5
|
851
|
+
================
|
852
|
+
|
853
|
+
- Added SQL ``copy`` command support to `crash` crate cli
|
854
|
+
|
855
|
+
2013/11/11 0.1.4
|
856
|
+
================
|
857
|
+
|
858
|
+
- crate layer: set working directory on layer instantiation instead of start hook
|
859
|
+
|
860
|
+
2013/11/08 0.1.3
|
861
|
+
================
|
862
|
+
|
863
|
+
- fixed sqlalchemy datetime parsing that didn't work with crate >= 0.18.4 due
|
864
|
+
to the fixed datetime mapping.
|
865
|
+
|
866
|
+
2013/11/08 0.1.2
|
867
|
+
================
|
868
|
+
|
869
|
+
- documented SQLAlchemy count() and group_by() support.
|
870
|
+
|
871
|
+
2013/11/07 0.1.1
|
872
|
+
================
|
873
|
+
|
874
|
+
- http keepalive support
|
875
|
+
|
876
|
+
- uppercase command support for crash
|
877
|
+
|
878
|
+
- fixed python3.3 compatibility issue in crash
|
879
|
+
|
880
|
+
2013/10/23 0.1.0
|
881
|
+
================
|
882
|
+
|
883
|
+
- the `crash` crate cli supports multiple line commands and auto-completion now,
|
884
|
+
commands are delimited by a semi-colon.
|
885
|
+
|
886
|
+
- the `crash` crate cli displays the status and, if related, the row count on every command now.
|
887
|
+
|
888
|
+
2013/10/09 0.0.9
|
889
|
+
================
|
890
|
+
|
891
|
+
- SQLAlchemy `DateTime` and `Date` can now be nullable
|
892
|
+
|
893
|
+
2013/10/04 0.0.8
|
894
|
+
================
|
895
|
+
|
896
|
+
- fixed an error with the `Craty` type and SQLAlchemy's ORM where the `update`
|
897
|
+
statement wasn't correctly generated.
|
898
|
+
|
899
|
+
2013/10/02 0.0.7
|
900
|
+
================
|
901
|
+
|
902
|
+
- rowcount in results of update-requests gives affected rows
|
903
|
+
|
904
|
+
- the `Date` and `DateTime` sqlalchemy types are now supported.
|
905
|
+
|
906
|
+
- make http-client thread-safe
|
907
|
+
|
908
|
+
2013/10/01 0.0.6
|
909
|
+
================
|
910
|
+
|
911
|
+
- add support for sqlalchemy including complex types
|
912
|
+
|
913
|
+
- error handling improvements in crash
|
914
|
+
|
915
|
+
2013/09/18 0.0.5
|
916
|
+
================
|
917
|
+
|
918
|
+
- added qmark parameter substitution support
|
919
|
+
|
920
|
+
- basic Blob-Client-API implemented
|
921
|
+
|
922
|
+
2013/09/16 0.0.4
|
923
|
+
================
|
924
|
+
|
925
|
+
- the `crash` crate cli is now included with the client library
|
926
|
+
|
927
|
+
- the client library is now compatible with python 3
|
928
|
+
|
929
|
+
2013/09/09 0.0.3
|
930
|
+
================
|
931
|
+
|
932
|
+
- text files are now also included in binary egg distributions
|
933
|
+
|
934
|
+
2013/09/05 0.0.2
|
935
|
+
================
|
936
|
+
|
937
|
+
- initial release
|