82 Commits

Author SHA1 Message Date
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
a671aa773e add symbol to python global symbols 2020-10-24 00:19:05 +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
Balachandar Namasivayam
6d570cd865 Change version from 7.0 to 6.3 2020-04-03 21:38:58 -07: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
A.J. Beamon
72f92626e4 Update API version to 700 2020-01-30 09:26:27 -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
A.J. Beamon
a84b6b8570 Fix versionstamp ordering in Python3 2019-09-11 10:39:01 -07:00
A.J. Beamon
bc5c65e5ab
Merge pull request #1756 from jzhou77/db-option
Add transaction getApproximateSize() API
2019-07-19 08:33:24 -07:00
A.J. Beamon
93be69b6a3 Increase the API version to 620. 2019-07-18 10:56:05 -07: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
156962e5bf Fix Versionstamp encoding issue for Value objects
Python's struct.pack does not accept Value objects.
2019-04-02 13:49:58 -07:00
Chris Donati
2d4d219ef2 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-04-01 09:18:01 -07:00
A.J. Beamon
8669aea22b Python: creating a SingleFloat with an integer didn't work. Updated the tester to exercise this path. 2019-03-01 09:25:53 -08: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
Alec Grieser
04b94e74c7
Merge pull request #942 from ajbeamon/remove-cluster-from-bindings
Remove cluster from bindings
2019-01-24 14:39:09 -08:00
Andrew Noyes
4bca5dad73 Fix _bit_length for 0 and negative numbers 2019-01-22 10:09:58 -08:00
Andrew Noyes
5a6f82a75b bit_length python 2.6 compat 2019-01-22 10:09:03 -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