Field names are not properly quoted when generating the queries for DuckDB. They're surrounded by double quotes without escaping (by doubling) any double quotes already in the name.
It looks like the code above should be using Identifier::escapeIdentifier() instead, although I suspect doing so will require other downstream changes in calling code.
I noticed this when reading the preprocessing code and then verified it with the attached test input directory and the following command:
Field names are not properly quoted when generating the queries for DuckDB. They're surrounded by double quotes without escaping (by doubling) any double quotes already in the name.
https://github.com/GenSpectrum/LAPIS-SILO/blob/fb58525de5d978075defbe4a22d5a3f37dbb6d44/src/silo/preprocessing/metadata_info.cpp#L160-L191
It looks like the code above should be using
Identifier::escapeIdentifier()
instead, although I suspect doing so will require other downstream changes in calling code.I noticed this when reading the preprocessing code and then verified it with the attached test input directory and the following command: