forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit41d2c08
committed
Make hstore_to_jsonb_loose match hstore_to_json_loose on what's a number.
Commite09996f removed some ad-hoc code in hstore_to_json_loosethat determined whether an hstore value string looked like a number,in favor of calling the JSON parser's is-it-a-number code. However,it neglected the fact that the exact same code appeared inhstore_to_jsonb_loose.This is not a bug, exactly, because the requirements on the two functionsare not the same: hstore_to_json_loose must accept only syntactically legalJSON numbers as numbers, or it will produce invalid JSON output, as per bug#12070 which spawned the prior commit. But hstore_to_jsonb_loose couldaccept anything that numeric_in will eat, other than Inf and NaN.Nonetheless it seems surprising and arbitrary that the two functions don'tuse the same rules for what is a number versus what is a string; especiallysince they did use the same rules before the aforesaid commit. For onething, that means that doing hstore_to_json_loose and then casting to jsonbcan produce results different from doing just hstore_to_jsonb_loose.Hence, change hstore_to_jsonb_loose's logic to match hstore_to_json_loose,ie, hstore values are treated as numbers when they match the JSON syntaxfor numbers.No back-patch, since this is more in the nature of a definitional changethan a bug fix.1 parent52b6364 commit41d2c08
1 file changed
+1
-42
lines changedLines changed: 1 addition & 42 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1387 | 1387 |
| |
1388 | 1388 |
| |
1389 | 1389 |
| |
1390 |
| - | |
1391 | 1390 |
| |
1392 | 1391 |
| |
1393 | 1392 |
| |
| |||
1423 | 1422 |
| |
1424 | 1423 |
| |
1425 | 1424 |
| |
1426 |
| - | |
1427 | 1425 |
| |
1428 |
| - | |
1429 | 1426 |
| |
1430 | 1427 |
| |
1431 |
| - | |
1432 |
| - | |
1433 |
| - | |
1434 |
| - | |
1435 |
| - | |
1436 |
| - | |
1437 |
| - | |
1438 |
| - | |
1439 |
| - | |
1440 |
| - | |
1441 |
| - | |
1442 |
| - | |
1443 |
| - | |
1444 |
| - | |
1445 |
| - | |
1446 |
| - | |
1447 |
| - | |
1448 |
| - | |
1449 |
| - | |
1450 |
| - | |
1451 |
| - | |
1452 |
| - | |
1453 |
| - | |
1454 |
| - | |
1455 |
| - | |
1456 |
| - | |
1457 |
| - | |
1458 |
| - | |
1459 |
| - | |
1460 |
| - | |
1461 |
| - | |
1462 |
| - | |
1463 |
| - | |
1464 |
| - | |
1465 |
| - | |
1466 |
| - | |
1467 |
| - | |
1468 |
| - | |
1469 |
| - | |
| 1428 | + | |
1470 | 1429 |
| |
1471 | 1430 |
| |
1472 | 1431 |
| |
|
0 commit comments
Comments
(0)