Class SchemaConstants

java.lang.Object
org.apache.cassandra.schema.SchemaConstants

public final class SchemaConstants extends Object
When adding new String keyspace names here, double check if it needs to be added to PartitionDenylist.canDenylistKeyspace
  • Field Details

    • PATTERN_WORD_CHARS

      public static final Pattern PATTERN_WORD_CHARS
    • PATTERN_NON_WORD_CHAR

      public static final Pattern PATTERN_NON_WORD_CHAR
    • SYSTEM_KEYSPACE_NAME

      public static final String SYSTEM_KEYSPACE_NAME
      See Also:
    • SCHEMA_KEYSPACE_NAME

      public static final String SCHEMA_KEYSPACE_NAME
      See Also:
    • TRACE_KEYSPACE_NAME

      public static final String TRACE_KEYSPACE_NAME
      See Also:
    • AUTH_KEYSPACE_NAME

      public static final String AUTH_KEYSPACE_NAME
      See Also:
    • DISTRIBUTED_KEYSPACE_NAME

      public static final String DISTRIBUTED_KEYSPACE_NAME
      See Also:
    • VIRTUAL_SCHEMA

      public static final String VIRTUAL_SCHEMA
      See Also:
    • VIRTUAL_VIEWS

      public static final String VIRTUAL_VIEWS
      See Also:
    • DUMMY_KEYSPACE_OR_TABLE_NAME

      public static final String DUMMY_KEYSPACE_OR_TABLE_NAME
      See Also:
    • LOCAL_SYSTEM_KEYSPACE_NAMES

      public static final Set<String> LOCAL_SYSTEM_KEYSPACE_NAMES
    • VIRTUAL_SYSTEM_KEYSPACE_NAMES

      public static final Set<String> VIRTUAL_SYSTEM_KEYSPACE_NAMES
    • REPLICATED_SYSTEM_KEYSPACE_NAMES

      public static final Set<String> REPLICATED_SYSTEM_KEYSPACE_NAMES
    • NAME_LENGTH

      public static final int NAME_LENGTH
      The longest permissible KS or CF name. Before CASSANDRA-16956, we used to care about not having the entire path longer than 255 characters because of Windows support but this limit is by implementing CASSANDRA-16956 not in effect anymore.
      See Also:
    • FILENAME_LENGTH

      public static final int FILENAME_LENGTH
      Longest acceptable file name. Longer names lead to too long file name error.
      See Also:
    • TABLE_UUID_AS_HEX_LENGTH

      public static final int TABLE_UUID_AS_HEX_LENGTH
      Length of a table uuid as a hex string.
      See Also:
    • TABLE_NAME_LENGTH

      public static final int TABLE_NAME_LENGTH
      Longest acceptable table name, so it can be used in a directory name constructed with a suffix of a table id and a separator.
    • emptyVersion

      public static final UUID emptyVersion
    • LEGACY_AUTH_TABLES

      public static final List<String> LEGACY_AUTH_TABLES
  • Constructor Details

    • SchemaConstants

      public SchemaConstants()
  • Method Details

    • isValidCharsName

      public static boolean isValidCharsName(String name)
      Validates that a name is not empty and contains only alphanumeric characters or underscore, so it can be used in file or directory names.
      Parameters:
      name - the name to check
      Returns:
      whether the non-empty name contains only valid characters
    • isLocalSystemKeyspace

      public static boolean isLocalSystemKeyspace(String keyspaceName)
      Returns:
      whether or not the keyspace is a really system one (w/ LocalStrategy, unmodifiable, hardcoded)
    • isReplicatedSystemKeyspace

      public static boolean isReplicatedSystemKeyspace(String keyspaceName)
      Returns:
      whether or not the keyspace is a replicated system ks (system_auth, system_traces, system_distributed)
    • isVirtualSystemKeyspace

      public static boolean isVirtualSystemKeyspace(String keyspaceName)
      Checks if the keyspace is a virtual system keyspace.
      Returns:
      true if the keyspace is a virtual system keyspace, false otherwise.
    • isSystemKeyspace

      public static boolean isSystemKeyspace(String keyspaceName)
      Checks if the keyspace is a system keyspace (local replicated or virtual).
      Returns:
      true if the keyspace is a system keyspace, false otherwise.
    • isNonVirtualSystemKeyspace

      public static boolean isNonVirtualSystemKeyspace(String keyspaceName)
      Returns:
      whether or not the keyspace is a non-virtual, system keyspace
    • getSystemKeyspaces

      public static Set<String> getSystemKeyspaces()
      Returns the set of all system keyspaces
      Returns:
      all system keyspaces
    • getLocalAndReplicatedSystemKeyspaceNames

      public static Set<String> getLocalAndReplicatedSystemKeyspaceNames()
      Returns the set of local and replicated system keyspace names
      Returns:
      all local and replicated system keyspace names
    • getLocalAndReplicatedSystemTableNames

      public static Set<String> getLocalAndReplicatedSystemTableNames()
      Returns the set of all local and replicated system table names
      Returns:
      all local and replicated system table names