# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mariadb.com/docs/analytics/mariadb-columnstore/reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
