/
NikolayIvkin
/
sqlancer2
Обзор
Документация
Войти
/
NikolayIvkin
/
sqlancer2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/sqlancer/cockroachdb/gen/CockroachDBViewGenerator.java
37 строк
1 KB
Patrick
Continuation of Reworking Connection to DB to support non-SQL connections
26 ноя 2020, 15:40
26 ноя 2020, 15:40
62e302e
Код
Авторство
О чём код?
package sqlancer.cockroachdb.gen; import sqlancer.Randomly; import sqlancer.cockroachdb.CockroachDBErrors; import sqlancer.cockroachdb.CockroachDBProvider.CockroachDBGlobalState; import sqlancer.common.query.ExpectedErrors; import sqlancer.common.query.SQLQueryAdapter; public final class CockroachDBViewGenerator { private CockroachDBViewGenerator() { } public static SQLQueryAdapter generate(CockroachDBGlobalState globalState) { int nrColumns = Randomly.smallNumber() + 1; StringBuilder sb = new StringBuilder("CREATE "); sb.append("VIEW "); sb.append(globalState.getSchema().getFreeViewName()); sb.append("("); for (int i = 0; i < nrColumns; i++) { if (i != 0) { sb.append(", "); } sb.append("c"); sb.append(i); } sb.append(") AS "); sb.append(CockroachDBRandomQuerySynthesizer.generate(globalState, nrColumns).getQueryString()); ExpectedErrors errors = new ExpectedErrors(); CockroachDBErrors.addExpressionErrors(errors); CockroachDBErrors.addTransactionErrors(errors); errors.add("value type unknown cannot be used for table columns"); errors.add("already exists"); return new SQLQueryAdapter(sb.toString(), errors, true); } }