mirror of https://github.com/apache/cassandra
Document new table name length limit
CASSANDRA-20389 implemented limit on table name length of 222 characters. This commit updates the documentation to reflect this. It also adds an assert in CreateTableValidationTest to ensure that the documented limit matches the actual constant. patch by Ruslan Fomkin; reviewed by Brad Schoening, Dmitry Konstantinov for CASSANDRA-20914
This commit is contained in:
parent
aa0e2f1631
commit
2d7e99f7b9
|
|
@ -22,8 +22,10 @@ include::example$BNF/ks_table.bnf[]
|
|||
----
|
||||
|
||||
Both keyspace and table name should be comprised of only alphanumeric
|
||||
characters, cannot be empty and are limited in size to 48 characters
|
||||
(that limit exists mostly to avoid filenames (which may include the
|
||||
or underscore characters and cannot be empty.
|
||||
Keyspace name is limited in size to 48 characters, while
|
||||
table name is limited in size to 222 characters
|
||||
(those limits exist mostly to avoid filenames (which may include the
|
||||
keyspace and table name) to go over the limits of certain file systems).
|
||||
By default, keyspace and table names are case-insensitive (`myTable` is
|
||||
equivalent to `mytable`) but case sensitivity can be forced by using
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ import static org.apache.cassandra.schema.SchemaConstants.NAME_LENGTH;
|
|||
import static org.apache.cassandra.schema.SchemaConstants.TABLE_NAME_LENGTH;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
|
||||
|
|
@ -170,6 +171,9 @@ public class CreateTableValidationTest extends CQLTester
|
|||
String tableName = StringUtils.repeat("t", FILENAME_LENGTH - tableIdSuffix);
|
||||
String tooLongTableName = StringUtils.repeat("l", FILENAME_LENGTH - tableIdSuffix + 1);
|
||||
|
||||
// Assert that the documented value of 222 corresponds to the actual constant.
|
||||
assertEquals(222, TABLE_NAME_LENGTH);
|
||||
|
||||
execute(String.format("CREATE KEYSPACE %s with replication = " +
|
||||
"{ 'class' : 'SimpleStrategy', 'replication_factor' : 1 }",
|
||||
keyspaceName));
|
||||
|
|
|
|||
Loading…
Reference in New Issue