/
NikolayIvkin
/
sqlancer2
Обзор
Документация
Войти
/
NikolayIvkin
/
sqlancer2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/sqlancer/cockroachdb/ast/CockroachDBIndexReference.java
43 строки
1 KB
Manuel Rigger
Introduce a new sqlancer.common package
13 авг 2020, 00:31
13 авг 2020, 00:31
cb1ba25
Код
Авторство
О чём код?
package sqlancer.cockroachdb.ast; import sqlancer.Randomly; import sqlancer.common.schema.TableIndex; import sqlancer.common.visitor.UnaryOperation; public class CockroachDBIndexReference extends CockroachDBTableReference implements UnaryOperation<CockroachDBExpression> { private final CockroachDBTableReference tableReference; private final TableIndex index; public CockroachDBIndexReference(CockroachDBTableReference tableReference, TableIndex index) { super(tableReference.getTable()); this.tableReference = tableReference; this.index = index; } @Override public CockroachDBExpression getExpression() { return tableReference; } @Override public String getOperatorRepresentation() { if (Randomly.getBoolean()) { return String.format("@{FORCE_INDEX=%s}", index.getIndexName()); } else { return String.format("@{FORCE_INDEX=%s,%s}", index.getIndexName(), Randomly.fromOptions("ASC", "DESC")); } } @Override public OperatorKind getOperatorKind() { return OperatorKind.POSTFIX; } @Override public boolean omitBracketsWhenPrinting() { return true; } }