Hello, when I use following sqlite3 commands, it returns error "cannot commit - no transaction is active" somewhere near the line "WHERE user IN (".... So I wanted to ask what to replace with what in order not to produce said error. I am not a developer and the ChatGPT (1, 2) is unable to provide working code. Can you please help?
said commands:
undefined
-- Start a transaction
BEGIN TRANSACTION;
-- Insert missing user_permission_overrides rows
INSERT INTO user_permission_overrides (room, user, write)
SELECT DISTINCT ru.room, u.id, TRUE
FROM room_users ru
JOIN users u ON ru.user = u.id
LEFT JOIN user_permission_overrides upo ON u.id = upo.user AND ru.room = upo.room
WHERE u.created < strftime('%s', '2024-07-02 00:49:26')
AND upo.user IS NULL;
-- Update existing user_permission_overrides rows
UPDATE user_permission_overrides
SET write = TRUE
WHERE user IN (
SELECT id
FROM users
WHERE created < strftime('%s', '2024-07-02 00:49:26')
SQLite is often misconceived as a "toy database", only good for mobile applications and embedded systems because it's default configuration is optimized for embedded use cases, so most people trying it will encounter poor performances and the dreaded SQLITE_BUSY error. But what if I told...