Commit 4fd5c28
authored
### Rationale for this change
Apache Orc has a per column attribute map and Apache Iceberg depends on this to encode its field metadata. However, the C++ Orc adapter does not know it which makes it difficult to support pyarrow and pyiceberg.
### What changes are included in this PR?
Both reader and writer support Orc attributes conversion from/to arrow field metadata.
### Are these changes tested?
Added two test cases to make sure the Orc adapter can preserve the attributes well.
### Are there any user-facing changes?
No.
* Closes: #35304
Authored-by: Gang Wu <[email protected]>
Signed-off-by: Antoine Pitrou <[email protected]>
1 parent cfcff49 commit 4fd5c28
File tree
4 files changed
+200
-24
lines changed- cpp/src/arrow/adapters/orc
4 files changed
+200
-24
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
321 | 321 | | |
322 | 322 | | |
323 | 323 | | |
324 | | - | |
325 | | - | |
326 | | - | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
327 | 327 | | |
328 | 328 | | |
329 | 329 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
506 | 506 | | |
507 | 507 | | |
508 | 508 | | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
509 | 638 | | |
510 | 639 | | |
511 | 640 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
951 | 952 | | |
952 | 953 | | |
953 | 954 | | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
954 | 964 | | |
955 | 965 | | |
956 | 966 | | |
| |||
1000 | 1010 | | |
1001 | 1011 | | |
1002 | 1012 | | |
1003 | | - | |
1004 | | - | |
1005 | | - | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
1006 | 1016 | | |
1007 | 1017 | | |
1008 | 1018 | | |
| |||
1011 | 1021 | | |
1012 | 1022 | | |
1013 | 1023 | | |
1014 | | - | |
1015 | | - | |
| 1024 | + | |
| 1025 | + | |
1016 | 1026 | | |
1017 | 1027 | | |
1018 | 1028 | | |
1019 | 1029 | | |
1020 | 1030 | | |
1021 | | - | |
1022 | | - | |
1023 | | - | |
1024 | | - | |
1025 | | - | |
1026 | | - | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
1027 | 1037 | | |
1028 | 1038 | | |
1029 | 1039 | | |
| |||
1034 | 1044 | | |
1035 | 1045 | | |
1036 | 1046 | | |
| 1047 | + | |
1037 | 1048 | | |
1038 | 1049 | | |
1039 | 1050 | | |
| |||
1132 | 1143 | | |
1133 | 1144 | | |
1134 | 1145 | | |
1135 | | - | |
1136 | | - | |
| 1146 | + | |
| 1147 | + | |
1137 | 1148 | | |
1138 | 1149 | | |
1139 | 1150 | | |
1140 | 1151 | | |
1141 | 1152 | | |
1142 | | - | |
1143 | | - | |
1144 | | - | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
1145 | 1158 | | |
1146 | 1159 | | |
1147 | 1160 | | |
1148 | 1161 | | |
1149 | | - | |
1150 | | - | |
1151 | | - | |
| 1162 | + | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
1152 | 1166 | | |
1153 | 1167 | | |
1154 | 1168 | | |
| |||
1159 | 1173 | | |
1160 | 1174 | | |
1161 | 1175 | | |
1162 | | - | |
1163 | | - | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
1164 | 1179 | | |
1165 | 1180 | | |
1166 | 1181 | | |
| |||
1176 | 1191 | | |
1177 | 1192 | | |
1178 | 1193 | | |
| 1194 | + | |
1179 | 1195 | | |
1180 | 1196 | | |
1181 | 1197 | | |
1182 | 1198 | | |
1183 | 1199 | | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
1184 | 1223 | | |
1185 | 1224 | | |
1186 | 1225 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
38 | 46 | | |
39 | 47 | | |
40 | 48 | | |
| |||
0 commit comments