> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/analytics/mariadb-columnstore/reference.md).

# Reference

- [ColumnStore Commit](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/5568.md): COMMIT for MariaDB ColumnStore makes table changes permanent; once committed, changes cannot be undone with ROLLBACK and the database must be restored from backups to revert.
- [ColumnStore Drop Procedure](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/5571.md): DROP PROCEDURE for MariaDB ColumnStore deletes a stored procedure from the database with simple syntax: DROP PROCEDURE procedure\_name.
- [ColumnStore Rename Table](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/5573.md): RENAME TABLE for MariaDB ColumnStore renames one or more ColumnStore tables; cannot move a table between databases (use ALTER TABLE for that scenario).
- [ColumnStore Rollback](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/5574.md): ROLLBACK for MariaDB ColumnStore undoes uncommitted transactions; rollback does not affect ALTER, CREATE, or DROP TABLE statements, which take effect immediately.
- [ColumnStore Compression Mode](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-compression-mode.md): ColumnStore compression mode is set via infinidb\_compression\_type at instance or session scope, controlling whether new tables and added columns use snappy compression by default.
- [ColumnStore Conditions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-conditions.md): Reference for the conditions and operators usable in MariaDB ColumnStore WHERE clauses, including comparison, IN, BETWEEN, IS NULL, LIKE pattern matching, and EXISTS subqueries.
- [ColumnStore Data Types](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-data-types.md): Reference for MariaDB ColumnStore data types: numeric (BOOLEAN, integers, DECIMAL, FLOAT/DOUBLE), variable-length string types, and standard MariaDB date and time types.
- [ColumnStore Decimal Math and Scale](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-decimal-math-and-scale.md): MariaDB ColumnStore decimal math and scale options: switch intermediate decimal calculations to double via columnstore\_double\_for\_decimal\_math, and tune the result scale level.
- [ColumnStore Distributed Aggregate Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-distributed-aggregate-functions.md): MariaDB ColumnStore distributed aggregate functions usable in SELECT, HAVING, and ORDER BY: AVG, COUNT, MAX, MIN, CORR, COVAR\_POP, COVAR\_SAMP, and other statistical aggregates.
- [ColumnStore Distributed Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-distributed-functions.md): MariaDB ColumnStore distributed functions for SELECT, WHERE, and ORDER BY clauses: numeric, string, date/time, and bitwise operators processed in parallel across PrimProc nodes.
- [ColumnStore Information Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-information-functions.md): MariaDB ColumnStore information functions return distributed-storage metadata: block IDs (idbBlockId), DBRoot, extent boundaries (idbExtentMin/Max), and the originating PrimProc node.
- [ColumnStore Information Schema Tables](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-information-schema-tables.md): Reference for MariaDB ColumnStore INFORMATION\_SCHEMA tables exposing table, column, and storage metadata: COLUMNSTORE\_TABLES, COLUMNSTORE\_COLUMNS, and related views added in 1.0.5.
- [ColumnStore Naming Conventions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-naming-conventions.md): MariaDB ColumnStore naming conventions for usernames (64c max), tables, and columns (alphanumeric and underscore, ASCII-letter first), plus the reserved words specific to ColumnStore.
- [ColumnStore Non-Distributed Post-Processed Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-non-distributed-post-processed-functions.md): MariaDB functions evaluated as post-processing after MariaDB ColumnStore returns data, supported in SELECT projection and ORDER BY only — not distributed across PrimProc nodes.
- [ColumnStore Operating Mode](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-operating-mode.md): MariaDB ColumnStore operating mode is set via infinidb\_vtable\_mode: 0 for row-by-row processing, 1 (default) for distributed only, or 2 for auto-switch by query compatibility.
- [ColumnStore User Defined Aggregate and Window Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-user-defined-aggregate-and-window-functions.md): User-defined aggregate and window functions for MariaDB ColumnStore 1.1 and later using a C++ SDK, with distributed execution across PrimProc nodes; examples include median and SSQ.
- [ColumnStore User Defined Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-user-defined-functions.md): User-defined scalar functions for MariaDB ColumnStore (1.0.10+) require both the MariaDB server UDF API and the ColumnStore distributed UDF API to execute across PrimProc nodes.
- [ColumnStore Utility Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-utility-functions.md): MariaDB ColumnStore utility functions report system status: mcsSystemReady() indicates whether queries are accepted, and mcsSystemReadOnly() reports read-only or suspended state.
- [ColumnStore Window Functions](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/columnstore-window-functions.md): MariaDB ColumnStore window functions follow SQL 2003 with partitions and frames, applied after joins, GROUP BY, and HAVING; useful for cumulative totals, rolling averages, and top-N.
- [ColumnStore Data Definition Statements](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements.md): MariaDB ColumnStore data-definition statements (DDL): CREATE/ALTER/DROP TABLE, CREATE PROCEDURE, CREATE/ALTER VIEW, plus notes on DDL behavior that differs from standard MariaDB.
- [ColumnStore ALTER TABLE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/columnstore-alter-table.md): ALTER TABLE for MariaDB ColumnStore modifies existing tables: add, drop, or rename columns and rename tables, with ColumnStore-specific syntax notes for the columnar engine.
- [ColumnStore ALTER VIEW](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/columnstore-alter-view.md): ALTER VIEW for MariaDB ColumnStore changes the definition of an existing view; CREATE OR REPLACE VIEW serves the same purpose with the same syntax.
- [ColumnStore CREATE PROCEDURE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/columnstore-create-procedure.md): CREATE PROCEDURE for MariaDB ColumnStore defines a stored procedure with named IN, OUT, and INOUT parameters and a routine body containing SQL statements.
- [ColumnStore CREATE TABLE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/columnstore-create-table.md): CREATE TABLE syntax for MariaDB ColumnStore: defines tables with ENGINE=columnstore, optional compression COMMENT, and standard column-definition syntax for most MariaDB data types.
- [ColumnStore CREATE VIEW](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/columnstore-create-view.md): CREATE VIEW for MariaDB ColumnStore defines a stored query that can be referenced as a virtual table; supports CREATE OR REPLACE VIEW for redefinition.
- [ColumnStore DROP TABLE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/columnstore-drop-table.md): DROP TABLE for MariaDB ColumnStore deletes a table from the database; the ColumnStore-specific RESTRICT clause limits the drop to the front end for sync purposes.
- [DDL Statements Different in ColumnStore](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-definition-statements/ddl-statements-that-differ-for-columnstore.md): DDL statements that behave differently on MariaDB ColumnStore: DROP TABLE RESTRICT, RENAME TABLE cross-database limits, CREATE TABLE engine syntax, and CREATE INDEX restrictions.
- [ColumnStore Data Manipulation Statements](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements.md): MariaDB ColumnStore data-manipulation statements (DML): SELECT, INSERT, UPDATE, DELETE, LOAD DATA INFILE, and disk-based join behavior, tuned for analytical query patterns.
- [ColumnStore DELETE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements/columnstore-delete.md): DELETE for MariaDB ColumnStore removes rows but does not reclaim disk space; use TRUNCATE, DROP PARTITION, or a CREATE/RENAME-based rebuild to recover space after deletes.
- [ColumnStore Disk-Based Joins](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements/columnstore-disk-based-joins.md): Disk-based joins let MariaDB ColumnStore spill join intermediates to disk when in-memory join space is exhausted, controlled via AllowDiskBasedJoin in ColumnStore.xml; not for aggregation.
- [ColumnStore INSERT](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements/columnstore-insert.md): INSERT for MariaDB ColumnStore adds rows to a table; use cpimport or batch INSERT INTO .. SELECT for high-volume bulk loads on the columnar engine.
- [ColumnStore LOAD DATA INFILE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements/columnstore-load-data-infile.md): LOAD DATA INFILE for MariaDB ColumnStore loads rows from a text file into a table at high speed; auto-translated to a cpimport bulk load when batch insert mode is on.
- [ColumnStore SELECT](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements/columnstore-select.md): SELECT for MariaDB ColumnStore queries tables with the standard MariaDB syntax, supporting WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, and INTO OUTFILE / DUMPFILE export.
- [ColumnStore UPDATE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/data-manipulation-statements/columnstore-update.md): UPDATE for MariaDB ColumnStore changes data in existing rows with single-table or multi-table syntax, supporting WHERE, ORDER BY, and LIMIT clauses.
- [CMAPI](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi.md): CMAPI is the REST API for administering MariaDB ColumnStore in multi-node topologies, accessed with curl or any standard REST client and authenticated via x-api-key.
- [mode-set](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi/mode-set.md): The CMAPI mode-set endpoint configures all MariaDB ColumnStore nodes to read-only or read-write operation via HTTPS PUT with x-api-key authentication.
- [node DELETE](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi/node-delete.md): The CMAPI node DELETE endpoint removes a MariaDB ColumnStore node from the cluster via HTTPS DELETE with x-api-key authentication.
- [node PUT](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi/node-put.md): The CMAPI node PUT endpoint adds a new MariaDB ColumnStore node and configures a dbroot for it, called via HTTPS PUT with x-api-key authentication.
- [shutdown](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi/shutdown.md): The CMAPI shutdown endpoint shuts down MariaDB ColumnStore on every cluster node via HTTPS PUT with x-api-key authentication.
- [start](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi/start.md): The CMAPI start endpoint starts MariaDB ColumnStore on every cluster node via HTTPS PUT with x-api-key authentication; also available as the mcsStart alias from CS 5.5.2.
- [status](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/cmapi/status.md): The CMAPI status endpoint returns a JSON payload with detailed MariaDB Enterprise Cluster status via HTTPS GET; available as the mcsStatus bash alias from CS 5.5.2.
- [System Troubleshooting](https://mariadb.com/docs/analytics/mariadb-columnstore/reference/system-troubleshooting.md)
