Added InsertBuffer with flush_interval and using it in sqlite.py
#1568
+441
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added a new
InsertBuffer(moved from clickhouse.py) class indata_storage/buffer.pythat provides unified batch insert handling with time-based flushing support. This reduces data loss on UDF failures by automatically flushing results to the database at regular intervals (default: 60 seconds), regardless of batch size.Introduced a new
flush_intervalsetting that can be configured viaDataChain.settings(flush_interval=...)and which is used byInsertBufferRefactored SQLite's
insert_rowsto use the newInsertBufferTODO: InsertBuffer unit tests