Greetings.
When i run zavod run --latest datasets/eu/fsf/eu_fsf.yml i get a bunch of warnings the following error (especially note the SQL insert error on the end). Other datasets run just fine without errors. Is this a known bug?
Note: a entities.ftm.json is created despite the error, but i feel its incomplete as my file is 9MB and the download on the website is 13MB?
e[2m2025-10-16 20:25:08e[0m [e[32me[1minfo e[0m] e[1mRunning dataset e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdata_pathe[0m=e[35mdatasets/eu_fsfe[0m e[36mdata_timee[0m=e[35m2025-10-16T20:25:07e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mversione[0m=e[35m20251016202507-gxje[0m
e[2m2025-10-16 20:25:08e[0m [e[32me[1minfo e[0m] e[1mFetching file e[0m [e[0me[1me[34mzavod.runtime.http_e[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36murle[0m=e[35m'https://webgate.ec.europa.eu/fsd/fsf/public/files/xmlFullSanctionsList_1_1/content?token=dG9rZW4tMjAxNw'e[0m
e[2m2025-10-16 20:25:16e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-27-28e[0m
e[2m2025-10-16 20:25:16e[0m [e[32me[1minfo e[0m] e[1mBuilding timestamp index... e[0m [e[0me[1me[34mzavod.runtime.timestampse[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
e[2m2025-10-16 20:25:16e[0m [e[32me[1minfo e[0m] e[1mIndex ready. e[0m [e[0me[1me[34mzavod.runtime.timestampse[0m]e[0m e[36mcounte[0m=e[35m0e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-39-56e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-16-62e[0m
e[SHORTENED FOR READABILITY]
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-69-59e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-71-49e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-77-33e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-89-61e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-97-35e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-59-58e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-62-13e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-63-75e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-65-5e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-150-25e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-153-28e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-134-2e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-IRQ' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-90-86e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-UKR' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-3935-95e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-UKR' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-4033-93e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-UKR' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-3936-60e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-UKR' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mentity_ide[0m=e[35meu-fsf-eu-3483-54e[0m
e[2m2025-10-16 20:25:17e[0m [e[33me[1mwarning e[0m] e[1mProgram with key 'EU-UKR' not found.e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mExported: Target names text filee[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mpathe[0m=e[35mdatasets/eu_fsf/names.txte[0m e[36msizee[0m=e[35m1038607e[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mExported: Dataset statistics e[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mpathe[0m=e[35mdatasets/eu_fsf/statistics.jsone[0m e[36msizee[0m=e[35m15557e[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mExported: Targets as simplified CSVe[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mpathe[0m=e[35mdatasets/eu_fsf/targets.simple.csve[0m e[36msizee[0m=e[35m2424016e[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mExported: Targets as nested JSONe[0m [e[0me[1me[34meu_fsfe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mpathe[0m=e[35mdatasets/eu_fsf/targets.nested.jsone[0m e[36msizee[0m=e[35m10194226e[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mWriting delta versions index...e[0m [e[0me[1me[34mzavod.exporters.metadatae[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mpathe[0m=e[35m/Users/sbz/code/opensanctions/data/datasets/eu_fsf/delta.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mWriting dataset index e[0m [e[0me[1me[34mzavod.exporters.metadatae[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mis_collectione[0m=e[35mFalsee[0m e[36mpathe[0m=e[35mdatasets/eu_fsf/index.jsone[0m e[36mversione[0m=e[35m20251016202507-gxje[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mExported dataset: eu_fsf e[0m [e[0me[1me[34mzavod.exporterse[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: entities.ftm.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/entities.ftm.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/entities.ftm.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: entities.ftm.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/entities.ftm.jsone[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/entities.ftm.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: names.txt to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/names.txte[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/names.txte[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: names.txt to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/names.txte[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/names.txte[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: senzing.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/senzing.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/senzing.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: senzing.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/senzing.jsone[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/senzing.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: source.xml to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/source.xmle[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/source.xmle[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: source.xml to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/source.xmle[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/source.xmle[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: targets.nested.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/targets.nested.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/targets.nested.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: targets.nested.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/targets.nested.jsone[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/targets.nested.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: targets.simple.csv to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/targets.simple.csve[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/targets.simple.csve[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: targets.simple.csv to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/targets.simple.csve[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/targets.simple.csve[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: index.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/20251016/eu_fsf/index.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/index.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: index.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/datasets/latest/eu_fsf/index.jsone[0m e[36msourcee[0m=e[35marchive/datasets/20251016/eu_fsf/index.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: issues.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/issues.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/issues.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: issues.log to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/issues.loge[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/issues.loge[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: index.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/index.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/index.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: statements.pack to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/statements.packe[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/statements.packe[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: statistics.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/statistics.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/statistics.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: versions.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/versions.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/versions.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: resources.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/resources.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/resources.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: entities.delta.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/entities.delta.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/entities.delta.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: delta.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/delta.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/delta.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: entities.hash to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/20251016202507-gxj/entities.hashe[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/entities.hashe[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mCopying file: versions.json to archivee[0m [e[0me[1me[34mzavod.archive.backende[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m e[36mdeste[0m=e[35marchive/artifacts/eu_fsf/versions.jsone[0m e[36msourcee[0m=e[35mdatasets/eu_fsf/versions.jsone[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mLoading dataset into database...e[0m [e[0me[1me[34mzavod.clie[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
e[2m2025-10-16 20:25:24e[0m [e[32me[1minfo e[0m] e[1mInserting batch 3000 statements (total: 3000) into 'eu_fsf'e[0m [e[0me[1me[34mnomenklatura.dbe[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
e[2m2025-10-16 20:25:24e[0m [e[31me[1merror e[0m] e[1mFailed to export and publish 'eu_fsf'e[0m [e[0me[1me[34mzavod.clie[0m]e[0m e[36mdatasete[0m=e[35meu_fsfe[0m
Traceback (most recent call last):
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: too many SQL variables
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Users/sbz/code/opensanctions/zavod/zavod/cli.py", line 179, in run
load_dataset_to_db(dataset, linker, external=False)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sbz/code/opensanctions/zavod/zavod/tools/load_db.py", line 32, in load_dataset_to_db
insert_statements(
~~~~~~~~~~~~~~~~~^
engine,
^^^^^^^
...<3 lines>...
batch_size=batch_size,
^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/nomenklatura/db.py", line 125, in insert_statements
_upsert_statement_batch(engine.dialect, conn, table, batch)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/nomenklatura/db.py", line 91, in _upsert_statement_batch
conn.execute(lstmt)
~~~~~~~~~~~~^^^^^^^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1419, in execute
return meth(
self,
distilled_parameters,
execution_options or NO_OPTIONS,
)
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/sql/elements.py", line 526, in _execute_on_connection
return connection._execute_clauseelement(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self, distilled_params, execution_options
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1641, in _execute_clauseelement
ret = self._execute_context(
dialect,
...<8 lines>...
cache_hit=cache_hit,
)
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1846, in _execute_context
return self._exec_single_context(
~~~~~~~~~~~~~~~~~~~~~~~~~^
dialect, context, statement, parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1986, in _exec_single_context
self._handle_dbapi_exception(
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
e, str_statement, effective_parameters, cursor, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 2355, in _handle_dbapi_exception
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(
~~~~~~~~~~~~~~~~~~~~~~~^
cursor, str_statement, effective_parameters, context
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/Users/sbz/code/opensanctions/zavod/.venv/lib/python3.13/site-packages/sqlalchemy/engine/default.py", line 951, in do_execute
cursor.execute(statement, parameters)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) too many SQL variables
[SQL: INSERT INTO statement (id, entity_id, canonical_id, prop, prop_type, schema, value, original_value, dataset, origin, lang, external, first_seen, last_seen) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?), (SHORTENED FOR READABILITY) ON CONFLICT (id) DO NOTHING]
[parameters: ('2f2bbfac681c3c61a4b4ec65a8acae2f3d8dbe3d', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'entity', 'entity', 'Sanction', 'eu-fsf-eu-27-28', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000', 'a4325ab9339b5f5fec8cbf3c8bfb7bda1bdef56e', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'country', 'country', 'Sanction', 'eu', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000', '413616cdefeb072fb9a0fec97dad6bd6c5f6739b', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'authority', 'string', 'Sanction', 'Directorate‑General for Financial Stability, Financial Services and Capital Markets Union', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000', 'e247b0900b82a395971fc06d2bf5c309f1eb88b9', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'eu-fsf-8c6c5cd54c05cdc9f885803730f4eb3c4e3ea191', 'program', 'string', 'Sanction', 'IRQ', None ... 41900 parameters truncated ... 'eu', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000', '749ce4b429d392843a2a96dcac269d394962f8f6', 'eu-fsf-15caf0e975036730eff77168d179b42008b910ce', 'eu-fsf-15caf0e975036730eff77168d179b42008b910ce', 'authority', 'string', 'Sanction', 'Directorate‑General for Financial Stability, Financial Services and Capital Markets Union', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000', 'f3c28d9a0ab89b758e8db7dd9f1bc75f3fd7496a', 'eu-fsf-15caf0e975036730eff77168d179b42008b910ce', 'eu-fsf-15caf0e975036730eff77168d179b42008b910ce', 'program', 'string', 'Sanction', 'AFG', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000', '0b56d4ed07a2be6902edd7643b9d8b2387b6acb4', 'eu-fsf-15caf0e975036730eff77168d179b42008b910ce', 'eu-fsf-15caf0e975036730eff77168d179b42008b910ce', 'sourceUrl', 'url', 'Sanction', 'http://eur-lex.europa.eu/legal-content/EN/TXT/PDF/?uri=CELEX:32017R0404&from=EN', None, 'eu_fsf', '', None, 0, '2025-10-16 20:25:07.000000', '2025-10-16 20:25:07.000000')]
(Background on this error at: https://sqlalche.me/e/20/e3q8)