Commit Graph
648 Commits
Author SHA1 Message Date
Friedrich Lindenberg 68a8ad8c2b Merge pull request #339 from Remalloc/master
Add missing method "upsert_many" in Table api doc
2020-09-01 08:57:27 +02:00
remalloc.virtual@gmail.com f81ed66732 Add missing method "upsert_many" in Table api doc 2020-09-01 12:25:27 +08:00
Friedrich Lindenberg c8b94131e3 Merge pull request #338 from tatsuya4559/fix/remove_freeze
Removed freeze from __all__ listing
2020-08-30 11:33:05 +02:00
tatsuya4559 5d6a840740 removed freeze from __all__ listing. 2020-08-30 08:40:02 +09:00
Friedrich Lindenberg 14db5e00e6 Merge pull request #336 from pudo/fix-ci
Fix CI use of Postgres and MySQL
2020-08-23 13:54:17 +02:00
Friedrich Lindenberg e9c8b11102 wat 2020-08-23 13:48:01 +02:00
Friedrich Lindenberg f4b9e754d8 Test against mysql 2020-08-23 13:45:30 +02:00
Friedrich Lindenberg 3479e5ba35 Try and shut up MySQL about index length. Weird. 2020-08-23 13:35:48 +02:00
Friedrich Lindenberg 4034a12f62 Get rid of the flush statement, but I'm not sure this has no side effects 2020-08-23 12:30:30 +02:00
Friedrich Lindenberg 3fe0ae10aa Seems it was that lock. 2020-08-23 12:23:00 +02:00
Friedrich Lindenberg 28109d6826 Minor fixes 2020-08-23 12:10:10 +02:00
Friedrich Lindenberg a17f2c8d5c Apply black 2020-08-02 12:52:11 +02:00
Friedrich Lindenberg eb4abcbe42 Try localhost 2020-06-29 08:33:54 +02:00
Friedrich Lindenberg 2d215bb44a Try and get the pipeline right 2020-06-29 08:33:50 +02:00
Friedrich Lindenberg 6469ad5c42 Use default DB more 2020-06-29 08:33:41 +02:00
Friedrich Lindenberg 07ef8d22c1 Remove duplicate function 2020-06-28 21:09:09 +02:00
Friedrich Lindenberg 37c0f87d10 Adopt banal for utility functions 2020-06-28 18:58:00 +02:00
Friedrich Lindenberg 8dede2b757 Bump version: 1.3.1 → 1.3.2 2020-06-28 15:51:21 +02:00
Friedrich Lindenberg 439e14f421 Remove table from db cache, fixes #329. 2020-06-28 15:47:48 +02:00
Friedrich Lindenberg 17fffe78c2 Create tables only when ensure_schema=True. Fixes #330. 2020-06-28 15:44:42 +02:00
Friedrich Lindenberg 2637254bcf Catch closed RP, fixes #334. 2020-06-28 15:02:20 +02:00
Friedrich Lindenberg 0c46d9eead Bump version: 1.3.0 → 1.3.1 2020-04-06 23:10:26 +02:00
Friedrich Lindenberg 9cbdb3772c A bit of cleanup 2020-04-06 22:56:35 +02:00
Friedrich Lindenberg 507b0a5a40 Merge pull request #321 from benfasoli/master
Adds support for JSON and JSONB columns
2020-04-06 22:44:48 +02:00
Friedrich Lindenberg 7cc0740bc0 Fix lint 2020-04-06 22:38:28 +02:00
Friedrich Lindenberg 38a5ad9b83 Merge pull request #323 from byron10000/master
Add two clauses which are 'startswith' and 'enswith'
2020-04-06 15:34:12 +02:00
byron10000 412b80f13c add two clauses which are 'startswith' and 'enswith' 2020-04-06 10:26:16 +08:00
Ben Fasoli 7fee6da44d Adds support for JSONB in PostgresQL
Passes dialect to instances of `Types` for vendor-specific type mappings.
2020-03-25 20:29:58 -07:00
Ben Fasoli aeaab50043 Adds support to serialize dict as JSON
There are likely some vendor-specific enhancements (such as `JSONB` in PostgreSQL) but the current method of type guessing doesn't know anything about the underlying database.
2020-03-25 19:35:36 -07:00
Ben Fasoli d51fcb604f Replace cls argument with self
Not sure if this was originally intended to be a `@classmethod` but it's now written and called as a method bound to an instance of the class.
2020-03-25 18:51:56 -07:00
Friedrich Lindenberg 0a32b89c01 Bump version: 1.2.3 → 1.3.0 2020-03-15 14:07:19 +01:00
Friedrich Lindenberg 2677bc04c6 Add lint, remove travis 2020-03-15 13:54:34 +01:00
Friedrich Lindenberg 5212bcb787 Try to be clever about service ports 2020-03-15 13:44:43 +01:00
Friedrich Lindenberg c0177a850f Add MariaDB 2020-03-15 13:40:06 +01:00
Friedrich Lindenberg dd286b33da Add postgresql 2020-03-15 13:29:39 +01:00
Friedrich Lindenberg 7749574264 Dev dependencies 2020-03-15 13:24:19 +01:00
Friedrich Lindenberg 666c8185c8 Begin migrating to GitHub Actions 2020-03-15 13:15:31 +01:00
Friedrich Lindenberg 0600f3eb43 Merge pull request #315 from mynameisfiber/feat/chunked-update
Added ChunkedUpdate to leverage `update_many`
2020-03-15 12:48:02 +01:00
Friedrich Lindenberg c84ea316db Merge pull request #314 from mynameisfiber/feat/chunked-callback
Add optional callback to ChunkedInsert
2020-03-15 12:46:38 +01:00
Micha Gorelick ff98cfc5d4 Added ChunkedUpdate to leverage update_many
The ChunkedInsert object is great for speeding up inserts. This commit
does the same for updates. It chunks up updates then sends them to the
table's `update_many` in bundles that contain updates to the same
fields.

In doing this the ChunkedInsert and new ChunkedUpdate were refactored to
inherit from a common `_Chunker` object that does most of the chunking
logic. This should also make it simple to add a ChunkedUpsert object.
2020-03-13 19:00:54 +01:00
Micha Gorelick 03b7532997 fix flake8 errors 2020-03-13 15:05:07 +01:00
Micha Gorelick a9a15966e2 Add optional callback to ChunkedInsert
This commit adds an optional `callback` argument to the `ChunkedInsert`
object. This callback is a callable object which gets called before the
chunked insert happens. This is useful for clearing any local caches
that may be in place to deal with the eventual consistency resulting
from the delayed nature of the chunked inserts.

For example,

```
cache = set()
chunked_table = ChunkedInsert(table, callback=lambda queue: cache.clear())
while True:
    data = get_data_id()
    key = data['key']
    if key in cache or table.find_one(key=key)
        continue
    cache.add(key)
    chunked_table.insert(data)
```
2020-03-13 14:29:03 +01:00
Friedrich Lindenberg 73ff374513 Bump version: 1.2.2 → 1.2.3 2020-03-10 16:28:52 -05:00
Friedrich Lindenberg a513888824 Lock column updates 2020-03-10 16:28:35 -05:00
Friedrich Lindenberg 894819fe99 Bump version: 1.2.1 → 1.2.2 2020-02-24 18:27:42 +01:00
Friedrich Lindenberg 7291cf5ca0 Merge pull request #313 from Frankkkkk/master
Fix race condition when getting column keys of new table
2020-02-24 15:46:04 +01:00
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