Jon Fu
c683795f6b
add python bindings and revise test code
2022-04-13 14:20:24 -04:00
Aaron Molitor
cbaef8f03b
update version to 7.2.0
2022-04-11 23:23:27 -05:00
A.J. Beamon
b4cfcc10d3
Move Python tenant management to its own module
2022-03-25 11:36:35 -07:00
A.J. Beamon
77ce0f4fc7
Add a unit test in Python to exercise some of the tenant code. Add some comments to the allocate and delete tenant implementations.
2022-03-23 15:50:06 -07:00
A.J. Beamon
8b92d3fccd
Use special keys to create/delete tenants
2022-03-23 14:46:56 -07:00
Jon Fu
8e848f16df
Support tuples in python tenants
2022-03-23 14:46:55 -07:00
A.J. Beamon
ce03f5783d
Add tenant support to Python
2022-03-23 14:46:55 -07:00
Ray Jenkins
9e1fd3cee5
Add comment about python thread API not necessarily setting underlying OS thread name.
2022-01-26 12:36:37 -06:00
Ray Jenkins
95d4497e2b
Add python binding network thread name.
2022-01-25 13:20:31 -06:00
Jingyu Zhou
3ce31cb347
Upgrade api version from 700 to 710
2021-05-05 21:15:00 -07:00
A.J. Beamon
4a1a55f270
Remove fdb_get_server_protocol from the Python bindings. This C function this was using recently moved and changed signature, so it no longer works in Python.
2021-04-16 13:48:44 -07:00
Richard Chen
b4ea82435c
fix typo in python
2020-12-07 00:18:22 +00:00
Richard Chen
90caa24af1
add function to get correct checksum class. Remove IChecksum::checkSum function
2020-10-23 02:24:29 +00:00
Richard Chen
a4ccf8c5b6
add checksum class to change checksum in the future. expose get server protocol api
2020-10-19 16:57:11 +00:00
Xin Dong
e108f041a0
Version the behavior change of existing API so that new behavior only happen after 7.0
2020-09-16 09:43:57 -07:00
Xin Dong
acdf04ed18
Make sure Python and Ruby does null check
2020-09-15 14:09:53 -07:00
Xin Dong
13c9dc6e37
Forgot to update local variables
2020-09-11 16:57:00 -07:00
Xin Dong
0282a1745a
Address more review comments
2020-09-11 16:44:09 -07:00
Xin Dong
1b923477f7
Apply suggestions from code review
...
Co-authored-by: A.J. Beamon <ajbeamon@users.noreply.github.com>
2020-09-11 14:28:56 -07:00
Xin Dong
440630a0cb
Added bindings supports
2020-07-02 14:05:11 -07:00
Balachandar Namasivayam
a167bf344e
Update api version to 700
2020-05-28 12:16:03 -07:00
Alex Miller
ffc36dcf45
7.0 became 6.3, so change API versions accordingly
2020-05-11 11:53:34 -07:00
Alex Miller
7b87cc3f88
Merge remote-tracking branch 'upstream/release-6.3' into pyfdbgenerators
2020-05-11 11:11:10 -07:00
Dave Cottlehuber
f46d452f38
bindings:update python
2020-04-30 18:11:23 +00:00
Xin Dong
5876d694cb
Use snake case to be consistent with conventions
2020-03-24 13:26:59 -07:00
Xin Dong
2e1d03cbe7
Addressed AJ's review comments
2020-02-12 14:57:40 -08:00
Xin Dong
d20ce99774
Resolved the review comment and renamed the functions
2020-02-12 14:57:40 -08:00
Xin Dong
85c10d13a5
Exposed the byte sample function to the following bindings:
...
- Flow
- Java
- Go [ needs verify ]
- Python [ needs verify ]
- Ruby [ needs verify ]
2020-02-12 14:57:40 -08:00
Alex Miller
4ceae8c83a
Ban generators in 7.0.0
2020-01-23 16:40:14 -08:00
Alex Miller
62baf6d121
Merge remote-tracking branch 'upstream/master' into pyfdbgenerators
2020-01-22 18:05:05 -08:00
Jingyu Zhou
14cb21285f
Remove futureGetVersion in C binding and FutureVersion in Python binding
2019-07-16 10:46:07 -07:00
Jingyu Zhou
2dcc3cfd0a
Deprecate fdb_future_get_version for version 620
...
Use fdb_future_get_int64 in all bindings.
2019-07-11 21:17:31 -07:00
Jingyu Zhou
b2a89c8b77
Address review comments for PR #1756
...
Use fdb_future_get_int64 for language bindings and get rid of using Version
with getApproximateSize API.
2019-07-11 16:41:29 -07:00
Jingyu Zhou
5d1437c8e0
Push int directly to stack for getApproximateSize
2019-07-10 15:00:50 -07:00
Jingyu Zhou
8ef8b59fcc
Use ThreadFuture for getApproximateSize
...
Change return type to int64_t and fix C and Python binding to use the correct
type.
2019-07-10 14:58:07 -07:00
Jingyu Zhou
c91e712576
Add Python txn get_approximate_size API and test
2019-07-10 14:57:39 -07:00
Alex Miller
40b290b7de
If func
throws, then ret
will never be assigned, and accessed later.
...
Thus we now initiailize it with None so that it will always have a
value.
2019-06-27 18:57:58 -07:00
Alex Miller
e8f994965d
python: Post-API Version 620, @fdb.transactional on a generator will throw.
...
Previously, writing code like
@fdb.transactional
def foo(tr):
yield tr.get('a')
yield tr.get('b')
print(foo(db))
was accepted by the python bindings, but had surprising semantics. The
function returned by @fdb.transactional opens a transaction, runs foo(),
commits the transaction, and then returns the generator returned by foo().
This generator then uses the committed transaction. This worked before API
version 410 (FDB 4.1), and hasn't worked since. This will also be a problem if
a closure is returned from foo() that contains `tr`, but it's much harder to
check that in Python.
Rather than allow users to hit an unexpected and mysterious "Operation issued
while a commit was outstanding" exception, it's nicer to explicitly highlight
this problem as soon as we can. Unfortunately, we have no way to know that a
function will return a generator until we call it, so that's the soonest we can
give a more informative error.
2019-06-19 01:38:35 -07:00
Chris Donati
f1331dbac6
Improve Python KeySelector representation
...
Python 2 resolves escape characters when printing byte strings,
which doesn't seem useful in this context.
I replaced __str__ since it defaults to __repr__ and the change
should be suitable for both cases.
2019-03-31 11:54:36 -07:00
A.J. Beamon
32b3c2ad69
Add comment for the code where we replace the semaphore in the exception handler
2019-02-11 10:35:29 -08:00
A.J. Beamon
5bf7e72fc5
If the semaphore acquire is interrupted (e.g. by a signal), then replace it with a new one so that subsequent futures will still work.
2019-02-11 10:22:19 -08:00
A.J. Beamon
8960670694
Python now blocks on a future in Python rather than in native code to preserve Python's signal handling functionality. In particular, this means that ctrl-c will work in the REPL.
2019-02-08 13:51:01 -08:00
A.J. Beamon
ec995ebef0
_CBFUNC should be defined outside init_c_api, both because it doesn't depend on the C API and because it is used elsewhere and wasn't available globally as previously written
2019-01-25 11:32:49 -08:00
A.J. Beamon
401f8a6774
Python and Ruby bindings displayed an unhelpful error if trying to load an old incompatible fdb_c with a new binding.
2019-01-14 10:41:54 -08:00
A.J. Beamon
bfa97d7ff2
Address review comments
2019-01-10 12:28:14 -08:00
A.J. Beamon
890a0f3e82
Merge branch 'master' into remove-cluster-from-bindings
...
# Conflicts:
# bindings/flow/fdb_flow.actor.cpp
2018-11-26 12:01:03 -08:00
A.J. Beamon
a2630a68a6
We can't use async as a variable name in python 3.7 because it's now a keyword. Support gevent's new 'async_' name.
2018-10-09 09:51:04 -07:00
A.J. Beamon
d5357d2439
Update all of the bindings to use the new C API and deprecate or remove unneeded parts of their APIs.
2018-10-02 15:28:46 -07:00
Jay Kominek
fb33412b3a
use inspect.getfullargspec when available
...
getargspec was deprecated in python3, this should use
getfullargspec when available, and degrade gracefully
otherwise.
2018-06-08 01:07:18 -06:00
Alec Grieser
0bae9880f1
remove trailing whitespace from our copyright headers ; fixed formatting of python setup.py
2018-02-21 10:25:11 -08:00