Outdated Version

You are viewing an older version of this section. View current production version.

FLUSH TABLES

Completes all in-progress DDL and DML transactions (writes) that are running against any databases in the cluster. Then, for each database in the cluster, makes every table available for reads, but not writes.

Syntax

FLUSH TABLES [ON db_name] WITH READ {LOCK | ONLY}

Arguments

  • db_name: name of the database

Remarks

  • FLUSH TABLES WITH READ LOCK blocks any DDL and DML transactions (writes) that are initiated following the execution of the command.

  • FLUSH TABLES WITH READ ONLY fails any DDL and DML transactions (writes) that are initiated following the execution of the command, while holding the flush table locks.

  • If you have any pipelines currently running, it is recommended to stop them before executing the FLUSH TABLES.. command. Do not create/drop/start/stop pipelines before executing the UNLOCK TABLES command.

  • Running UNLOCK TABLES after FLUSH TABLES.. will make the cluster available for writes. Running UNLOCK TABLES after FLUSH TABLES WITH READ LOCK, specifically, will also unblock any writes that were initiated after FLUSH TABLES WITH READ LOCK was submitted. The UNLOCK TABLES query must be run in the same connection as the FLUSH TABLES query for this feature to take effect.

  • This command must be run on the master aggregator node or a child aggregator node (see Node Requirements for SingleStore DB Commands ).

Example

FLUSH TABLES WITH READ LOCK;

Related Topics