/
NikolayIvkin
/
sqlancer2
Обзор
Документация
Войти
/
NikolayIvkin
/
sqlancer2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/sqlancer/postgres/gen/PostgresNotifyGenerator.java
47 строк
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.postgres.gen; import sqlancer.Randomly; import sqlancer.common.query.SQLQueryAdapter; import sqlancer.postgres.PostgresGlobalState; public final class PostgresNotifyGenerator { private PostgresNotifyGenerator() { } private static String getChannel() { return Randomly.fromOptions("asdf", "test"); } public static SQLQueryAdapter createNotify(PostgresGlobalState globalState) { StringBuilder sb = new StringBuilder(); sb.append("NOTIFY "); sb.append(getChannel()); if (Randomly.getBoolean()) { sb.append(", "); sb.append("'"); sb.append(globalState.getRandomly().getString().replace("'", "''")); sb.append("'"); } return new SQLQueryAdapter(sb.toString()); } public static SQLQueryAdapter createListen() { StringBuilder sb = new StringBuilder(); sb.append("LISTEN "); sb.append(getChannel()); return new SQLQueryAdapter(sb.toString()); } public static SQLQueryAdapter createUnlisten() { StringBuilder sb = new StringBuilder(); sb.append("UNLISTEN "); if (Randomly.getBoolean()) { sb.append(getChannel()); } else { sb.append("*"); } return new SQLQueryAdapter(sb.toString()); } }