Commit a11339d
authored
## Rationale
`ArrowFlightStatement#executeFlightInfoQuery` appends the dataset
schema columns to the statement's `Meta.Signature` without clearing
them, so the column list doubles on every invocation. When the
`FlightInfo` has at least one endpoint, `populateData` overwrites
`signature.columns` from the actual stream schema and hides the
duplication. With an empty endpoint list, that overwrite never
runs. Avatica then refuses the metadata with `Cannot have more columns
with the same name`.
This is a regression introduced in 15.0.0 by the prepared-statement
parameter binding work in
[GH-33475](apache/arrow#38404), which made
`handle.signature` mutable and shared across the `prepareAndExecute` →
`executeFlightInfoQuery` path.
Closes #44.
1 parent 3a1498b commit a11339d
3 files changed
Lines changed: 32 additions & 0 deletions
File tree
- flight/flight-sql-jdbc-core/src
- main/java/org/apache/arrow/driver/jdbc
- test/java/org/apache/arrow/driver/jdbc
- utils
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
| 55 | + | |
55 | 56 | | |
56 | 57 | | |
57 | 58 | | |
| |||
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
223 | 242 | | |
Lines changed: 12 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
| 70 | + | |
| 71 | + | |
70 | 72 | | |
71 | 73 | | |
72 | 74 | | |
| |||
100 | 102 | | |
101 | 103 | | |
102 | 104 | | |
| 105 | + | |
103 | 106 | | |
104 | 107 | | |
105 | 108 | | |
106 | 109 | | |
107 | 110 | | |
108 | 111 | | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
109 | 121 | | |
110 | 122 | | |
111 | 123 | | |
| |||
0 commit comments