**Describe the bug**
`SELECT i FROM generateRandom('i Array(Int8)', 1048575, 10, 1048577) LIMIT 1048575`

Memory limit should be respected.
const uint64_t queue_end = queue_front_index + queue.size();
            if (requested_flush_before < queue_end)
                requested_flush_before = queue_end;
            flush_event.notify_all();
        }
        if (queue.size() >= DBMS_SYSTEM_LOG_QUEUE_SIZE)
        {
            
            
            
            
            
            if (queue_front_index != logged_queue_full_at_index)
            {
                logged_queue_full_at_index = queue_front_index;
                
                
                lock.unlock();
                LOG_ERROR(log, "Queue is full for system log '{}' at {}", demangle(typeid(*this).name()), queue_front_index);
            }
            return;
        }
        queue.push_back(element);
    }
    if (queue_is_half_full)
        LOG_INFO(log, "Queue is half full for system log '{}'.", demangle(typeid(*this).name()));
}
template <typename LogElement>
void SystemLog<LogElement>::flush(bool force)