Commit dd9411c
committed
fix: COPY FROM STDIN without header now inserts rows correctly
- bulk_executor.get_table_columns: bypass catalog router by calling
_execute_external_async directly — the catalog router intercepts
INFORMATION_SCHEMA.COLUMNS and returns empty rows as a pg_catalog
emulation fallback, causing INSERT with empty column list
- bulk_insert: lazily detect CSV placeholder keys (column_0, column_1…)
and remap to real schema columns only when needed, leaving header-derived
or explicit column lists untouched
- tests/conftest.py: increase pool to 30 / timeout 15s to prevent exhaustion
when COPY tests hold transaction connections during 250-row bulk inserts1 parent 93eb078 commit dd9411c
2 files changed
+30
-13
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| 74 | + | |
| 75 | + | |
74 | 76 | | |
75 | 77 | | |
76 | | - | |
77 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
78 | 91 | | |
79 | 92 | | |
80 | 93 | | |
| |||
321 | 334 | | |
322 | 335 | | |
323 | 336 | | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
324 | 340 | | |
325 | 341 | | |
326 | 342 | | |
327 | 343 | | |
328 | | - | |
| 344 | + | |
329 | 345 | | |
330 | 346 | | |
331 | 347 | | |
332 | 348 | | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
338 | | - | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
339 | 354 | | |
340 | | - | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
341 | 359 | | |
342 | | - | |
343 | 360 | | |
344 | 361 | | |
345 | 362 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
679 | 679 | | |
680 | 680 | | |
681 | 681 | | |
682 | | - | |
683 | | - | |
| 682 | + | |
| 683 | + | |
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
| |||
0 commit comments