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
emanuelfeld
753d4a28d4
Check if primary column on first _sync_table call
...
Checks if column is primary key column on table creation, before
attempting to add again as non-primary key column.
2017-09-28 23:57:48 -04:00
Friedrich Lindenberg
1fd19f37b9
extra check before column creation
2017-09-24 10:41:08 +03:00
Friedrich Lindenberg
39da7522cb
create table upon create_column, fixes #220 .
2017-09-14 20:17:01 -03:00
Friedrich Lindenberg
44b49a6bb9
build instructions.
2017-09-09 18:40:47 +02:00
Friedrich Lindenberg
fc59bc59e6
Fix up imports, refs #217 .
2017-09-09 18:34:32 +02:00
Friedrich Lindenberg
a049691749
Remove datafreeze component, fixes #217
2017-09-09 18:24:34 +02:00
Friedrich Lindenberg
cd091eadca
Missing check on self.local.
2017-09-05 07:59:02 +02:00
Friedrich Lindenberg
ffea0f7a69
Warn about mixing transactions, schema changes and threading.
2017-09-05 07:49:05 +02:00
Friedrich Lindenberg
e5b3cd5f49
fix transaction metadata bug
2017-09-04 22:55:12 +02:00
Friedrich Lindenberg
7e614c0933
cleanup inspection code
2017-09-04 22:26:51 +02:00
Friedrich Lindenberg
df0d79d75c
fix _step bug
2017-09-04 10:57:01 +02:00
Friedrich Lindenberg
4232606d27
Move to a model where the table is created lazily, with an initial set of columns
2017-09-03 23:23:57 +02:00
Friedrich Lindenberg
e30cf24195
Rewrite data change functions on table.
2017-09-03 10:05:17 +02:00
Friedrich Lindenberg
213a7ce857
Use introspection for table indexes.
2017-09-02 23:05:50 +02:00
Friedrich Lindenberg
37d7f47d39
Make table instances singleton-ish.
2017-09-02 22:35:29 +02:00