コード例 #1
0
  public void validateAddExplicitIndex(
      boolean unique,
      String indexName,
      List<CreateIndexItem> columns,
      EventType eventType,
      Iterable<EventBean> dataWindowContents)
      throws ExprValidationException {
    if (explicitIndexes.containsKey(indexName)) {
      throw new ExprValidationException("Index by name '" + indexName + "' already exists");
    }

    EventTableCreateIndexDesc desc =
        EventTableIndexUtil.validateCompileExplicitIndex(unique, columns, eventType);
    Pair<IndexMultiKey, EventTableAndNamePair> pair =
        addExplicitIndexOrReuse(
            unique,
            desc.getHashProps(),
            desc.getBtreeProps(),
            dataWindowContents,
            eventType,
            indexName);
    explicitIndexes.put(indexName, pair.getSecond().getEventTable());
  }