fix(tableview): paths normalizados (Windows) + error visible en ventana

Hipotesis del bug 'tras promover, la tabla expandida queda a 0 filas':
en Windows std::filesystem::path::string() devuelve la ruta con
backslashes ('C:\\Users\\...\\operations.db'). Al embebirla en
'ATTACH ''<path>'' AS ops' DuckDB la interpretaba con quirks segun
version, fallaba el ATTACH (silent), pero ademas el siguiente
duckdb_open con paths mixtos podria no abrir el .duckdb correcto.

Cambios:
- tableview_resolve_path normaliza '\\' -> '/' (DuckDB acepta ambos
  para duckdb_open, pero forzamos '/' para evitar ambiguedad en SQL).
- ATTACH normaliza ops_db tambien.
- TableWindowState.last_error: cuando count o page fallan, se setea
  con el path/tabla involucrada y se muestra en rojo en la cabecera
  de la ventana. Asi el bug es visible sin abrir consola.
- tableview_page log incluye la SQL completa cuando falla — facil
  diagnosticar via stderr en linux.
This commit is contained in:
2026-05-01 17:02:22 +02:00
parent 7561c3f4bb
commit e6719a5ae0
4 changed files with 47 additions and 10 deletions
+4
View File
@@ -1861,6 +1861,10 @@ void views_table_window(AppState& app) {
ImGui::TextDisabled("%s · %s · %lld rows",
m.duckdb_path.c_str(), m.table_name.c_str(),
(long long)w.total_rows);
if (!w.last_error.empty()) {
ImGui::TextColored(ImVec4(1.0f, 0.4f, 0.4f, 1.0f),
"ERROR: %s", w.last_error.c_str());
}
ImGui::Separator();
// Tabla