> ## Documentation Index
> Fetch the complete documentation index at: https://www.cockroachlabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Technical Advisory 96924

export const InternalLink = ({version, path = "", children, ...props}) => {
  let detectedVersion = version || "stable";
  if (typeof window !== 'undefined' && !version) {
    const match = window.location.pathname.match(/\/docs\/([^/]+)/);
    if (match) {
      detectedVersion = match[1];
    }
  }
  const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
  return <a href={`/docs/${detectedVersion}/${normalizedPath}`} {...props}>
      {children}
    </a>;
};

Publication date: March 6, 2023

## Description

While executing <InternalLink version="stable" path="alter-table">`ALTER TABLE DROP COLUMN`</InternalLink> on a column used in a partial index, all DML statements referencing the table fail with an error during the delete-only phase of the `ALTER`, which can last several hours for large tables. This includes <InternalLink version="stable" path="selection-queries">`SELECT`</InternalLink>, <InternalLink version="stable" path="insert">`INSERT`</InternalLink>, <InternalLink version="stable" path="upsert">`UPSERT`</InternalLink>, <InternalLink version="stable" path="update">`UPDATE`</InternalLink>, and <InternalLink version="stable" path="delete">`DELETE`</InternalLink> statements.

This problem exists in all versions of CockroachDB since the introduction of [partial indexes](https://www.cockroachlabs.com/docs/v22.2/partial-indexes) in <InternalLink version="releases" path="v20.2">v20.2.0</InternalLink>.

## Statement

This is resolved in CockroachDB by a fix that disallows dropping columns that are referenced by a partial index.

This fix has been applied to maintenance releases of CockroachDB <InternalLink version="releases" path="v22.1">v22.1.16</InternalLink> and <InternalLink version="releases" path="v22.2">v22.2.6</InternalLink>).

## Mitigation

Users can avoid the issue by [dropping any partial indexes](https://www.cockroachlabs.com/docs/v22.2/drop-index) using the column before [dropping the column](https://www.cockroachlabs.com/docs/v22.2/alter-table#drop-column).

Users of CockroachDB <InternalLink version="releases" path="v21.2">v21.2.0</InternalLink> through <InternalLink version="releases" path="v22.1">v22.1.15</InternalLink> and <InternalLink version="releases" path="v22.2">v22.2.0</InternalLink> through <InternalLink version="releases" path="v22.2">v22.2.5</InternalLink> are encouraged to upgrade to <InternalLink version="releases" path="v22.1">v22.1.16</InternalLink>, <InternalLink version="releases" path="v22.2">v22.2.6</InternalLink>, or a later version.

## Impact

When executing [`ALTER TABLE DROP COLUMN`](https://www.cockroachlabs.com/docs/v22.2/alter-table#drop-column) of a column used in a partial index, all DML statements referencing the table fail with an error during the delete-only phase. DML statements not referencing the table are not affected.

Questions about any technical alert can be directed to our [support team](https://support.cockroachlabs.com/).
