DROP PROJECTION

Marks a projection to drop from the catalog so it is unavailable to user queries.

Syntax

DROP PROJECTION [ IF EXISTS ] { [[database.]schema.]projection[,…] } [ RESTRICT | CASCADE ]

Parameters

IF EXISTS

Specifies not to report an error if the projection to drop does not exist. Use this clause in SQL scripts to avoid errors on dropping non-existent objects before attempting to create them.

[database.]schema

Specifies a schema, by default public. If schema is any schema other than public, you must supply the schema name. For example:

myschema.thisDbObject

If you specify a database, it must be the current database.

projection

Specifies a projection to drop:

  • If the projection is unsegmented, all projection replicas in the database cluster are dropped.
  • If the projection is segmented, drop all buddy projections by specifying the projection base name. You can also specify the name of a specific buddy projection as long as dropping it so does not violate system K-safety.

See Projection Naming for projection name conventions.

RESTRICT | CASCADE

Specifies whether to drop the projection when it contains objects:

  • RESTRICT (default): Drop the projection only if it contains no objects.
  • CASCADE: Drop the projection even if it contains objects.

Privileges

Non-superuser: owner of the anchor table

Restrictions

The following restrictions apply to dropping a projection:

  • The projection cannot be the anchor table's superprojection.
  • You cannot drop a buddy projection if doing so violates system K-safety.
  • Another projection must be available to enforce the same primary or unique key constraint.