/
NikolayIvkin
/
sqlancer2
Обзор
Документация
Войти
/
NikolayIvkin
/
sqlancer2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/sqlancer/sqlite3/gen/SQLite3AnalyzeGenerator.java
41 строка
1 KB
Manuel Rigger
Extract the SQLite3GlobalState to a separate class to fix a JavaDoc issue
21 янв 2021, 01:52
21 янв 2021, 01:52
cb9833d
Код
Авторство
О чём код?
package sqlancer.sqlite3.gen; import sqlancer.Randomly; import sqlancer.common.query.ExpectedErrors; import sqlancer.common.query.SQLQueryAdapter; import sqlancer.sqlite3.SQLite3GlobalState; public final class SQLite3AnalyzeGenerator { private SQLite3AnalyzeGenerator() { } private enum AnalyzeTarget { SCHEMA, TABLE, INDEX, SQL_MASTER } public static SQLQueryAdapter generateAnalyze(SQLite3GlobalState globalState) { final StringBuilder sb = new StringBuilder("ANALYZE"); if (Randomly.getBoolean()) { sb.append(" "); switch (Randomly.fromOptions(AnalyzeTarget.values())) { case INDEX: sb.append(globalState.getSchema().getRandomIndexOrBailout()); break; case SCHEMA: sb.append(Randomly.fromOptions("main", "temp")); break; case SQL_MASTER: sb.append("sqlite_master"); break; case TABLE: sb.append(globalState.getSchema().getRandomTableOrBailout().getName()); break; default: throw new AssertionError(); } } return new SQLQueryAdapter(sb.toString(), ExpectedErrors.from("The database file is locked")); } }