Commit 618ced9
committed
iceberg: address PR #4427 follow-up review
Three review comments on PR #4427 that landed after merge:
- shredder: reject the schema/column mismatch where a Timestamp common
reaches an Int32 column. coerceTemporalToNumeric returns int64
UnixMilli/Micros/Nanos (~10^12), which the Int32Type arm cast to
int32 with no bounds check, silently truncating into a garbage year.
The arm is intended for Date / TimeOfDay coercions whose values do
fit; bound-check post-coerce and fail loudly when they don't, with a
message pointing the operator at BIGINT or a schema-metadata fix.
- output_iceberg: drop the redundant conf.Contains guard around
require_schema_metadata parsing. The field declares Default(false)
in the spec so FieldBool returns false-without-error on absence and
the inline form fits cleanly.
- shredder: expose StrictTemporalMode as an exported struct field
instead of the SetStrictTemporalMode setter. It's a single bool with
no validation hook, so the setter added ceremony without value.
Updates the sole writer.go caller to assign the field directly.
New regression test TestCoerceTemporalInt32OverflowGuard pins the
Int32 overflow rejection and confirms in-range Date / TimeOfDay
coercions still succeed.1 parent 603ec27 commit 618ced9
4 files changed
Lines changed: 77 additions & 37 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
484 | 484 | | |
485 | 485 | | |
486 | 486 | | |
487 | | - | |
488 | | - | |
489 | | - | |
490 | | - | |
491 | | - | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
496 | 495 | | |
497 | 496 | | |
498 | 497 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
97 | 104 | | |
98 | 105 | | |
99 | 106 | | |
| |||
107 | 114 | | |
108 | 115 | | |
109 | 116 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | 117 | | |
127 | 118 | | |
128 | 119 | | |
| |||
264 | 255 | | |
265 | 256 | | |
266 | 257 | | |
267 | | - | |
| 258 | + | |
268 | 259 | | |
269 | 260 | | |
270 | 261 | | |
| |||
478 | 469 | | |
479 | 470 | | |
480 | 471 | | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
481 | 480 | | |
482 | 481 | | |
483 | 482 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
498 | 498 | | |
499 | 499 | | |
500 | 500 | | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 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 | + | |
501 | 545 | | |
502 | 546 | | |
503 | 547 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
226 | | - | |
227 | | - | |
| 225 | + | |
228 | 226 | | |
229 | 227 | | |
230 | 228 | | |
| |||
0 commit comments