v.18.14Improvement

Fixed Concurrent DROP and CREATE Database/Table Behaviors

Fixed behavior for simultaneous DROP DATABASE/TABLE IF EXISTS and CREATE DATABASE/TABLE IF NOT EXISTS. Previously, a CREATE DATABASE ... IF NOT EXISTS query could return the error message "File … already exists", and the CREATE TABLE ... IF NOT EXISTS and DROP TABLE IF EXISTS queries could return Table ... is creating or attaching right now. #3101
Fixes race conditions between simultaneous DROP DATABASE/TABLE IF EXISTS and CREATE DATABASE/TABLE IF NOT EXISTS queries that caused errors such as "File … already exists" and "Table … is creating or attaching right now".

Why it matters

This feature addresses concurrency issues where running CREATE and DROP commands with conditional existence checks simultaneously could lead to confusing errors and operation failures. It improves the reliability and usability of database and table management in concurrent environments.

How to use it

No special configuration is needed. Users can safely run CREATE DATABASE IF NOT EXISTS, CREATE TABLE IF NOT EXISTS, and DROP TABLE IF EXISTS queries concurrently without encountering race condition errors.