Commit 831c4d9
fix(json): Bug with duplicate keys leading to incorrect writes (facebookincubator#13445)
Summary:
Currently when we cast json to row's if we encounter a duplicate key, we throw, however this throw isnt caught in the json cast row calling function , instead the throw is subsumed by the applyToselectedNoThrow call. This causes a problem because the previous write operation is not cancelled and is still valid, often leading to invalid data being read. This diff fix this bug. This bug is very evident when the key duplicated has a string value , it might be harder to replicate if the key duplicated is against a complex type , however the fix should work for all types.
Reviewed By: kevinwilfong
Differential Revision: D752519641 parent bbf1f34 commit 831c4d9
File tree
2 files changed
+40
-15
lines changed- velox/functions/prestosql
- tests
- types
2 files changed
+40
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1347 | 1347 | | |
1348 | 1348 | | |
1349 | 1349 | | |
| 1350 | + | |
| 1351 | + | |
| 1352 | + | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + | |
| 1356 | + | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + | |
| 1360 | + | |
| 1361 | + | |
| 1362 | + | |
| 1363 | + | |
| 1364 | + | |
| 1365 | + | |
| 1366 | + | |
| 1367 | + | |
| 1368 | + | |
| 1369 | + | |
| 1370 | + | |
1350 | 1371 | | |
1351 | 1372 | | |
1352 | 1373 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1229 | 1229 | | |
1230 | 1230 | | |
1231 | 1231 | | |
1232 | | - | |
1233 | | - | |
1234 | | - | |
1235 | | - | |
1236 | | - | |
1237 | | - | |
1238 | | - | |
1239 | | - | |
1240 | | - | |
1241 | | - | |
1242 | | - | |
1243 | | - | |
1244 | | - | |
1245 | | - | |
1246 | | - | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
1247 | 1251 | | |
1248 | 1252 | | |
1249 | 1253 | | |
| |||
0 commit comments