Информация об изменениях

Сообщение Re[3]: [proof-of-concept] compile time query language от 11.07.2016 20:08

Изменено 11.07.2016 20:15 VTT

Здравствуйте, niXman, Вы писали:

X>Здравствуйте, VTT, Вы писали:


VTT>>Глядя на название, я сначала подумал, что это compile-time база данных, генерирующая код для выполнения SQL запросов.


X>а данные она "получает" тоже в компайл-тайм?


Нет конечно, в компайл-тайм только генерируется код метода, собирающего данные.
т.е. в рантайм нет никаких SQL строчек, а просто вызывается метод, выполняющий заданный в компайл-тайм запрос со всеми оптимизациями.
Я, видите ли, некоторое время назад на фрилансе делал один проектик, где приходилось извлекать / проверять много разных выборок из данных с учетом кучи правил.
Там это сделал, задавая операции при выборке и правила валидации в декларативном виде, как последовательностей из соотв. энумераторов.
На выходе получался шитый код с проверенными на совместимость правилами и запросами.
Были мысли расширить это до чего-то более универсального.
По идее, с новыми стандартами сейчас можно прямо в compile-time парсить строчки запросов и прочее.
Здравствуйте, niXman, Вы писали:

X>Здравствуйте, VTT, Вы писали:


VTT>>Глядя на название, я сначала подумал, что это compile-time база данных, генерирующая код для выполнения SQL запросов.


X>а данные она "получает" тоже в компайл-тайм?


Нет конечно, в компайл-тайм только генерируется код метода, собирающего данные.
т.е. в рантайм нет никаких SQL строчек, а просто вызывается метод, выполняющий заданный в компайл-тайм запрос со всеми оптимизациями.
Я, видите ли, некоторое время назад на фрилансе делал один проектик, где приходилось извлекать / проверять много разных выборок из данных с учетом кучи правил.
Там это сделал, задавая операции при выборке и правила валидации в декларативном виде, как последовательностей из соотв. энумераторов.
На выходе получался шитый код с проверенными на совместимость правилами и запросами.
Были мысли расширить это до чего-то более универсального.
По идее, с новыми стандартами сейчас можно прямо в compile-time парсить строчки запросов и прочее.
Еще я про это вспомнил из-за соседнего топика
Автор: kochetkov.vladimir
Дата: 08.07.16
.
По идее, компоновка SQL-запросов во время компиляции позволило бы устранить целый класс атак типа SQL injection за счет отсутствия интерпретатора SQL в рантайм.