use of org.apache.ignite.internal.processors.query.h2.sql.GridSqlOperationType.EXISTS in project ignite by apache.
the class GridH2Table method proposeUserIndex.
/**
* Add index that is in an intermediate state and is still being built, thus is not used in queries until it is
* promoted.
*
* @param idx Index to add.
* @throws IgniteCheckedException If failed.
*/
public void proposeUserIndex(Index idx) throws IgniteCheckedException {
assert idx instanceof GridH2IndexBase;
lock(true);
try {
ensureNotDestroyed();
Index idxExist = checkIndexPresence(idx);
if (idxExist != null) {
String idxCols = Stream.of(idxExist.getIndexColumns()).map(k -> k.columnName).collect(Collectors.joining(", "));
U.warn(log, "Index with the given set or subset of columns already exists " + "(consider dropping either new or existing index) [cacheName=" + cacheInfo.name() + ", " + "schemaName=" + getSchema().getName() + ", tableName=" + getName() + ", newIndexName=" + idx.getName() + ", existingIndexName=" + idxExist.getName() + ", existingIndexColumns=[" + idxCols + "]]");
}
Index oldTmpIdx = tmpIdxs.put(idx.getName(), (GridH2IndexBase) idx);
assert oldTmpIdx == null;
} finally {
unlock(true);
}
}
Aggregations