Commit Graph

3022 Commits

Author SHA1 Message Date
Evan Tschannen 700d558e5a
Merge pull request #764 from satherton/cleanup-status-refactor
Status refactor cleanup
2018-09-11 10:55:20 -07:00
Stephen Atherton b47902584b Added comparison of serialization speed of json_spirit and JsonBuilder to JsonBuilder perf test. 2018-09-10 19:54:27 -07:00
Stephen Atherton 5b8971ef18 Rename JsonString to JsonBuilder 2018-09-10 19:01:24 -07:00
Stephen Atherton 5c23f91c59 Simplified templates that were used to forward rvalue references to JsonBuilder write() functions when possible as the current design does not require or benefit from this. 2018-09-10 18:48:30 -07:00
Evan Tschannen 9e8c1941ec
Merge pull request #763 from alecgrieser/000761-getuserversion-order-of-operations
Fix issue with Versionstamp::getUserVersion on larger user versions
2018-09-10 18:21:54 -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
Evan Tschannen 79f1b8963c
Merge pull request #762 from etschannen/release-6.0
prepare for 6.0.11
2018-09-10 18:10:57 -07:00
Evan Tschannen 4c8a2df22b updated downloads for 6.0.11 2018-09-10 18:08:39 -07:00
Evan Tschannen 0dbb0244ff updated wxs UID for 6.0.11 2018-09-10 18:04:20 -07:00
Evan Tschannen 23a979a095
Merge pull request #758 from etschannen/release-6.0
fix: status would generate invalid json
2018-09-10 17:47:58 -07:00
Evan Tschannen 5fff960e5d updated release notes for 6.0.11 2018-09-10 17:45:01 -07:00
Evan Tschannen fb0d1d12a3 fix: reserve was not called correctly 2018-09-10 15:20:41 -07:00
Stephen Atherton 02d7b02036 Moved readJSONStrictly to a client cpp to avoid duplicate definitions at link time. 2018-09-10 14:35:04 -07:00
Stephen Atherton 8ed8f290c4 Merge branch 'release-6.0' of github.com:etschannen/foundationdb into evan-6 2018-09-10 13:28:49 -07:00
Stephen Atherton 4753172991 Added support for NaN and infinity in JsonBuilder in double and ascii number interfaces. 2018-09-10 13:28:31 -07:00
Evan Tschannen 63271072e8 fixed linker problem 2018-09-10 12:59:22 -07:00
Stephen Atherton 9febc01106 In simulation, strict JSON parser will print bad input to stdout (not std since whether it's an error depends on context). 2018-09-10 12:07:03 -07:00
Stephen Atherton 6a04fa0ede In simulation, deserializing a StatusReply now does a strict JSON parse. 2018-09-10 11:13:41 -07:00
Evan Tschannen ce38ddbd4b added tests with the + sign 2018-09-10 10:52:15 -07:00
A.J. Beamon b727f0475c Fix warnings about ACTORs not having waits. Fix shadowing of future variable in KVFileIntegrityCheck. 2018-09-10 10:51:41 -07:00
A.J. Beamon 4773b788e9 Fix line endings 2018-09-10 09:44:47 -07:00
Evan Tschannen e4bc6ed08c fix: exponent can allow + sign directly after it 2018-09-10 09:42:26 -07:00
Evan Tschannen c4eea395d4 fix: schema basic test did not pass in a complete json document 2018-09-10 09:28:53 -07:00
Stephen Atherton 4510881ba1 Added JSON reparsing and error output to all JsonBuilder output tests. 2018-09-10 03:21:55 -07:00
Stephen Atherton 9828db4399 Rewrote ASCII -> JSON number support as sort of a filter which cleans up ASCII numbers into valid JSON. Added tests for strange numbers which tests the generated output by parsing it as JSON. 2018-09-10 03:07:11 -07:00
Evan Tschannen 84fcc54802 fixed problems with checkNumber 2018-09-10 01:21:30 -07:00
Evan Tschannen dcbafe6b7e fixed checkNumber logic 2018-09-10 00:56:16 -07:00
Stephen Atherton eae698233e Merge branch 'release-6.0' of github.com:etschannen/foundationdb into evan-6 2018-09-10 00:44:15 -07:00
Stephen Atherton 309159ea23 WriteValue() no longer uses format() which creates temporary strings, instead if writes directly into allocated space in the target buffer using snprintf(). 2018-09-10 00:44:09 -07:00
Evan Tschannen d580a6e75a added a safety check to setKeyRawNumber 2018-09-10 00:22:27 -07:00
Evan Tschannen 5bff967763 avoid parsing numbers that are never used as numbers 2018-09-09 23:19:00 -07:00
Stephen Atherton e9c86ee638 Bug fix, slice was being used incorrectly which caused a missing internal character when combining object contents. 2018-09-09 22:53:12 -07:00
Stephen Atherton 2afd4cffb9 Simplified raw string writers and added StringRef version so that locality field names in status do not have to be repeatedly copied. 2018-09-09 22:47:12 -07:00
Stephen Atherton 41b03f6f68 Some refactoring in JsonBuilder to remove code duplication and make some expressions simpler. Some performance improvements, switched vector to VectorRef and used its bulk append method, and redirected basic mValue types to faster serialization. Added StringRef writeValue() method so that locality field writing in status does not have to use toString(). 2018-09-09 22:39:51 -07:00
Stephen Atherton 7ca304d209 Bug fix, adding empty JsonBuilder object or array to same would cause an errant comma at the end of the target. 2018-09-09 22:11:11 -07:00
Stephen Atherton 2d6632dfc6 Added more JsonBuilder unit tests, some of which fail. 2018-09-09 22:05:04 -07:00
Evan Tschannen d75177c257 Merge branch 'release-6.0' of github.com:etschannen/foundationdb into release-6.0 2018-09-09 19:09:47 -07:00
Evan Tschannen aacba2c9db fix: added missing commas
fix: const char* were being cast to bool
2018-09-09 19:08:54 -07:00
Stephen Atherton eafc45672c Merge branch 'release-6.0' of github.com:etschannen/foundationdb into evan-6 2018-09-09 18:19:29 -07:00
Evan Tschannen 84737b1fbe speed up status 2018-09-09 18:12:41 -07:00
Stephen Atherton 26c9666f95 Changed default specific unit test. 2018-09-08 19:26:39 -07:00
Stephen Atherton a81dbe21be Removing JsonBuilder destroyed type which will not be used. 2018-09-08 18:27:02 -07:00
Stephen Atherton ce6a9da423 Added JsonBuilder performance unit test for tracking optimizations. 2018-09-08 18:05:16 -07:00
Stephen Atherton 21c7ed2b50 JsonString refactored so that type compatibility is enforced at compile time. Specific JSON types are handled with subclasses that have type-specific access methods and a caller's intentions can no longer be ambiguous. Nothing that compiles should be able to produce malformed JSON. 2018-09-08 15:44:48 -07:00
Stephen Atherton ce3f01a0cf Added concept of type to JsonString. Appending single items or key/value pairs is now type-safe and only allowed in certain cases. JsonString will refuse to produce invalid JSON. All duplicative functions have been replaced with templates. Encoding of values uses json_spirit's value writer which should be no worse performance than format() and it will escape everything properly. Final string form is now built directly using knowledge of type, such as when an instance becomes an Array or Object the appropriate opening character is written. This avoids a full copy just to prepend the opening character later. Index interface for key/value pairs no longer makes a temporary copy of the key string. JsonString is now only needed by Status.actor.cpp. Still more work to be done here. 2018-09-08 07:15:28 -07:00
Evan Tschannen 54989bbc63 improved escape 2018-09-07 19:05:43 -07:00
Evan Tschannen d3c8d7ab4e fix: status would generate invalid json 2018-09-07 18:26:05 -07:00
Evan Tschannen 2f2aaf5bce
Merge pull request #756 from apkar/master
Merge branch release-6.0
2018-09-07 10:00:00 -07:00
Evan Tschannen d8718388a2
Merge pull request #757 from apkar/release-6.0
Post release steps - 6.0.10
2018-09-07 09:59:32 -07:00
Bhaskar Muppana f946c44efb Merge branch 'release-6.0' 2018-09-06 22:06:20 -07:00