Commit Graph

306 Commits

Author SHA1 Message Date
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
Paul M Furley
a40341abaa
in create_column docs, signpost the Types class 2018-05-17 15:04:30 +01:00
Friedrich Lindenberg
66fd7ce173 make sure all records have the same fields. 2018-04-04 10:43:19 +02:00
Friedrich Lindenberg
9d99ed3e29 Add helper class for chunked inserts. 2018-04-04 09:34:39 +02:00
Friedrich Lindenberg
0d9b2877e2 reflect table again, hoping that helps with sync errors 2018-02-18 10:22:32 +01:00
Friedrich Lindenberg
bce7b31b29 fix #234 2018-01-03 12:22:33 +01:00
Friedrich Lindenberg
2cf9da068a fix flake8 complaints 2017-12-05 17:21:08 +01:00
Friedrich Lindenberg
8226e51408 option for streamed responses. 2017-12-04 23:22:08 +01:00
Friedrich Lindenberg
dbc1edeca9 cleanup imports 2017-10-25 23:06:55 +02:00
Friedrich Lindenberg
f2e62606c7 new version 2017-10-25 23:06:31 +02:00
Friedrich Lindenberg
7a69baf491 Merge pull request #224 from emanuelfeld/master
Check if primary column on first _sync_table call
2017-09-30 12:01:14 +02:00
Stefan Wehrmeyer
da901efbf7 Remove Python 2.6 support code 2017-09-29 14:11:07 +02:00