diff --git a/src/current/Gemfile b/src/current/Gemfile index de20eb2bc1d..f8d0601daa8 100644 --- a/src/current/Gemfile +++ b/src/current/Gemfile @@ -13,7 +13,9 @@ gem "redcarpet", "~> 3.6" gem "rss" gem "webrick" gem "jekyll-minifier" - +gem "csv" +gem "base64" +gem "bigdecimal" group :jekyll_plugins do gem "jekyll-include-cache" gem 'jekyll-algolia', "~> 1.0", path: "./jekyll-algolia-dev" diff --git a/src/current/_includes/releases/v20.2/v20.2.13.md b/src/current/_includes/releases/v20.2/v20.2.13.md index 1ad131fa057..6f8cbb6b93b 100644 --- a/src/current/_includes/releases/v20.2/v20.2.13.md +++ b/src/current/_includes/releases/v20.2/v20.2.13.md @@ -22,8 +22,8 @@ Release Date: July 12, 2021
EXPLAIN",
- "urls": [
- "/${VERSION}/sql-tuning-with-explain.html"
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Develop",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/developer-guide-overview.html"
- ]
- },
- {
- "title": "Connect to CockroachDB",
- "items": [
- {
- "title": "Install a driver or ORM",
- "urls": [
- "/${VERSION}/install-client-drivers.html"
- ]
- },
- {
- "title": "Connect to a Cluster",
- "urls": [
- "/${VERSION}/connect-to-the-database.html",
- "/${VERSION}/connect-to-the-database-cockroachcloud.html"
- ]
- },
- {
- "title": "Use Connection Pools",
- "urls": [
- "/${VERSION}/connection-pooling.html"
- ]
- }
- ]
- },
- {
- "title": "Design a Database Schema",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/schema-design-overview.html"
- ]
- },
- {
- "title": "Create a Database",
- "urls": [
- "/${VERSION}/schema-design-database.html"
- ]
- },
- {
- "title": "Create a User-defined Schema",
- "urls": [
- "/${VERSION}/schema-design-schema.html"
- ]
- },
- {
- "title": "Create a Table",
- "urls": [
- "/${VERSION}/schema-design-table.html"
- ]
- },
- {
- "title": "Add Secondary Indexes",
- "urls": [
- "/${VERSION}/schema-design-indexes.html"
- ]
- },
- {
- "title": "Update a Database Schema",
- "items": [
- {
- "title": "Change and Remove Objects",
- "urls": [
- "/${VERSION}/schema-design-update.html"
- ]
- },
- {
- "title": "Online Schema Changes",
- "urls": [
- "/${VERSION}/online-schema-changes.html"
- ]
- }
- ]
- },
- {
- "title": "Advanced Schema Design",
- "items": [
- {
- "title": "Use Computed Columns",
- "urls": [
- "/${VERSION}/computed-columns.html"
- ]
- },
- {
- "title": "Group Columns into Families",
- "urls": [
- "/${VERSION}/column-families.html"
- ]
- },
- {
- "title": "Index a Subset of Rows",
- "urls": [
- "/${VERSION}/partial-indexes.html"
- ]
- },
- {
- "title": "Index Sequential Keys",
- "urls": [
- "/${VERSION}/hash-sharded-indexes.html"
- ]
- },
- {
- "title": "Index JSON and Array Data",
- "urls": [
- "/${VERSION}/inverted-indexes.html"
- ]
- },
- {
- "title": "Index Spatial Data",
- "urls": [
- "/${VERSION}/spatial-indexes.html"
- ]
- },
- {
- "title": "Scale to Multi-region",
- "urls": [
- "/${VERSION}/multiregion-scale-application.html"
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Write Data",
- "items": [
- {
- "title": "Insert Data",
- "urls": [
- "/${VERSION}/insert-data.html"
- ]
- },
- {
- "title": "Update Data",
- "urls": [
- "/${VERSION}/update-data.html"
- ]
- },
- {
- "title": "Bulk-update Data",
- "urls": [
- "/${VERSION}/bulk-update-data.html"
- ]
- },
- {
- "title": "Delete Data",
- "urls": [
- "/${VERSION}/delete-data.html"
- ]
- },
- {
- "title": "Bulk-delete Data",
- "urls": [
- "/${VERSION}/bulk-delete-data.html"
- ]
- }
- ]
- },
- {
- "title": "Read Data",
- "items": [
- {
- "title": "Select Rows of Data",
- "urls": [
- "/${VERSION}/query-data.html"
- ]
- },
- {
- "title": "Reuse Query Results",
- "items": [
- {
- "title": "Reusable Views",
- "urls": [
- "/${VERSION}/views.html"
- ]
- },
- {
- "title": "Subqueries",
- "urls": [
- "/${VERSION}/subqueries.html"
- ]
- }
- ]
- },
- {
- "title": "Create Temporary Tables",
- "urls": [
- "/${VERSION}/temporary-tables.html"
- ]
- },
- {
- "title": "Paginate Results",
- "urls": [
- "/${VERSION}/pagination.html"
- ]
- },
- {
- "title": "Read Historical Data",
- "items": [
- {
- "title": "AS OF SYSTEM TIME",
- "urls": [
- "/${VERSION}/as-of-system-time.html"
- ]
- },
- {
- "title": "Follower Reads",
- "urls": [
- "/${VERSION}/follower-reads.html"
- ]
- }
- ]
- },
- {
- "title": "Query Spatial Data",
- "urls": [
- "/${VERSION}/query-spatial-data.html"
- ]
- }
- ]
- },
- {
- "title": "Transactions",
- "urls": [
- "/${VERSION}/transactions.html"
- ]
- },
- {
- "title": "Test Your Application Locally",
- "urls": [
- "/${VERSION}/local-testing.html"
- ]
- },
- {
- "title": "Debug Your Application",
- "items":
- [
- {
- "title": "Log Events",
- "urls": [
- "/${VERSION}/logging-overview.html"
- ]
- },
- {
- "title": "Monitor CockroachDB Apps in the DB Console",
- "urls": [
- "/${VERSION}/ui-overview.html"
- ]
- },
- {
- "title": "Troubleshoot Common Problems",
- "urls": [
- "/${VERSION}/error-handling-and-troubleshooting.html"
- ]
- }
- ]
- },
- {
- "title": "Optimize Performance",
- "items":
- [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/make-queries-fast.html"
- ]
- },
- {
- "title": "Performance Best Practices",
- "urls": [
- "/${VERSION}/performance-best-practices-overview.html"
- ]
- },
- {
- "title": "Use the EXPLAIN statement",
- "urls": [
- "/${VERSION}/sql-tuning-with-explain.html"
- ]
- },
- {
- "title": "Performance tuning recipes",
- "urls": [
- "/${VERSION}/performance-recipes.html"
- ]
- }
- ]
- },
- {
- "title": "Example Apps",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/example-apps.html"
- ]
- },
- {
- "title": "Simple CRUD",
- "items": [
- {
- "title": "Go",
- "urls": [
- "/${VERSION}/build-a-go-app-with-cockroachdb.html",
- "/${VERSION}/build-a-go-app-with-cockroachdb-gorm.html",
- "/${VERSION}/build-a-go-app-with-cockroachdb-pq.html",
- "/${VERSION}/build-a-go-app-with-cockroachdb-upperdb.html"
- ]
- },
- {
- "title": "Java",
- "urls": [
- "/${VERSION}/build-a-java-app-with-cockroachdb.html",
- "/${VERSION}/build-a-java-app-with-cockroachdb-hibernate.html",
- "/${VERSION}/build-a-java-app-with-cockroachdb-jooq.html",
- "/${VERSION}/build-a-spring-app-with-cockroachdb-mybatis.html"
- ]
- },
- {
- "title": "JavaScript/TypeScript (Node.js)",
- "urls": [
- "/${VERSION}/build-a-nodejs-app-with-cockroachdb.html",
- "/${VERSION}/build-a-nodejs-app-with-cockroachdb-sequelize.html",
- "/${VERSION}/build-a-nodejs-app-with-cockroachdb-knexjs.html",
- "/${VERSION}/build-a-nodejs-app-with-cockroachdb-prisma.html",
- "/${VERSION}/build-a-typescript-app-with-cockroachdb.html"
- ]
- },
- {
- "title": "Python",
- "urls": [
- "/${VERSION}/build-a-python-app-with-cockroachdb.html",
- "/${VERSION}/build-a-python-app-with-cockroachdb-sqlalchemy.html",
- "/${VERSION}/build-a-python-app-with-cockroachdb-django.html"
- ]
- },
- {
- "title": "Ruby",
- "urls": [
- "/${VERSION}/build-a-ruby-app-with-cockroachdb.html",
- "/${VERSION}/build-a-ruby-app-with-cockroachdb-activerecord.html"
- ]
- },
- {
- "title": "C# (.NET)",
- "urls": [
- "/${VERSION}/build-a-csharp-app-with-cockroachdb.html"
- ]
- },
- {
- "title": "Rust",
- "urls": [
- "/${VERSION}/build-a-rust-app-with-cockroachdb.html"
- ]
- }
- ]
- },
- {
- "title": "Roach Data",
- "items": [
- {
- "title": "Spring Boot with JDBC",
- "urls": [
- "/${VERSION}/build-a-spring-app-with-cockroachdb-jdbc.html"
- ]
- },
- {
- "title": "Spring Boot with JPA",
- "urls": [
- "/${VERSION}/build-a-spring-app-with-cockroachdb-jpa.html"
- ]
- }
- ]
- },
- {
- "title": "MovR",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/movr.html"
- ]
- },
- {
- "title": "Global Application",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/movr-flask-overview.html"
- ]
- },
- {
- "title": "Global Application Use-case",
- "urls": [
- "/${VERSION}/movr-flask-use-case.html"
- ]
- },
- {
- "title": "Multi-region Database Schema",
- "urls": [
- "/${VERSION}/movr-flask-database.html"
- ]
- },
- {
- "title": "Set up a Development Environment",
- "urls": [
- "/${VERSION}/movr-flask-setup.html"
- ]
- },
- {
- "title": "Develop a Global Application",
- "urls": [
- "/${VERSION}/movr-flask-application.html"
- ]
- },
- {
- "title": "Deploy a Global Application",
- "urls": [
- "/${VERSION}/movr-flask-deployment.html"
- ]
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Third-Party Database Tools",
- "items": [
- {
- "title": "Supported by Cockroach Labs",
- "urls": [
- "/${VERSION}/third-party-database-tools.html"
- ]
- },
- {
- "title": "Supported by the Community",
- "urls": [
- "/${VERSION}/community-tooling.html"
- ]
- },
- {
- "title": "Tutorials",
- "items": [
- {
- "title": "Schema Migration Tools",
- "items": [
- {
- "title": "Alembic",
- "urls": [
- "/${VERSION}/alembic.html"
- ]
- },
- {
- "title": "Flyway",
- "urls": [
- "/${VERSION}/flyway.html"
- ]
- },
- {
- "title": "Liquibase",
- "urls": [
- "/${VERSION}/liquibase.html"
- ]
- }
- ]
- },
- {
- "title": "GUIs & IDEs",
- "items": [
- {
- "title": "DBeaver GUI",
- "urls": [
- "/${VERSION}/dbeaver.html"
- ]
- },
- {
- "title": "IntelliJ IDEA",
- "urls": [
- "/${VERSION}/intellij-idea.html"
- ]
- }
- ]
- },
- {
- "title": "Application Deployment Tools",
- "items": [
- {
- "title": "Google Cloud Run",
- "urls": [
- "/${VERSION}/deploy-app-gcr.html"
- ]
- },
- {
- "title": "AWS Lambda",
- "urls": [
- "/${VERSION}/deploy-lambda-function.html"
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Deploy",
- "items": [
- {
- "title": "Production Checklist",
- "urls": [
- "/${VERSION}/recommended-production-settings.html"
- ]
- },
- {
- "title": "Multi-region Capabilities",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/multiregion-overview.html"
- ]
- },
- {
- "title": "Choosing a multi-region configuration",
- "urls": [
- "/${VERSION}/choosing-a-multi-region-configuration.html"
- ]
- },
- {
- "title": "When to use ZONE vs. REGION Survival Goals",
- "urls": [
- "/${VERSION}/when-to-use-zone-vs-region-survival-goals.html"
- ]
- },
- {
- "title": "When to use REGIONAL vs. GLOBAL tables",
- "urls": [
- "/${VERSION}/when-to-use-regional-vs-global-tables.html"
- ]
- },
- {
- "title": "Data Domiciling",
- "urls": [
- "/${VERSION}/data-domiciling.html"
- ]
- },
- {
- "title": "Migrate to Multi-region SQL",
- "urls": [
- "/${VERSION}/migrate-to-multiregion-sql.html"
- ]
- },
- {
- "title": "Topology Patterns",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/topology-patterns.html"
- ]
- },
- {
- "title": "Development",
- "urls": [
- "/${VERSION}/topology-development.html"
- ]
- },
- {
- "title": "Basic Production",
- "urls": [
- "/${VERSION}/topology-basic-production.html"
- ]
- },
- {
- "title": "Regional Tables",
- "urls": [
- "/${VERSION}/regional-tables.html"
- ]
- },
- {
- "title": "Global Tables",
- "urls": [
- "/${VERSION}/global-tables.html"
- ]
- },
- {
- "title": "Follower Reads",
- "urls": [
- "/${VERSION}/topology-follower-reads.html"
- ]
- },
- {
- "title": "Follow-the-Workload",
- "urls": [
- "/${VERSION}/topology-follow-the-workload.html"
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Manual Deployment",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/manual-deployment.html"
- ]
- },
- {
- "title": "On-Premises",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-on-premises.html",
- "/${VERSION}/deploy-cockroachdb-on-premises-insecure.html"
- ]
- },
- {
- "title": "AWS",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-on-aws.html",
- "/${VERSION}/deploy-cockroachdb-on-aws-insecure.html"
- ]
- },
- {
- "title": "Azure",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-on-microsoft-azure.html",
- "/${VERSION}/deploy-cockroachdb-on-microsoft-azure-insecure.html"
- ]
- },
- {
- "title": "Digital Ocean",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-on-digital-ocean.html",
- "/${VERSION}/deploy-cockroachdb-on-digital-ocean-insecure.html"
- ]
- },
- {
- "title": "Google Cloud Platform GCE",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-on-google-cloud-platform.html",
- "/${VERSION}/deploy-cockroachdb-on-google-cloud-platform-insecure.html"
- ]
- }
- ]
- },
- {
- "title": "Orchestrated Deployment",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/orchestration.html"
- ]
- },
- {
- "title": "Kubernetes Single-Cluster Deployment",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-with-kubernetes.html",
- "/${VERSION}/deploy-cockroachdb-with-kubernetes-insecure.html"
- ]
- },
- {
- "title": "Operate CockroachDB on Kubernetes",
- "urls": [
- "/${VERSION}/operate-cockroachdb-kubernetes.html"
- ]
- },
- {
- "title": "Monitor CockroachDB on Kubernetes",
- "urls": [
- "/${VERSION}/monitor-cockroachdb-kubernetes.html"
- ]
- },
- {
- "title": "OpenShift Single-Cluster Deployment",
- "urls": [
- "/${VERSION}/deploy-cockroachdb-with-kubernetes-openshift.html"
- ]
- },
- {
- "title": "Kubernetes Multi-Cluster Deployment",
- "urls": [
- "/${VERSION}/orchestrate-cockroachdb-with-kubernetes-multi-cluster.html"
- ]
- },
- {
- "title": "Kubernetes Performance Optimization",
- "urls": [
- "/${VERSION}/kubernetes-performance.html"
- ]
- }
- ]
- },
- {
- "title": "Back Up and Restore Data",
- "items": [
- {
- "title": "Full and Incremental Backups",
- "urls": [
- "/${VERSION}/take-full-and-incremental-backups.html"
- ]
- },
- {
- "title": "Backups with Revision History and Point-in-time Restore",
- "urls": [
- "/${VERSION}/take-backups-with-revision-history-and-restore-from-a-point-in-time.html"
- ]
- },
- {
- "title": "Encrypted Backup and Restore",
- "urls": [
- "/${VERSION}/take-and-restore-encrypted-backups.html"
- ]
- },
- {
- "title": "Locality-aware Backup and Restore",
- "urls": [
- "/${VERSION}/take-and-restore-locality-aware-backups.html"
- ]
- },
- {
- "title": "Scheduled Backups",
- "urls": [
- "/${VERSION}/manage-a-backup-schedule.html"
- ]
- }
- ]
- },
- {
- "title": "File Storage for Bulk Operations",
- "items": [
- {
- "title": "Cloud Storage",
- "urls": [
- "/${VERSION}/use-cloud-storage-for-bulk-operations.html"
- ]
- },
- {
- "title": "Userfile Storage",
- "urls": [
- "/${VERSION}/use-userfile-for-bulk-operations.html"
- ]
- },
- {
- "title": "Local File Server",
- "urls": [
- "/${VERSION}/use-a-local-file-server-for-bulk-operations.html"
- ]
- }
- ]
- },
- {
- "title": "Performance",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/performance.html"
- ]
- },
- {
- "title": "Benchmarking Instructions",
- "urls": [
- "/${VERSION}/performance-benchmarking-with-tpcc-local.html",
- "/${VERSION}/performance-benchmarking-with-tpcc-small.html",
- "/${VERSION}/performance-benchmarking-with-tpcc-medium.html",
- "/${VERSION}/performance-benchmarking-with-tpcc-large.html"
- ]
- },
- {
- "title": "Tuning Best Practices",
- "urls": [
- "/${VERSION}/performance-best-practices-overview.html"
- ]
- },
- {
- "title": "Performance tuning recipes",
- "urls": [
- "/${VERSION}/performance-recipes.html"
- ]
- },
- {
- "title": "Improving statement performance",
- "urls": [
- "/${VERSION}/make-queries-fast.html"
- ]
- },
- {
- "title": "Tuning with EXPLAIN",
- "urls": [
- "/${VERSION}/sql-tuning-with-explain.html"
- ]
- }
- ]
- },
- {
- "title": "Security",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/security-overview.html"
- ]
- },
- {
- "title": "Authentication",
- "urls": [
- "/${VERSION}/authentication.html"
- ]
- },
- {
- "title": "Encryption",
- "urls": [
- "/${VERSION}/encryption.html"
- ]
- },
- {
- "title": "Authorization",
- "urls": [
- "/${VERSION}/authorization.html"
- ]
- },
- {
- "title": "SQL Audit Logging",
- "urls": [
- "/${VERSION}/sql-audit-logging.html"
- ]
- },
- {
- "title": "GSSAPI Authentication",
- "urls": [
- "/${VERSION}/gssapi_authentication.html"
- ]
- },
- {
- "title": "Single Sign-on",
- "urls": [
- "/${VERSION}/sso.html"
- ]
- }
- ]
- },
- {
- "title": "Monitoring and Alerting",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/monitoring-and-alerting.html"
- ]
- },
- {
- "title": "Enable the Node Map",
- "urls": [
- "/${VERSION}/enable-node-map.html"
- ]
- },
- {
- "title": "Use Prometheus and Alertmanager",
- "urls": [
- "/${VERSION}/monitor-cockroachdb-with-prometheus.html"
- ]
- },
- {
- "title": "Cluster API",
- "urls": [
- "/${VERSION}/cluster-api.html"
- ]
- },
- {
- "title": "Third-Party Monitoring Integrations",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/third-party-monitoring-tools.html"
- ]
- },
- {
- "title": "Datadog",
- "urls": [
- "/${VERSION}/datadog.html"
- ]
- },
- {
- "title": "Kibana",
- "urls": [
- "/${VERSION}/kibana.html"
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Logging",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/logging-overview.html"
- ]
- },
- {
- "title": "Configure Logs",
- "urls": [
- "/${VERSION}/configure-logs.html"
- ]
- },
- {
- "title": "Logging Use Cases",
- "urls": [
- "/${VERSION}/logging-use-cases.html"
- ]
- }
- ]
- },
- {
- "title": "Cluster Maintenance",
- "items": [
- {
- "title": "Upgrade to CockroachDB v21.1",
- "urls": [
- "/${VERSION}/upgrade-cockroach-version.html"
- ]
- },
- {
- "title": "Online Schema Changes",
- "urls": [
- "/${VERSION}/online-schema-changes.html"
- ]
- },
- {
- "title": "Manage Long-Running Queries",
- "urls": [
- "/${VERSION}/manage-long-running-queries.html"
- ]
- },
- {
- "title": "Decommission Nodes",
- "urls": [
- "/${VERSION}/remove-nodes.html"
- ]
- },
- {
- "title": "Rotate Security Certificates",
- "urls": [
- "/${VERSION}/rotate-certificates.html"
- ]
- },
- {
- "title": "Disaster Recovery",
- "urls": [
- "/${VERSION}/disaster-recovery.html"
- ]
- }
- ]
- },
- {
- "title": "Replication Controls",
- "urls": [
- "/${VERSION}/configure-replication-zones.html"
- ]
- },
- {
- "title": "Stream Data Out of CockroachDB",
- "urls": [
- "/${VERSION}/stream-data-out-of-cockroachdb-using-changefeeds.html"
- ]
- },
- {
- "title": "Enterprise Features",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/enterprise-licensing.html"
- ]
- },
- {
- "title": "Table Partitioning",
- "urls": [
- "/${VERSION}/partitioning.html"
- ]
- }
- ]
- }
- ]
- },
- {
- "title": "Migrate",
- "items": [
- {
- "title": "Migration Overview",
- "urls": [
- "/${VERSION}/migration-overview.html"
- ]
- },
- {
- "title": "Migrate from Oracle",
- "urls": [
- "/${VERSION}/migrate-from-oracle.html"
- ]
- },
- {
- "title": "Migrate from Postgres",
- "urls": [
- "/${VERSION}/migrate-from-postgres.html"
- ]
- },
- {
- "title": "Migrate from MySQL",
- "urls": [
- "/${VERSION}/migrate-from-mysql.html"
- ]
- },
- {
- "title": "Migrate from CSV",
- "urls": [
- "/${VERSION}/migrate-from-csv.html"
- ]
- },
- {
- "title": "Migrate from Avro",
- "urls": [
- "/${VERSION}/migrate-from-avro.html"
- ]
- },
- {
- "title": "Migrate from Shapefiles",
- "urls": [
- "/${VERSION}/migrate-from-shapefiles.html"
- ]
- },
- {
- "title": "Migrate from OpenStreetMap",
- "urls": [
- "/${VERSION}/migrate-from-openstreetmap.html"
- ]
- },
- {
- "title": "Migrate from GeoJSON",
- "urls": [
- "/${VERSION}/migrate-from-geojson.html"
- ]
- },
- {
- "title": "Migrate from GeoPackage",
- "urls": [
- "/${VERSION}/migrate-from-geopackage.html"
- ]
- },
- {
- "title": "Export Spatial Data",
- "urls": [
- "/${VERSION}/export-spatial-data.html"
- ]
- },
- {
- "title": "Import Performance Best Practices",
- "urls": [
- "/${VERSION}/import-performance-best-practices.html"
- ]
- }
- ]
- },
- {
- "title": "Troubleshoot",
- "items": [
- {
- "title": "Overview",
- "urls": [
- "/${VERSION}/troubleshooting-overview.html"
- ]
- },
- {
- "title": "Common Errors",
- "urls": [
- "/${VERSION}/common-errors.html"
- ]
- },
- {
- "title": "Troubleshoot Cluster Setup",
- "urls": [
- "/${VERSION}/cluster-setup-troubleshooting.html"
- ]
- },
- {
- "title": "Troubleshoot Query Behavior",
- "urls": [
- "/${VERSION}/query-behavior-troubleshooting.html"
- ]
- },
- {
- "title": "Understand Debug Logs",
- "urls": [
- "/${VERSION}/logging-overview.html"
- ]
- },
- {
- "title": "Replication Reports",
- "urls": [
- "/${VERSION}/query-replication-reports.html"
- ]
- },
- {
- "title": "Support Resources",
- "urls": [
- "/${VERSION}/support-resources.html"
- ]
- },
- {
- "title": "File an Issue",
- "urls": [
- "/${VERSION}/file-an-issue.html"
- ]
- }
- ]
- },
- {
- "title": "FAQs",
- "items": [
- {
- "title": "Product FAQs",
- "urls": [
- "/${VERSION}/frequently-asked-questions.html"
- ]
- },
- {
- "title": "SQL FAQs",
- "urls": [
- "/${VERSION}/sql-faqs.html"
- ]
- },
- {
- "title": "Operational FAQs",
- "urls": [
- "/${VERSION}/operational-faqs.html"
- ]
- },
- {
- "title": "Availability FAQs",
- "urls": [
- "/${VERSION}/multi-active-availability.html"
- ]
- },
- {
- "title": "Licensing FAQs",
- "urls": [
- "/${VERSION}/licensing-faqs.html"
- ]
- },
- {
- "title": "CockroachDB in Comparison",
- "urls": [
- "/${VERSION}/cockroachdb-in-comparison.html"
- ]
- }
- ]
- },
- {% include_cached sidebar-releases.json %}
- ]
- },
- {% include_cached v21.1/sidebar-data-reference.json %}
-]
diff --git a/src/current/_includes/v21.2/misc/interleave-deprecation-note.md b/src/current/_includes/v21.2/misc/interleave-deprecation-note.md
index bdd983430f4..ab12c33929d 100644
--- a/src/current/_includes/v21.2/misc/interleave-deprecation-note.md
+++ b/src/current/_includes/v21.2/misc/interleave-deprecation-note.md
@@ -1 +1 @@
-{{site.data.alerts.callout_danger}}Interleaving data was deprecated in v20.2, disabled by default in v21.1, and permanently removed in v21.2. For details, see the [v21.1 interleaving deprecation notice](../v21.1/interleave-in-parent.html#deprecation).{{site.data.alerts.end}}
\ No newline at end of file
+{{site.data.alerts.callout_danger}}Interleaving data was deprecated in v20.2, disabled by default in v21.1, and permanently removed in v21.2.{{site.data.alerts.end}}
\ No newline at end of file
diff --git a/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-helm.md b/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-helm.md
index dc94bdfa191..c89e52c6860 100644
--- a/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-helm.md
+++ b/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-helm.md
@@ -4,7 +4,7 @@
Therefore, in order to upgrade to v21.2, you must be on a production release of v21.1.
- 1. If you are upgrading to v21.2 from a production release earlier than v21.1, or from a testing release (alpha/beta), first [upgrade to a production release of v21.1](../v21.1/operate-cockroachdb-kubernetes.html?filters=helm#upgrade-the-cluster). Be sure to complete all the steps.
+ 1. If you are upgrading to v21.2 from a production release earlier than v21.1, or from a testing release (alpha/beta), first upgrade to a production release of v21.1. Be sure to complete all the steps.
1. Then return to this page and perform a second upgrade to v21.2.
diff --git a/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-manual.md b/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-manual.md
index 212443702bb..21e6d17b304 100644
--- a/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-manual.md
+++ b/src/current/_includes/v21.2/orchestration/kubernetes-upgrade-cluster-manual.md
@@ -4,7 +4,7 @@
Therefore, in order to upgrade to v21.2, you must be on a production release of v21.1.
- 1. If you are upgrading to v21.2 from a production release earlier than v21.1, or from a testing release (alpha/beta), first [upgrade to a production release of v21.1](../v21.1/operate-cockroachdb-kubernetes.html?filters=manual#upgrade-the-cluster). Be sure to complete all the steps.
+ 1. If you are upgrading to v21.2 from a production release earlier than v21.1, or from a testing release (alpha/beta), first upgrade to a production release of v21.1. Be sure to complete all the steps.
1. Then return to this page and perform a second upgrade to v21.2.
diff --git a/src/current/_plugins/sidebar_htmltest.rb b/src/current/_plugins/sidebar_htmltest.rb
index 970926334d0..62017bd7728 100644
--- a/src/current/_plugins/sidebar_htmltest.rb
+++ b/src/current/_plugins/sidebar_htmltest.rb
@@ -1,16 +1,36 @@
require 'json'
require 'liquid'
+require 'yaml'
module SidebarHTMLTest
class Generator < Jekyll::Generator
def generate(site)
@site = site
+ # Read htmltest configuration to get ignored directories
+ htmltest_config = YAML.load_file('.htmltest.yml') rescue {}
+ ignored_dirs = htmltest_config['IgnoreDirs'] || []
+
+ # Extract version numbers from ignored directories
+ ignored_versions = ignored_dirs.map do |dir|
+ match = dir.match(/\^?docs\/?(v\d+\.\d+)/)
+ match[1] if match
+ end.compact
+
Dir[File.join(site.config['includes_dir'], 'sidebar-data-v*.json')].each do |f|
next unless !!site.config['cockroachcloud'] == f.include?('cockroachcloud')
+
+ # Extract version from filename
+ version = f.match(/sidebar-data-(v\d+\.\d+)/)[1]
+
+ # Skip if this version is in the ignored list
+ if ignored_versions.include?(version)
+ Jekyll.logger.info "SidebarHTMLTest:", "Skipping ignored version #{version}"
+ next
+ end
+
partial = site.liquid_renderer.file(f).parse(File.read(f))
json = partial.render!(site.site_payload, {registers: {site: site}})
- version = f.match(/sidebar-data-(v\d+\.\d+)/)[1]
render_sidebar(json, version)
end
end
diff --git a/src/current/releases/v21.1.md b/src/current/releases/v21.1.md
index 6284ada8bef..3ce742c60c5 100644
--- a/src/current/releases/v21.1.md
+++ b/src/current/releases/v21.1.md
@@ -8,16 +8,38 @@ docs_area: releases
keywords: gin, gin index, gin indexes, inverted index, inverted indexes, accelerated index, accelerated indexes
---
-{% assign rel = site.data.releases | where_exp: "rel", "rel.major_version == page.major_version" | sort: "release_date" | reverse %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-{% assign vers = site.data.versions | where_exp: "vers", "vers.major_version == page.major_version" | first %}
+This release is no longer supported. For more information, see our [Release support policy]({% link releases/release-support-policy.md %}).
-{% assign today = "today" | date: "%Y-%m-%d" %}
-
-{% include releases/testing-release-notice.md major_version=vers %}
-
-{% include releases/whats-new-intro.md major_version=vers %}
-
-{% for r in rel %}
-{% include releases/{{ page.major_version }}/{{ r.release_name }}.md release=r.release_name %}
-{% endfor %}
+To download the archived documentation for this release, see [Archived Documentation]({% link releases/archived-documentation.md %}).
diff --git a/src/current/v21.1/404.md b/src/current/v21.1/404.md
deleted file mode 100644
index b2ac679fe65..00000000000
--- a/src/current/v21.1/404.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-description: "Page not found."
-sitemap: false
-search: exclude
-related_pages: none
-toc: false
-contribute: false
-feedback: false
----
-
-Whoops!
- -We cannot find the page you are looking for. You may have typed the wrong address or found a broken link.
-| chick | turtle |
|---|---|
| 🐥 | 🐢 |
sql_safe_updates session variable.{{site.data.alerts.end}}
-
-### Reveal the SQL statements sent implicitly by the command-line utility
-
-In this example, we use the `--execute` flag to execute statements from the command line and the `--echo-sql` flag to reveal SQL statements sent implicitly:
-
-{% include_cached copy-clipboard.html %}
-~~~ shell
-$ cockroach sql --insecure \
---execute="CREATE TABLE t1 (id INT PRIMARY KEY, name STRING)" \
---execute="INSERT INTO t1 VALUES (1, 'a'), (2, 'b'), (3, 'c')" \
---user=maxroach \
---host=12.345.67.89 \
---database=db1
---echo-sql
-~~~
-
-~~~
-# Server version: CockroachDB CCL f8f3c9317 (darwin amd64, built 2017/09/13 15:05:35, go1.8) (same version as client)
-# Cluster ID: 847a4ba5-c78a-465a-b1a0-59fae3aab520
-> SET sql_safe_updates = TRUE
-> CREATE TABLE t1 (id INT PRIMARY KEY, name STRING)
-CREATE TABLE
-> INSERT INTO t1 VALUES (1, 'a'), (2, 'b'), (3, 'c')
-INSERT 3
-~~~
-
-In this example, we start the interactive SQL shell and enable the `echo` shell option to reveal SQL statements sent implicitly:
-
-{% include_cached copy-clipboard.html %}
-~~~ shell
-$ cockroach sql --insecure \
---user=maxroach \
---host=12.345.67.89 \
---database=db1
-~~~
-
-{% include_cached copy-clipboard.html %}
-~~~ sql
-> \set echo
-~~~
-
-{% include_cached copy-clipboard.html %}
-~~~ sql
-> INSERT INTO db1.t1 VALUES (4, 'd'), (5, 'e'), (6, 'f');
-~~~
-
-~~~
-> INSERT INTO db1.t1 VALUES (4, 'd'), (5, 'e'), (6, 'f');
-INSERT 3
-
-Time: 2.426534ms
-
-> SHOW TRANSACTION STATUS
-> SHOW DATABASE
-~~~
-
-### Repeat a SQL statement
-
-Repeating SQL queries on a table can be useful for monitoring purposes. With the `--watch` flag, you can repeat the statements specified with a `--execute` or `-e` flag periodically, until a SQL error occurs or the process is terminated.
-
-For example, if you want to monitor the number of queries running on the current node, you can use `cockroach sql` with the `--watch` flag to query the node's `crdb_internal.node_statement_statistics` table for the query count:
-
-{% include_cached copy-clipboard.html %}
-~~~ shell
-$ cockroach sql --insecure \
---execute="SELECT SUM(count) FROM crdb_internal.node_statement_statistics" \
---watch 1m
-~~~
-
-~~~
- sum
-+-----+
- 926
-(1 row)
- sum
-+------+
- 4227
-(1 row)
-^C
-~~~
-
-In this example, the statement is executed every minute. We let the process run for a couple minutes before terminating it with Ctrl+C.
-
-### Connect to a cluster listening for Unix domain socket connections
-
-To connect to a cluster that is running on the same machine as your client and is listening for [Unix domain socket](https://en.wikipedia.org/wiki/Unix_domain_socket) connections, [specify a Unix domain socket URI](connection-parameters.html#example-uri-for-a-unix-domain-socket) with the `--url` connection parameter.
-
-For example, suppose you start a single-node cluster with the following [`cockroach start-single-node`](cockroach-start-single-node.html) command:
-
-{% include_cached copy-clipboard.html %}
-~~~ shell
-$ cockroach start-single-node --insecure --socket-dir=/tmp
-~~~
-
-~~~
-CockroachDB node starting at 2020-10-12 04:02:54.971369 +0000 UTC (took 1.3s)
-build: CCL v20.2.0 @ 2020/10/06 17:15:06 (go1.13.14)
-webui: http://Jesses-MBP-2:8080
-sql: postgresql://root@Jesses-MBP-2:26257?sslmode=disable
-RPC client flags: ./cockroach | - | - - | -- - | -CockroachDB | -
|---|---|---|---|
|
- Database horizontal scale
-
- |
- - Manual Sharding - Add on configuration - Node based, automated read scale, limited write - Node based, automated for both reads and writes - | -- Manual Sharding - Add on configuration - Node based, automated read scale, limited write - Node based, automated for both reads and writes - | -Node based, automated for both reads and writes | -
|
- Database load balancing (internal)
-
- |
- - Manual - not part of database - None and full copies across regions - Even distribution to optimize storage - | -- Manual - not part of database - None and full copies across regions - Even distribution to optimize storage - | -Detailed options to optimize storage, compute, and latency | -
|
- Failover
-
- |
- - Manual - not part of database - Automated for reads, limited for writes to one region - Automated for reads, limited guarantees for writes - Fully automated for both reads and writes - | -- Manual - not part of database - Automated for reads, limited for writes to one region - Automated for reads, limited guarantees for writes - Fully automated for both reads and writes - | -Fully automated for both reads and writes | -
|
- Automated repair and RPO(Recovery Point Objective)
-
- |
- - Manual repair RPO ~1-60 mins - Automated RPO ~1 -5 mins - Manual & automated repair RPO <1 min - "Automated repair RPO <10 sec" - | -- Manual repair RPO ~1-60 mins - Automated RPO ~1 -5 mins - Manual & automated repair RPO <1 min - "Automated repair RPO <10 sec" - | -Automated repair RPO = 0 sec | -
|
- Distributed reads
-
- |
- - Manual - asynchronous - Yes - | -- Manual - asynchronous - Yes - | -Yes | -
|
- Distributed transactions
-
- |
- - No - Lightweight transactions only - Yes - | -- No - Lightweight transactions only - Yes - | -Yes | -
|
- Database isolation levels
-
- |
- - Single region consistent default - Snapshot highest - Serializable - Eventual consistent default - Read uncommitted highest - Snapshot read - Eventual consistent - No transaction isolation guarantees - Default - Snapshot highest - Serializable - | -- Single region consistent default - Snapshot highest - Serializable - Eventual consistent default - Read uncommitted highest - Snapshot read - Eventual consistent - No transaction isolation guarantees - Default - Snapshot highest - Serializable - | -Guaranteed consistent default - Serializable highest - Serializable | -
|
- Potential data issues (default)
-
- |
- - Phantom reads, non-repeatable reads, write skew - Dirty reads, phantom reads, non-repeatable reads, write skew - Dirty reads, phantom reads, non-repeatable reads, write conflicts - None - Phantom reads, non-repeatable reads - | -- Phantom reads, non-repeatable reads, write skew - Dirty reads, phantom reads, non-repeatable reads, write skew - Dirty reads, phantom reads, non-repeatable reads, write conflicts - None - Phantom reads, non-repeatable reads - | -None | -
|
- SQL
-
- |
- - Yes - No - Yes - with limitations - | -- Yes - No - Yes - with limitations - | -Yes - wire compatible with PostgreSQL | -
|
- Database schema change
-
- |
- - Yes - Offline - Online, Active and Dynamic - | -- Yes - Offline - Online, Active, and Dynamic - | -Online, Active, and Dynamic | -
|
- Cost based optimization
-
- |
- - Yes - No - ? - No - | -- Yes - No - ? - No - | -Yes | -
|
- Data Geo-partitioning
-
- |
- - No - Yes, object level - Yes - No - | -- No - Yes, object level - Yes - No - | -Yes, row level | -
|
- Upgrade method
-
- |
- - Offline - Online, rolling - | -- Offline - Online, rolling - | -Online, rolling | -
|
- Multi-region
-
- |
- - Yes - manual - Yes, but not for writes - Yes, for both reads and writes - | -- Yes - manual - Yes, but not for writes - Yes, for both reads and writes - | -Yes for both reads and writes | -
|
- Multi-cloud
-
- |
- - No - Yes - | -- No - Yes - | -Yes | -
STRING.{{site.data.alerts.end}}
-
-- **Value syntax**: `