Skip to content
master
Go to file
Code

Latest commit

57040: sql, featureflag: add schema change feature flag r=otan a=angelapwen

The following features have been tested and act as expected:

- [x] ALTER DATABASE OWNER
- [x] ALTER DATABASE ADD REGION
- [x] ALTER DATABASE DROP REGION
- [x] ALTER DATABASE SURVIVE
- [x] ALTER TABLE REGIONAL AFFINITY
- [x] ALTER TABLE SET SCHEMA
- [x] ALTER SCHEMA
- [x] ALTER TYPE
- [x] ALTER SEQUENCE RENAME
- [x] ALTER SEQUENCE SET SCHEMA 
- [x] CREATE DATABASE
- [x] CREATE INDEX
- [x] CREATE SCHEMA
- [x] CREATE TABLE
- [x] CREATE TYPE
- [x] CREATE VIEW
- [x] CREATE SEQUENCE
- [x] DROP DATABASE
- [x] DROP INDEX
- [x] DROP TABLE
- [x] DROP VIEW
- [x] DROP SEQUENCE
- [x] DROP TYPE
- [x] DROP SCHEMA
- [x] REASSIGN OWNED BY
- [x] DROP OWNED BY
- [x] RENAME DATABASE
- [x] REPARENT DATABASE
- [x] RENAME INDEX
- [x] RENAME TABLE
- [x] RENAME COLUMN 
- [x] COMMENT ON COLUMN 
- [x] COMMENT ON DATABASE
- [x] COMMENT ON INDEX
- [x] COMMENT ON TABLE
- [x] ALTER INDEX CONFIGURE ZONE
- [x] ALTER TABLE CONFIGURE ZONE

See #51643 for background.

ANALYZE/CREATE STATISTICS will not be considered a schema change and were added in a separate PR, #57076 
The SPLIT/UNSPLIT features will also be resolved in a separate PR, as the execution path is different from the schema changes addressed in this PR. 

---Commit message---

This change adds a feature flag via cluster setting for all
designated features that perform schema changes or DDLs. The
feature is being introduced to address a Cockroach Cloud SRE use
case: needing to disable certain categories of features, such as
schema changes, in case of cluster failure.

Release note (sql change): Adds a feature flag via cluster
setting for all schema change-related features. If a user attempts
to use these features while they are disabled, an error indicating
that the database administrator has disabled the feature is
surfaced.

Example usage for the database administrator:
SET CLUSTER SETTING feature.schemachange.enabled = FALSE;
SET CLUSTER SETTING feature.schemachange.enabled = TRUE;

Co-authored-by: angelapwen <angelaw@cockroachlabs.com>
82ae151

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Nov 23, 2020
pkg
Nov 25, 2020
Nov 11, 2020

README.md


CockroachDB is a cloud-native SQL database for building global, scalable cloud services that survive disasters.

What is CockroachDB?

CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data.

For more details, see our FAQ or architecture document.

Docs

For guidance on installation, development, deployment, and administration, see our User Documentation.

Quickstart

  1. Install CockroachDB.
  2. Start a local cluster and talk to it via the built-in SQL client.
  3. Learn more about CockroachDB SQL.
  4. Use a PostgreSQL-compatible driver or ORM to build an app with CockroachDB.
  5. Explore core features, such as data replication, automatic rebalancing, and fault tolerance and recovery.

Client Drivers

CockroachDB supports the PostgreSQL wire protocol, so you can use any available PostgreSQL client drivers to connect from various languages.

Deployment

  • Test Deployments - Easiest way to test an insecure, multi-node CockroachDB cluster.
  • Production Deployments
    • Manual - Steps to deploy a CockroachDB cluster manually on multiple machines.
    • Cloud - Guides for deploying CockroachDB on various cloud platforms.
    • Orchestration - Guides for running CockroachDB with popular open-source orchestration systems.

Need Help?

Building from source

See our wiki for more details.

Contributing

We welcome your contributions! If you're looking for issues to work on, try looking at the good first issue list. We do our best to tag issues suitable for new external contributors with that label, so it's a great way to find something you can help with!

See our wiki for more details.

Engineering discussion takes place on our public mailing list, cockroach-db@googlegroups.com, and feel free to join our Community Slack (there's a dedicated #contributors channel!) to ask questions, discuss your ideas, or connect with other contributors.

Design

For an in-depth discussion of the CockroachDB architecture, see our Architecture Guide. For the original design motivation, see our design doc.

Comparison with Other Databases

To see how key features of CockroachDB stack up against other databases, check out CockroachDB in Comparison.

See Also

You can’t perform that action at this time.