Commit 3f66796
feat(json): Add support for field_names_in_json_cast_enabled when casting rows to json (facebookincubator#13108)
Summary:
This diff adds support for field_names_in_json_cast_enabled session property which when enabled produces a json object with the field names having same key as the child name in the row.
For e.g:
```
presto:gen_ai> set session field_names_in_json_cast_enabled=true;
SET SESSION
presto:gen_ai> select cast(cast(row(1, array[1,2], 3.0, row('a', 5)) AS row(x int, y array<int>, z double, r row(a varchar, b int))) as json);
_col0
-----------------------------------------------
{"r":{"a":"a","b":5},"x":1,"y":[1,2],"z":3.0}
```
Velox will produce canonicalized json even though currently Presto java doesnt.
Differential Revision: D734683511 parent 49d5cda commit 3f66796
File tree
3 files changed
+157
-11
lines changed- velox
- core
- functions/prestosql
- tests
- types
3 files changed
+157
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
542 | 542 | | |
543 | 543 | | |
544 | 544 | | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
545 | 550 | | |
546 | 551 | | |
547 | 552 | | |
| |||
991 | 996 | | |
992 | 997 | | |
993 | 998 | | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
994 | 1003 | | |
995 | 1004 | | |
996 | 1005 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
86 | 88 | | |
87 | 89 | | |
88 | 90 | | |
| |||
215 | 217 | | |
216 | 218 | | |
217 | 219 | | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
218 | 226 | | |
219 | 227 | | |
220 | 228 | | |
| |||
734 | 742 | | |
735 | 743 | | |
736 | 744 | | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
737 | 823 | | |
738 | 824 | | |
739 | 825 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
240 | | - | |
241 | | - | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
242 | 243 | | |
243 | 244 | | |
244 | 245 | | |
| |||
294 | 295 | | |
295 | 296 | | |
296 | 297 | | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
297 | 302 | | |
298 | 303 | | |
299 | 304 | | |
300 | 305 | | |
301 | 306 | | |
302 | 307 | | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
303 | 312 | | |
304 | 313 | | |
305 | 314 | | |
| |||
353 | 362 | | |
354 | 363 | | |
355 | 364 | | |
| 365 | + | |
356 | 366 | | |
357 | 367 | | |
358 | 368 | | |
| |||
537 | 547 | | |
538 | 548 | | |
539 | 549 | | |
| 550 | + | |
540 | 551 | | |
541 | 552 | | |
542 | 553 | | |
543 | 554 | | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
544 | 559 | | |
545 | 560 | | |
546 | 561 | | |
547 | 562 | | |
548 | 563 | | |
549 | | - | |
| 564 | + | |
| 565 | + | |
550 | 566 | | |
551 | | - | |
552 | | - | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
553 | 581 | | |
554 | 582 | | |
555 | 583 | | |
556 | 584 | | |
557 | 585 | | |
558 | 586 | | |
559 | | - | |
| 587 | + | |
560 | 588 | | |
561 | 589 | | |
562 | 590 | | |
| |||
565 | 593 | | |
566 | 594 | | |
567 | 595 | | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
568 | 609 | | |
569 | 610 | | |
570 | 611 | | |
| |||
574 | 615 | | |
575 | 616 | | |
576 | 617 | | |
577 | | - | |
578 | | - | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
579 | 625 | | |
580 | 626 | | |
581 | 627 | | |
582 | | - | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
583 | 635 | | |
584 | | - | |
585 | 636 | | |
586 | 637 | | |
587 | 638 | | |
| |||
0 commit comments