Commit Graph

200 Commits

Author SHA1 Message Date
Alec Grieser 253597466c
revert temporary testing changes 2019-03-18 13:00:59 -07:00
Alec Grieser ff4386f4e4
TuplePerformanceTester no longer generates malformed UTF-16 2019-03-18 09:43:31 -07:00
Alec Grieser 715c2c980d
Fixes #1186: Tuples: Malformed UTF-16 treated differently in Java and Python
Technically, they are still treated differently in Java and Python, but now, Java throws an exception if it encounters malformed UTF-16 to avoid serializing things in ways that it cannot deserialize. It also now throws an error when reading malformed UTF-8, which I think is safer as it stops it from accidentally doing something like reading bytes and then writing it back but accidentally writing to the wrong spot, but that might be a mistake.
2019-03-18 09:19:54 -07:00
Xin Dong 636d2ca631
Merge pull request #1207 from alecgrieser/tuple-performance-cache-packed
Java: Tuple serialization/deserialization uses fewer allocations
2019-03-13 15:53:52 -07:00
Alec Grieser d9e9e0c521
use bitwise or instead of addition when reconsituting long 2019-03-11 18:26:08 -07:00
Balachandar Namasivayam 36c12cd749 Add missing definitions. 2019-03-11 17:49:03 -07:00
Alec Grieser 7340298202
remove debugging printing that was accidentally added 2019-03-11 16:57:36 -07:00
Alec Grieser f66ddb13c2
rewrite replace without a buffer to use replace with a buffer to first get length 2019-03-11 16:57:36 -07:00
Alec Grieser 75e475563a
clarify comments and be more strict about using UUID_BYTES constant 2019-03-11 16:57:36 -07:00
Alec Grieser 40aa2ba6f0
CMakeLists alphabetization and Javadoc improvements 2019-03-11 16:57:36 -07:00
Alec Grieser 39fd30330f
memoize incomplete versionstamp information in Tuples ; add more tests 2019-03-11 16:55:01 -07:00
Alec Grieser 663d750e1d
pack Tuples with a single byte array allocation of the right size 2019-03-11 16:55:01 -07:00
Alec Grieser a74dfa5487
compare strings by unicode codepoint without copying 2019-03-11 16:55:01 -07:00
Alec Grieser e9771364d7
various Java tuple performance tweaks
These include:

* Memoizing packed representations within Tuples
* Using longs instead of BigIntegers if possible
* As much as possible sticking to manipulating primitive types when using floats/doubles
2019-03-11 16:55:00 -07:00
Alec Grieser e6ce0ebd27
improve tuple performance tester for more types and add serialization check in TupleTest 2019-03-11 16:55:00 -07:00
Alec Grieser 78ff3d92c1
memoize the packed Tuple representation 2019-03-11 16:55:00 -07:00
A.J. Beamon 083a73b0d2 In our binding testers, stop using the TRANSACTION_LOGGING_ENABLE option and switch to the DEBUG_TRANSACTION_IDENTIFIER and LOG_TRANSACTION options 2019-03-11 13:35:43 -07:00
A.J. Beamon 4941d6dc3c
Merge pull request #1212 from alecgrieser/00719-read-transaction-set-read-version
Java: Move a few methods relevant to read-only transactions to `ReadTransaction`
2019-03-11 09:49:57 -07:00
Alec Grieser 83e4b966d5 Resolves #1235: Java: FDBExceptions are created successful operation completion (#1236)
The native function `NativeFuture::Future_getError` now returns `null` when the error code is 0 instead of an `FDBException` with a "Success" message and an error code of 0. This was only used in two places within the codebase; those two places now check for `null` errors and treats them like successes.
2019-03-06 18:34:36 -08:00
Alex Miller af617d68e6 boost 1.52.0 -> 1.67.0 in all vcxproj files 2019-03-05 22:06:12 -08:00
Alec Grieser eb8a085cf9
conditional add read conflict methods now return whether they added the conflict range ; test added for snapshot transactions 2019-03-02 09:48:53 -08:00
Alec Grieser 7ef189701e
Resolves #719: Support `.setReadVersion()` on `ReadTransaction` 2019-03-02 09:48:49 -08:00
A.J. Beamon ad8bfc1b8f
Merge pull request #1166 from alecgrieser/tuple-performance-improvements
Java Tuples: Hash and equality improvements
2019-02-25 15:10:45 -05:00
mpilman 9b14aeb156 Tell cmake not to link/install on ide build 2019-02-19 15:16:59 -08:00
Alec Grieser 9bf4940249
Memoize Tuple hashes and do not pack for equality check 2019-02-18 08:54:25 -08:00
Alec Grieser c6947db091
Add a basic performance tester of Java Tuples 2019-02-18 08:54:21 -08:00
mpilman ddddda7328 docker-compose can now build rpm
weirdly it still generates a foundationd-unspecified
rpm. However, it is empty and can be ignored for now
2019-02-15 00:01:42 -08:00
mpilman ffaaaf5028 build fat-jar with packages
The packages target will now build the fat jar and
it will place the jar file into the packages directory
2019-02-15 00:01:42 -08:00
mpilman 75f692b931 simplify actorcompiler and target to compile coveragetool 2019-02-15 00:01:42 -08:00
mpilman 70545e07d8 Added documentation on how to build the jar-files 2019-02-15 00:01:42 -08:00
mpilman 1ed149e624 Add option to build fat jar 2019-02-15 00:01:42 -08:00
mpilman f601aa7407 Make Java an optional dependency 2019-02-15 00:01:42 -08:00
mpilman 7a858b902d Most of FDB compiling on Windows with cmake 2019-02-07 15:37:04 -08:00
A.J. Beamon 2173e0acda Remove ClusterOptions from generated sources in Java 2019-01-25 09:30:02 -08:00
Andrew Noyes 1c1e42396c ClusterOptions.java is no longer generated 2019-01-24 16:04:56 -08:00
Andrew Noyes 6b34d62918 Fix GENERATED_JAVA_DIR 2019-01-24 15:59:18 -08:00
Andrew Noyes aa566a755f Account for file mv's/rm's in java bindings cmake 2019-01-24 15:41:27 -08:00
A.J. Beamon 8451c0cfc1 Favor nullptr in JNI code. 2019-01-10 13:13:21 -08:00
A.J. Beamon bfa97d7ff2 Address review comments 2019-01-10 12:28:14 -08:00
A.J. Beamon 11cce3731b Merge branch 'master' into remove-cluster-from-bindings
# Conflicts:
#	bindings/c/fdb_c.cpp
2019-01-10 11:58:34 -08:00
Bhaskar Muppana 5a8419e5cf Move Java specific setup into bindings/java/CMakeLists.txt
and s/SET/set
2019-01-02 21:19:08 -08:00
Markus Pilman df0f491c29 Some more improvements to the build and preparations for packaging 2018-12-13 15:04:13 -08:00
Markus Pilman f8eac70700 Fixed C bindings DLLEXPORT and Java bindings 2018-12-13 14:59:36 -08:00
A.J. Beamon 96b9cbcfcf fdb_c.cpp needs access to the legacy types, the C binding test uses the new API, and a couple javadoc links fixed. 2018-11-26 13:07:36 -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 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
A.J. Beamon 983a5bd390 Bump API version to 610 2018-09-26 10:58:07 -07:00
Alec Grieser 5128d9772d
cleverly use parentheses to ensure that the bitwise operation happens before the shift
This was casuing getUserVersion to return incorrect results if the user version was greater than 0x00FF.

Fixes #761
2018-09-10 18:18:13 -07:00
John Brownlee 9cad7c8a72 Merge remote-tracking branch 'upstream/release-5.2' into release-6.0-5.2-merge
# Conflicts:
#	documentation/sphinx/source/downloads.rst
#	documentation/sphinx/source/release-notes.rst
#	packaging/msi/FDBInstaller.wxs
#	versions.target
2018-07-31 13:17:37 -07:00
Alec Grieser a2b3c71a74
thread custom executors through FDBDatabase::run and FDBDatabase::read
Closes #640.
2018-07-30 16:53:07 -07:00