-
Notifications
You must be signed in to change notification settings - Fork 17
Description
Сейчас функция eql:compile/1 вычитывает SQL запросы из файла от метки до ближайшего комментария. Из-за этого я не могу писать комментарии внутри многострочного запроса. Вот пример неработающего кода:
-- :create_all_tables
-- Создание таблицы.
CREATE TABLE IF NOT EXISTS monitoring (
time_start timestamp(0) PRIMARY KEY, -- начало отрезка времени
time_end timestamp(0) NOT NULL, -- конец отрезка времени
status varchar(15) NOT NULL
);А если я, в целях отладки, хочу закомментировать какую-то часть запроса, то всё что будет после комментария,будет отброшено. Таким образом запрос просто сломается.
Предлагаю считать одним запросом всё что начинается с метки и заканчивается следующей меткой или концом файла.
И ещё. Если вначале файла у меня написаны комментарии, затем одна или несколько пустых строк, после чего метка и запрос, то запросы из файла не вычитываются корректно. Результат eql:compile/1 - пустая строка. Пример:
-- Описание всего файла
-- :query_name
SELECT * FROM table;Чтобы это обойти, мне приходится перед каждым отдельно стоящим комментарием добавлять какую-нибудь бессмысленную метку. Вот так:
-- :header
-- Описание всего файла
-- :query_name
SELECT * FROM table;