John Keiser
b2de2dfd1b
Merge pull request #1416 from simdjson/jkeiser/safe-iterators-2
...
Add safety checks for out of order array/object iteration+indexing
2021-02-05 09:47:03 -08:00
John Keiser
3f2639a655
Merge pull request #1414 from simdjson/jkeiser/array-assert
...
Fix #1409 (assert when trying to get one value as multiple types)
2021-02-05 09:45:49 -08:00
Daniel Lemire
96536239c2
Deleting the function. ( #1428 )
2021-02-02 09:48:01 -05:00
Daniel Lemire
0e18453e34
Potential optimizations applied to jkeiser/array-assert ( #1421 )
...
* Some tuning.
* Using table lookups...
2021-02-01 12:39:10 -05:00
Daniel Lemire
777202e1f1
Why would you use a reference when looping? ( #1422 )
...
* Why would you use a reference?
* I missed a few cases.
2021-02-01 12:30:36 -05:00
Daniel Lemire
6f61ed1477
It appears that Qt uses macros for common terms like slots, signals and so forth. ( #1425 )
2021-02-01 11:31:29 -05:00
Daniel Lemire
d6f33e4830
This adds a little test to see if we can compiler with very strict flags (conventional casts) ( #1417 )
...
* This adds a little test to see if we can compiler with very strict flags.
* Trimming a leftover old-style cast.
* More cleaning.
* A few more pedantic casts.
2021-01-27 18:37:30 -05:00
Tibbel
5613d30e97
partly replacement old-style-cast to c++ *_cast ( #1403 )
...
Co-authored-by: Tibbel <tibbel@ma-gi.de>
2021-01-27 13:33:48 -05:00
John Keiser
1bfbb6448a
Check out-of-order error in object index
2021-01-26 20:49:14 -08:00
John Keiser
c5b44f44f9
Add partial out-of-order check for field lookup
2021-01-26 20:00:39 -08:00
John Keiser
22b3ea93a8
Emit an error if user tries to iterate arrays out of order
2021-01-26 20:00:19 -08:00
John Keiser
18ecc0032d
Reenable test that is now working
2021-01-26 15:15:09 -08:00
John Keiser
1a1532c8cc
Return INCORRECT_TYPE when numbers fail to parse
...
Also add tests for trying to get multiple types in a row
2021-01-26 14:59:13 -08:00
John Keiser
e6d2b7759a
Fix assertion when getting array after failing to get a scalar
...
Also remove distinction between & and && for array start, acting like
other types
2021-01-26 14:09:54 -08:00
Daniel Lemire
c96ff018fe
Version 0.8.
2021-01-22 12:04:08 -05:00
Daniel Lemire
2a714f4e37
Hide the std::pair inheritance in our result instances ( #1396 )
...
* Fixing issue 1243
* The tie must go.
* Having std::pair be a protected inheritance breaks on demand.
* Putting it back.
* You really want to use emplace.
* Fixing one botched test.
* Prettier test.
* Using safer code.
* Fixing unsafe code.
* Simplifying the fuzzer.
* Trying another way.
* Ok. It should work without exceptions.
* Removing trailing spaces.
2021-01-18 12:00:02 -05:00
John Keiser
55faf4c5bc
Recommend simdjson::ondemand over simdjson::builtin::ondemand ( #1380 )
...
Co-authored-by: Daniel Lemire <lemire@gmail.com>
2021-01-14 17:33:49 -05:00
John Keiser
3279c2f15b
Remove unnecessary "try_get_XXX" methods
...
Also don't distinguish between & and && (instead, advance the first time
you encounter a scalar no matter what)
2021-01-11 15:19:26 -08:00
John Keiser
38da15b501
Rename checkpoint() -> position(), add token_position type
2021-01-11 15:19:24 -08:00
John Keiser
0f515785c6
Support reading scalars out of order
2021-01-11 15:17:46 -08:00
John Keiser
6fed8d2a26
Use active implementation for stage 1 on demand
2021-01-11 14:57:52 -08:00
John Keiser
0039c5b981
Disallow parser.iterate("1"_padded), as it won't work
2021-01-01 19:18:00 -08:00
John Keiser
a1cf588d5f
Fix GCC 7 warning when inlining does its job
2020-12-21 09:19:07 -08:00
John Keiser
e7e09e444c
Use find_field in benchmark
2020-12-20 11:39:56 -08:00
John Keiser
195acc3e45
Add find_field / find_field_unordered to object
2020-12-20 11:39:50 -08:00
John Keiser
b8426584fc
Make field lookup order-insensitive.
2020-12-19 13:57:29 -08:00
Daniel Lemire
85001c55fb
Fixing UTF-8 validation under PPC64 ( #1346 )
...
* Entering a new UTF-8 test
* Maybe *I* had a bug in the tests.
* Replacing nulls with 1s.
* Let us try to be more verbose.
* Return 0.
* Fixing issue.
* Adding puzzler scenario.
* Fixing PPC64
Co-authored-by: Daniel Lemire <dlemire@rcs-power9-talos>
2020-12-19 10:42:27 -05:00
John Keiser
f785f76d98
Merge pull request #1342 from simdjson/jkeiser/iter-safety
...
Safety: assert in debug mode when on demand values are used out of order
2020-12-16 15:58:29 -08:00
John Keiser
d670906ff3
Don't keep a separate at_start boolean in object
2020-12-15 11:29:31 -08:00
Daniel Lemire
c578f63f34
Fixing issue 1337 ( #1338 )
...
* Fixing issue 1337
* This test should always run.
* Removing bad attribute access.
2020-12-14 16:20:36 -05:00
Daniel Lemire
9a404bdcdc
Reenabling the optimized kernels (main branch). ( #1344 )
...
* Reenabling the optimized kernels (main branch).
* Defining SIMDJSON_CAN_ALWAYS_RUN_PPC64 and SIMDJSON_CAN_ALWAYS_RUN_ARM64
* Adding the bad UTF8 string from the fuzzer.
* Taking into account John's comments.
* Bumping the lib version.
* Update CMakeLists.txt
2020-12-14 14:28:45 -05:00
John Keiser
f9c6dedca1
Add test for out-of-order parse asserts
2020-12-13 13:39:47 -08:00
John Keiser
73c7b7db3d
Safety: check index of scalar values before use
2020-12-11 11:57:09 -08:00
John Keiser
6b02b06581
Merge pull request #1330 from simdjson/jkeiser/depth-tracking
...
Permit partial iteration in On Demand
2020-12-09 12:40:58 -08:00
John Keiser
806cb39103
Clean up some more benchmark/test code
2020-12-07 13:44:58 -08:00
John Keiser
3baba73cf5
Don't call functions in assume (VS2019 Clang doesn't like it)
2020-12-07 11:17:24 -08:00
John Keiser
db6bf15361
Allow all array/object/etc. to be copied
2020-12-06 16:29:53 -08:00
John Keiser
3aa3175378
Add tests for recovering from partial child iteration
2020-12-06 16:19:06 -08:00
John Keiser
4c63956624
Enable object["x"]["y"]
2020-12-06 15:23:52 -08:00
John Keiser
c89647af9e
Make all values use same underlying iterator
2020-12-06 15:23:52 -08:00
John Keiser
1303a88769
Unconditionally track depth
2020-12-06 15:23:52 -08:00
Daniel Lemire
cbacec0760
Releasing 0.7.0.
2020-12-04 18:56:15 -05:00
Daniel Lemire
aaa12c8fb6
more thread testing ( #1324 )
...
* Adding a few tests.
* More tests.
* Trailing.
* More links/documentations.
2020-12-02 11:33:36 -05:00
Daniel Lemire
9b5150daef
Fixing issue 1247 ( #1325 )
2020-12-01 19:09:55 -05:00
Daniel Lemire
bc4087ac96
Hunting for data races in document_stream ( #1323 )
...
* Adding matching tests.
* Actually adding thread testing actions.
2020-12-01 12:40:15 -05:00
Daniel Lemire
dc69bc28ae
Trying to verify recent document stream issues. ( #1318 )
...
* Trying to verify recent document stream issues.
* Adding another one.
* More thorough tests.
* Removing trailing spaces.
* Working toward exposing some issues.
* Tweaking.
2020-11-27 17:04:10 -05:00
Daniel Lemire
53577f11e1
Explicit worker disposal.
2020-11-27 15:39:43 -05:00
Daniel Lemire
1abb64f6f6
This fixes issue 1302 ( #1303 )
...
* This verifies issue 1302
* I believe that this fixes the issue.
* Let us do it differently.
* Better comments.
2020-11-27 14:19:36 -05:00
Mikhail Matrosov
b442b29ccf
Mark comparison operators as const ( #1320 )
...
Co-authored-by: Mikhail Matrosov <mikhail.matrosov@aimtech.com>
2020-11-27 14:18:42 -05:00
Daniel Lemire
5609851747
This will guard the batch_size so it cannot be so low as to accidentally burn through your CPU. ( #1319 )
...
* This will guard the batch_size so it cannot be so low as to accidentally burn through your CPU.
2020-11-27 09:37:54 -05:00