com.datastax.driver.core.Metadata.isReservedCqlKeyword()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.3k)|赞(0)|评价(0)|浏览(116)

本文整理了Java中com.datastax.driver.core.Metadata.isReservedCqlKeyword()方法的一些代码示例,展示了Metadata.isReservedCqlKeyword()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Metadata.isReservedCqlKeyword()方法的具体详情如下:
包路径:com.datastax.driver.core.Metadata
类名称:Metadata
方法名:isReservedCqlKeyword

Metadata.isReservedCqlKeyword介绍

[英]Checks whether an identifier is a known reserved CQL keyword or not.

The check is case-insensitive, i.e., the word " KeYsPaCe" would be considered as a reserved CQL keyword just as " keyspace".

Note: The list of reserved CQL keywords is subject to change in future versions of Cassandra. As a consequence, this method is provided solely as a convenience utility and should not be considered as an authoritative source of truth for checking reserved CQL keywords.
[中]检查标识符是否为已知的保留CQL关键字。
该检查不区分大小写,即“KeYsPaCe”一词与“KeYsPaCe”一样被视为保留的CQL关键字。
注:保留的CQL关键字列表可能会在未来版本的Cassandra中更改。因此,该方法仅作为方便实用程序提供,不应被视为检查保留CQL关键字的权威真理来源。

代码示例

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

static void validateNotKeyWord(String label, String message) {
 if (Metadata.isReservedCqlKeyword(label)) {
  throw new IllegalArgumentException(message);
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

/**
 * We don't need to escape an identifier if it matches non-quoted CQL3 ids ([a-z][a-z0-9_]*), and
 * if it's not a CQL reserved keyword.
 */
private static boolean needsQuote(String s) {
 // this method should only be called for C*-provided identifiers,
 // so we expect it to be non-null and non-empty.
 assert s != null && !s.isEmpty();
 char c = s.charAt(0);
 if (!(c >= 97 && c <= 122)) // a-z
 return true;
 for (int i = 1; i < s.length(); i++) {
  c = s.charAt(i);
  if (!((c >= 48 && c <= 57) // 0-9
    || (c == 95) // _
    || (c >= 97 && c <= 122) // a-z
  )) {
   return true;
  }
 }
 return isReservedCqlKeyword(s);
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "unit")
public void should_detect_reserved_keywords_in_upper_case() {
 assertThat(Metadata.isReservedCqlKeyword("COLUMNFAMILY")).isTrue();
 assertThat(Metadata.isReservedCqlKeyword("TEST_COLUMNFAMILY")).isFalse();
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "unit")
 public void should_detect_reserved_keywords_in_mixed_case() {
  assertThat(Metadata.isReservedCqlKeyword("ColumnFamily")).isTrue();
  assertThat(Metadata.isReservedCqlKeyword("Test_ColumnFamily")).isFalse();
 }
}

代码示例来源:origin: com.datastax.cassandra/cassandra-driver-core

@Test(groups = "unit")
public void should_detect_reserved_keywords_in_lower_case() {
 assertThat(Metadata.isReservedCqlKeyword("columnfamily")).isTrue();
 assertThat(Metadata.isReservedCqlKeyword("test_columnfamily")).isFalse();
}

代码示例来源:origin: com.facebook.presto.cassandra/cassandra-driver

static void validateNotKeyWord(String label, String message) {
  if (Metadata.isReservedCqlKeyword(label)) {
    throw new IllegalArgumentException(message);
  }
}

代码示例来源:origin: com.yugabyte/cassandra-driver-core

static void validateNotKeyWord(String label, String message) {
  if (Metadata.isReservedCqlKeyword(label)) {
    throw new IllegalArgumentException(message);
  }
}

代码示例来源:origin: io.prestosql.cassandra/cassandra-driver

static void validateNotKeyWord(String label, String message) {
  if (Metadata.isReservedCqlKeyword(label)) {
    throw new IllegalArgumentException(message);
  }
}

代码示例来源:origin: io.prestosql.cassandra/cassandra-driver

static String escapeId(String ident) {
  // we don't need to escape if it's lowercase and match non-quoted CQL3 ids,
  // and if it's not a CQL reserved keyword
  return lowercaseAlphanumeric.matcher(ident).matches()
      && !isReservedCqlKeyword(ident) ?
      ident : quote(ident);
}

代码示例来源:origin: com.facebook.presto.cassandra/cassandra-driver

static String escapeId(String ident) {
  // we don't need to escape if it's lowercase and match non-quoted CQL3 ids,
  // and if it's not a CQL reserved keyword
  return lowercaseAlphanumeric.matcher(ident).matches()
      && !isReservedCqlKeyword(ident) ?
      ident : quote(ident);
}

代码示例来源:origin: com.yugabyte/cassandra-driver-core

/**
 * We don't need to escape an identifier if it
 * matches non-quoted CQL3 ids ([a-z][a-z0-9_]*),
 * and if it's not a CQL reserved keyword.
 */
private static boolean needsQuote(String s) {
  // this method should only be called for C*-provided identifiers,
  // so we expect it to be non-null and non-empty.
  assert s != null && !s.isEmpty();
  char c = s.charAt(0);
  if (!(c >= 97 && c <= 122)) // a-z
    return true;
  for (int i = 1; i < s.length(); i++) {
    c = s.charAt(i);
    if (!(
        (c >= 48 && c <= 57) // 0-9
            || (c == 95) // _
            || (c >= 97 && c <= 122) // a-z
    )) {
      return true;
    }
  }
  return isReservedCqlKeyword(s);
}

代码示例来源:origin: com.datastax.dse/dse-java-driver-core

@Test(groups = "unit")
public void should_detect_reserved_keywords_in_lower_case() {
 assertThat(Metadata.isReservedCqlKeyword("columnfamily")).isTrue();
 assertThat(Metadata.isReservedCqlKeyword("test_columnfamily")).isFalse();
}

代码示例来源:origin: com.datastax.dse/dse-java-driver-core

@Test(groups = "unit")
public void should_detect_reserved_keywords_in_upper_case() {
 assertThat(Metadata.isReservedCqlKeyword("COLUMNFAMILY")).isTrue();
 assertThat(Metadata.isReservedCqlKeyword("TEST_COLUMNFAMILY")).isFalse();
}

代码示例来源:origin: com.datastax.dse/dse-java-driver-core

@Test(groups = "unit")
 public void should_detect_reserved_keywords_in_mixed_case() {
  assertThat(Metadata.isReservedCqlKeyword("ColumnFamily")).isTrue();
  assertThat(Metadata.isReservedCqlKeyword("Test_ColumnFamily")).isFalse();
 }
}

相关文章