93 Commits

Author SHA1 Message Date
Jon Fu
ff216c2f57 add tenant list metadata to binding tester 2022-05-02 13:42:11 -04:00
Jon Fu
2afaf55a48 fixed some binding tests and split stack operation between key and value of tenant list 2022-04-29 13:16:04 -04:00
Jon Fu
9e79ff49a6 address code review comments and add more places for test code 2022-04-21 16:58:32 -04:00
Jon Fu
c683795f6b add python bindings and revise test code 2022-04-13 14:20:24 -04:00
Aaron Molitor
5ba8b82ba6 update version to 7.2.0 -- address pr comments 2022-04-11 23:23:27 -05: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
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