Skip to content

Добавление произвольных комментариев в SQL файл #13

@ZatolokinPavel

Description

@ZatolokinPavel

Сейчас функция 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;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions