Frank Villaro-Dixon
b6ed0587ed
Fix race condition when getting column keys of new table
...
_columns_keys() sets _columns to {}, but _sync_table() empties _columns
when table is empty.
2020-02-24 13:02:31 +01:00
Friedrich Lindenberg
c01e717436
Bump version: 1.2.0 → 1.2.1
2020-02-23 19:17:20 +01:00
Friedrich Lindenberg
72ecf561fe
Make column lookups properly case-insensitive, refs #310 .
2020-02-23 19:13:34 +01:00
Friedrich Lindenberg
5ddff753b7
Bump version: 1.1.2 → 1.2.0
2020-01-11 16:50:39 +01:00
Friedrich Lindenberg
b362f25816
Use default pool for Sqlite, refs #283 , #163 .
2020-01-11 16:47:01 +01:00
Friedrich Lindenberg
354a51bf98
Add support for database views, fixes #235 , fixes #267 .
2020-01-11 16:46:04 +01:00
Friedrich Lindenberg
fc3af9e1f1
Fix memory leak, fixes #226 .
2020-01-11 15:01:22 +01:00
Friedrich Lindenberg
71b9421d60
Document ensure_schema behaviour, fixes #225 .
2020-01-11 14:38:21 +01:00
Friedrich Lindenberg
39385b7e0a
Make has_column case insensitive, refs #270 .
2020-01-11 14:31:51 +01:00
Friedrich Lindenberg
9b1f8ea649
Simplify
2020-01-11 14:31:07 +01:00
Friedrich Lindenberg
45ae60349c
Remove use of six because its 2020
2020-01-11 14:06:57 +01:00
Friedrich Lindenberg
ce28a0d4e8
Pass through column arguments, fixes #233 , #266 .
2020-01-11 13:55:57 +01:00
Friedrich Lindenberg
e766fa25f0
Fix incorrect query generation, fixes #290 .
2020-01-11 13:47:34 +01:00
Friedrich Lindenberg
d7f23933f1
Fix doc error, fixes #297 .
2020-01-11 13:36:28 +01:00
Friedrich Lindenberg
d0c4e9fcc7
Implement method to close database connections, fixes #246 .
2020-01-11 13:16:30 +01:00
Friedrich Lindenberg
00d2279abf
Split _args_to_clause into two functions
2020-01-11 13:02:32 +01:00
Friedrich Lindenberg
bd70c2aa9e
Merge pull request #301 from abmyii/more_find_operators
...
Implement additional find operators (and relevant tests)
2020-01-11 12:43:29 +01:00
Friedrich Lindenberg
5a09e72fd1
Fix error introduced in #305 .
2020-01-11 12:37:50 +01:00
Friedrich Lindenberg
db3ef16566
pep8
2020-01-11 12:11:30 +01:00
Abdurrahmaan Iqbal
e2431bc344
Use lists instead of sets to maintain order of column names
2019-12-24 18:03:35 +00:00
Abdurrahmaan Iqbal
d8cf515ffe
Implement additional find operators (and relevant tests)
2019-08-08 12:55:29 +01:00
Friedrich Lindenberg
43e9431865
Merge pull request #296 from conorreid/bigint_check
...
Add support for BigInteger
2019-07-14 17:58:43 +02:00
conorreid
8409c40645
switch all ints to bigints
2019-07-13 10:42:20 -04:00
Friedrich Lindenberg
081cb5ec7a
Merge pull request #298 from abmyii/master
...
Implement update_many, upsert_many and refactor for a 2x speed-up of insert_many
2019-07-13 14:47:04 +02:00
Abdurrahmaan Iqbal
19a73759ca
Remove f-string for wider compatiblity
2019-07-09 09:50:36 +01:00
Abdurrahmaan Iqbal
6874889591
Fix logic error in insert_many
2019-07-09 09:45:18 +01:00
Abdurrahmaan Iqbal
7fd9241f25
Refactor input_many to remove duplicate code, fix some pep8 problems
2019-07-09 09:37:48 +01:00
Abdurrahmaan Iqbal
76b6165181
Speed up insert_many by sync columns before input, not on the go
2019-07-08 23:24:55 +01:00
Abdurrahmaan Iqbal
85d974b0c3
Refactor to remove duplicate code
2019-07-08 18:00:54 +01:00
Abdurrahmaan Iqbal
70874a2501
Implement update_many and upsert_many
2019-07-08 17:48:05 +01:00
conorreid
7753d0610a
bigint check
2019-06-21 11:45:44 -04:00
Andrey Alekseenko
25477717bc
Fix bug when UPSERTing a column named 'id'
2019-02-14 22:35:47 -05:00
Friedrich Lindenberg
22b64ee480
Bump version: 1.1.1 → 1.1.2
2019-02-07 10:49:52 +01:00
Friedrich Lindenberg
53e72ef6a8
Bump version: 1.1.0 → 1.1.1
2019-01-31 18:38:30 +01:00
Friedrich Lindenberg
bc1ac231f3
fix actual test failure
2019-01-31 18:22:42 +01:00
Friedrich Lindenberg
8324350f2e
Try to fix up tests, Python 3.8 warnings
2019-01-31 14:56:19 +01:00
Friedrich Lindenberg
163e6554cc
Merge pull request #265 from saimn/distinct
...
Add support for advanced queries in distinct
2018-10-04 16:00:13 +02:00
Simon Conseil
c69827de7c
Add support for advanced queries in distinct
...
Fix #263
2018-09-26 17:36:09 +02:00
Simon Conseil
c36b0f346b
Complete table names with IPython
2018-09-26 17:11:08 +02:00
Friedrich Lindenberg
0a2f7c0799
Merge pull request #256 from thelittlebug/dsl-find-feature
...
add find operators
2018-07-08 11:47:59 -04:00
mwmajewsk
bcd20c7eca
Update util.py - fix ensure_tuple instance check
...
doing isinstance(obj, Sequence) makes calls with keys of dict impossible
Example:
Returns
```
d = {'a':'a', 'b':'b'}
table.upsert(values, d.keys())
```
`dict_keys(['a', 'b'])` is not of instance Sequence, but Iterable, therefore `ensure_tuple(dict_keys(['a', 'b']))` returns (dict_keys(['a', 'b']),)
which leads to invalid iteration.
2018-06-20 22:44:49 +02:00
Unknown
45e3ec0037
fix wrong clauses parameter false to sqlalchemy's false()
2018-06-14 07:03:38 +02:00
Unknown
7746e2529b
convert unchangeable lists to tuples
2018-06-14 07:01:35 +02:00
Unknown
5829fcc366
remove unused between import
2018-06-13 03:35:24 +02:00
Unknown
f9bb652034
add find operators
2018-06-13 02:29:32 +02:00
Friedrich Lindenberg
38a59b921e
Bump version: 1.0.8 → 1.1.0
2018-05-29 22:12:56 +03:00
Friedrich Lindenberg
6d1f42f48c
begin using bumpversion.
2018-05-29 22:12:48 +03:00
Friedrich Lindenberg
2b2813c7fe
fix lint
2018-05-29 22:05:53 +03:00
Friedrich Lindenberg
881127880a
Pad missing columns. Fixes #252 .
2018-05-29 21:55:25 +03:00
Paul M Furley
c414f85df9
find(): if table doesn't exist, return an iterator
...
... rather than []
If a table exists, you can treat the output of `find` as an iterator,
specifically you can call `next(find(...))`:
```
>>> db = dataset.connect('sqlite:///:memory1:')
>>> table = db['table_which_exists']
>>> table.insert({'foo': 'x'})
>>> next(table.find(foo='x')) # no problem
```
But if the table hasn't been created yet, `find(...)` returns an empty list,
which you can't call `next()` on:
```
>>> db = dataset.connect('sqlite:///:memory2:')
>>> table = db_no_table['table_which_doesnt_exis']
>>> next(table.find(foo='x'))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not an iterator
```
^^^ rather than a `TypeError`, I'd expect to get a `StopIteration`
exception.
2018-05-29 18:07:32 +01:00