Commit d0b02a6
committed
Implement metadata-aware PySimpleScalarUDF
Enhance scalar UDF definitions to retain Arrow Field
information, including extension metadata, in DataFusion.
Normalize Python UDF signatures to accept pyarrow.Field
objects, ensuring metadata survives the Rust bindings roundtrip.
Add a regression test for UUID-backed UDFs to verify
that the second UDF correctly receives a
pyarrow.ExtensionArray, preventing past metadata loss.1 parent d9c90d2 commit d0b02a6
File tree
3 files changed
+196
-27
lines changed- python
- datafusion
- tests
- src
3 files changed
+196
-27
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | 32 | | |
37 | 33 | | |
38 | 34 | | |
| |||
77 | 73 | | |
78 | 74 | | |
79 | 75 | | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
80 | 110 | | |
81 | 111 | | |
82 | 112 | | |
| |||
93 | 123 | | |
94 | 124 | | |
95 | 125 | | |
96 | | - | |
97 | | - | |
98 | | - | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
99 | 129 | | |
100 | 130 | | |
101 | 131 | | |
| |||
105 | 135 | | |
106 | 136 | | |
107 | 137 | | |
108 | | - | |
109 | | - | |
| 138 | + | |
| 139 | + | |
110 | 140 | | |
111 | | - | |
| 141 | + | |
112 | 142 | | |
113 | 143 | | |
114 | 144 | | |
| |||
127 | 157 | | |
128 | 158 | | |
129 | 159 | | |
130 | | - | |
131 | | - | |
| 160 | + | |
| 161 | + | |
132 | 162 | | |
133 | 163 | | |
134 | 164 | | |
135 | 165 | | |
136 | 166 | | |
137 | 167 | | |
138 | 168 | | |
139 | | - | |
140 | | - | |
141 | | - | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
142 | 172 | | |
143 | 173 | | |
144 | 174 | | |
| |||
164 | 194 | | |
165 | 195 | | |
166 | 196 | | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
171 | 202 | | |
172 | 203 | | |
173 | 204 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | | - | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
30 | | - | |
31 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
32 | 36 | | |
33 | 37 | | |
34 | 38 | | |
| |||
80 | 84 | | |
81 | 85 | | |
82 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
83 | 164 | | |
84 | 165 | | |
85 | 166 | | |
| |||
94 | 175 | | |
95 | 176 | | |
96 | 177 | | |
97 | | - | |
98 | | - | |
| 178 | + | |
| 179 | + | |
99 | 180 | | |
100 | 181 | | |
101 | | - | |
| 182 | + | |
| 183 | + | |
102 | 184 | | |
103 | 185 | | |
104 | 186 | | |
105 | | - | |
| 187 | + | |
106 | 188 | | |
107 | 189 | | |
| 190 | + | |
108 | 191 | | |
109 | 192 | | |
110 | 193 | | |
| |||
0 commit comments