[Feat]: Import data from file (CSV/TSV/JSON)
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust, typescript
- Ambito
- database
Direzione di ricerca
Start by reading the existing clipboard import modal and the frontend parse, infer, preview, and execute flow; the issue names execute_clipboard_import as the Rust-side entry point. Trace how the modal receives clipboard content and how the file picker can feed the same pipeline, including the proposed size warning. Done means file import works for the listed formats through the existing preview and execution flow, with a warning for large files.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Prerequisites
- I have written a descriptive issue title
- I have searched existing issues to ensure the feature has not already been requested
🚀 Feature Proposal
Add "Import from file…" as a data source for table imports, alongside the existing clipboard import.
The clipboard import modal is already a full-featured import pipeline: format detection (TSV / CSV / JSON array / Markdown table), type inference with confidence levels, schema editor, data preview, create/append modes with fail/append/replace strategies, mapping to existing columns and ALTER TABLE ADD COLUMN for new ones — all driver-agnostic on the Rust side (execute_clipboard_import goes through the driver trait, so plugins work too).
The only missing piece is the data source: today the modal can only read from the clipboard, which is not a workable flow for actual files.
Proposed v1 (small):
- A file picker (
.csv,.tsv,.json,.md) feeding the file content into the existing parse → infer → preview → execute pipeline; - the modal becomes a generic "Import data" modal with two sources (clipboard / file);
- a size guard with a warning above ~10–20 MB, since parsing happens in the frontend.
Follow-up v2 (large files):
- Rust-side streaming CSV parsing (the
csvcrate is already a dependency for export) with batched inserts, progress events and cancellation — mirroring the existing streaming export pipeline; - switch inserts to prepared statements / multi-row batches for throughput;
- fix the frontend CSV parser to support quoted cells containing newlines (it currently splits on
\nbefore parsing — fine for clipboard content, not for real-world CSV files).
Motivation
Tabularis can export result sets to CSV/JSON files (and soon Markdown), but there is no way to import a file into a table — the asymmetry is surprising for users coming from other DB tools. Loading a CSV into a new or existing table is one of the most common day-to-day tasks.
Example
Table context menu / explorer → "Import data…" → pick users.csv → same schema/preview screen as the clipboard import → rows inserted with create-table or append.
Happy to work on a PR (v1 first) if there's interest.
- Lingua principale
- TypeScript
- Stelle
- 5.1k
- Fork
- 335
- Merge medio
- 1g 10h
- PR unite (30g)
- 268
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TabularisDB/tabularis
-
[Feat]: Make editor crash reports actionable with copy, AI analysis, and issue creationForse già presa @Detoy l’ha presa 1 giorno fa. Apertafeature request
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
TabularisDB/tabularis#1360 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Feat]: Align the Web password login page with Tabularis designForse già presa @Detoy l’ha presa 4 giorni fa. Apertafeature request
TabularisDB/tabularis#1341 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Proposal: connections that recover on their own after sleep, network loss and server restartsAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
TabularisDB/tabularis#1328 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: OpenAI compatible provider requires API key, even when not actually required by providerForse già presa @dyk1454683243-sudo l’ha presa 5 giorni fa. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
TabularisDB/tabularis#1323 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
[Feat]: Traditional Chinese (zh-TW) translationForse già presa @fixfon l’ha presa oggi. Apertafeature request good first issue
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
TabularisDB/tabularis#1314 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di TabularisDB/tabularis
Issue simili
-
🐛 bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
LibreChat-AI/LibreChat#17733 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
TypeStrong/typedoc#3150 ·
-
accessibility bug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Normalize image-source MIME types before SVG dispatchForse già presa @HarsH-1877 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
tscircuit/image-utils#58 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
I maintainer di solito rispondono entro 2 giorni