You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: prevent infinite loop when reloading persisted block-column settings
When a database with a persisted block-column setting was reopened,
sqlite3_cloudsync_init looped forever inside dbutils_settings_table_load_callback.
The callback iterates cloudsync_table_settings via sqlite3_exec and, for each
algo=block row, called cloudsync_setup_block_column, which unconditionally
REPLACEd the same row back into the table. The rewritten row was re-fed to the
still-open cursor, triggering the callback again ad infinitum.
Add a `persist` flag to cloudsync_setup_block_column so the settings loader
can replay the in-memory setup without writing back to cloudsync_table_settings.
The SQL-function callers (cloudsync_set_column in both the SQLite and
PostgreSQL backends) keep persisting by passing true.
Add a regression test (Block Column Reload) that creates a block column with a
custom delimiter, closes the database, and reopens it — without the fix this
hangs the test process.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 commit comments