/
NikolayIvkin
/
sqlancer2
Обзор
Документация
Войти
/
NikolayIvkin
/
sqlancer2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/sqlancer/mongodb/gen/MongoDBInsertGenerator.java
38 строк
1 KB
Hao Wu
Fix typos for dbmsSpecificOptions
21 июл 2021, 11:23
21 июл 2021, 11:23
8c15ec8
Код
Авторство
О чём код?
package sqlancer.mongodb.gen; import org.bson.Document; import sqlancer.mongodb.MongoDBProvider.MongoDBGlobalState; import sqlancer.mongodb.MongoDBQueryAdapter; import sqlancer.mongodb.MongoDBSchema.MongoDBTable; import sqlancer.mongodb.query.MongoDBInsertQuery; public final class MongoDBInsertGenerator { private final MongoDBGlobalState globalState; private MongoDBInsertGenerator(MongoDBGlobalState globalState) { this.globalState = globalState; } public static MongoDBQueryAdapter getQuery(MongoDBGlobalState globalState) { return new MongoDBInsertGenerator(globalState).generate(); } public MongoDBQueryAdapter generate() { Document result = new Document(); MongoDBTable table = globalState.getSchema().getRandomTable(); MongoDBConstantGenerator constantGenerator = new MongoDBConstantGenerator(globalState); for (int i = 0; i < table.getColumns().size(); i++) { if (!globalState.getDbmsSpecificOptions().testRandomTypes) { constantGenerator.addRandomConstantWithType(result, table.getColumns().get(i).getName(), table.getColumns().get(i).getType()); } else { constantGenerator.addRandomConstant(result, table.getColumns().get(i).getName()); } } return new MongoDBInsertQuery(table, result); } }