/
NikolayIvkin
/
sqlancer2
Обзор
Документация
Войти
/
NikolayIvkin
/
sqlancer2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/sqlancer/sqlite3/gen/ddl/SQLite3DropTableGenerator.java
31 строка
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.ddl; import sqlancer.IgnoreMeException; import sqlancer.Randomly; import sqlancer.common.query.ExpectedErrors; import sqlancer.common.query.SQLQueryAdapter; import sqlancer.sqlite3.SQLite3GlobalState; public final class SQLite3DropTableGenerator { private SQLite3DropTableGenerator() { } public static SQLQueryAdapter dropTable(SQLite3GlobalState globalState) { if (globalState.getSchema().getTables(t -> !t.isView()).size() == 1) { throw new IgnoreMeException(); } StringBuilder sb = new StringBuilder("DROP TABLE "); if (Randomly.getBoolean()) { sb.append("IF EXISTS "); } sb.append(globalState.getSchema().getRandomTableOrBailout(t -> !t.isView()).getName()); return new SQLQueryAdapter(sb.toString(), ExpectedErrors.from("[SQLITE_ERROR] SQL error or missing database (foreign key mismatch", "Abort due to constraint violation (FOREIGN KEY constraint failed)", "SQL error or missing database"), true); } }