jvalue / jayvee

Jayvee is a domain-specific language and runtime for automated processing of data pipelines
https://jvalue.github.io/jayvee/
150 stars 15 forks source link

[BUG] <Deleting rows that contain the delmiter deletes everything> #554

Open kreisligaspieler opened 7 months ago

kreisligaspieler commented 7 months ago

Steps to reproduce

Imagine you have a delimiter , and an enclosing ". Trying to delete a row which contains a text like "A,B" causes the whole database to be empty. Might the code scan for the next delimiter (in this case ,) instead of first scanning for the next enclosing? Example pipeline: pipeline TestPipeline { Extractor -> TextFileInterpreter->RangeSelector->CSVInterpreter->ColumnDeleter->RowDeleter-> TableInterpreter->Loader; block Extractor oftype HttpExtractor {url: "https://geo.sv.rostock.de/download/opendata/museen/museen.csv";} block TextFileInterpreter oftype TextFileInterpreter {encoding: "utf8";} block RangeSelector oftype TextRangeSelector {lineFrom: 1;} block CSVInterpreter oftype CSVInterpreter {enclosing: '"';delimiter: ",";} block ColumnDeleter oftype ColumnDeleter {delete: [column I,];} block TableInterpreter oftype TableInterpreter { header: false; columns: ["latitude" oftype decimal,"longitude" oftype decimal,"uuid" oftype text,"kreis_name" oftype text,"kreis_schluessel" oftype integer,"gemeindeverband_name" oftype text,"gemeindeverband_schluessel" oftype
integer,"gemeinde_schluessel" oftype integer,"gemeindeteil_name" oftype text,"gemeindeteil_schluessel" oftype integer,"strasse_name" oftype text,"strasse_schluessel" oftype integer,"hausnummer" oftype integer,"hausnummer_zusatz" oftype text,"postleitzahl" oftype integer,"bezeichnung" oftype text,"traeger_bezeichnung" oftype text,"traeger_art" oftype text,"barrierefrei" oftype text,"oeffnungszeiten" oftype text,"telefon_festnetz" oftype text,"telefon_mobil" oftype text,"email" oftype text,"website" oftype text];} block Loader oftype SQLiteLoader {table: "test"; file: "test.sqlite";} }

Description