172 похожих чатов

Здравствуйте товарищи! Подскажите пожалуйста существует ли отдельная библиотека с кодом, который

сам postgres использует для парсинга текста запросов в синтаксическое дерево? Если нет, то насколько сложно будет в коде выделить эту часть и сделать такую библиотеку? Давно хотел как-нибудь поконтрибьютить, отдать долг сообществу, так сказать, но для начала хотел бы удостовериться, что цель реализуема.

8 ответов

22 просмотра

Такое тут уже спрашивали, поищите в истории чата (там и что-то находили, и давали ссылки разной степени "свежести"). Вкратце: 1) в самом проекте такого нет 2) некоторые другие проекты экспортируют, адаптируют и используют этот код 3) а некоторые используют свои (альтернативные) реализации.

Milkhael- Автор вопроса
Yaroslav Schekin
Такое тут уже спрашивали, поищите в истории чата (...

2 и 3 я смотрел и понимаю о чем вы говорите. Меня больше 1 интересует. В проекте нет, это я понял. Насколько сложно это в проект добавить? Я-то готов этим заняться, если это навскидку будет реализуемо

Milkhael
2 и 3 я смотрел и понимаю о чем вы говорите. Меня ...

По моему мнению, это почти невозможно. Зачем это может быть нужно проекту PostgreSQL, какая для него в этом выгода?

Milkhael- Автор вопроса
Yaroslav Schekin
По моему мнению, это почти невозможно. Зачем это м...

По моему мнению выгода в том, что код (sql, pl/pgsql) для Postgres можно будет инструментировать. В том числе написать нормальный поддерживаемый форматер, который можно будет применять при комите кода в репозиторий. А также для того, чтобы выгрузить код из БД, отформатировать его и сравнить с тем, что лежит в репозитории. То есть, разрабатывать решения на базе Postgres станет _удобней_. Если не затруднит, не могли бы вы пояснить в двух словах, почему “почти не возможно”?

Milkhael
По моему мнению выгода в том, что код (sql, pl/pg...

> По моему мнению выгода в том, что код (sql, pl/pgsql) для Postgres можно будет инструментировать. Нет, нельзя. Как есть, он для этого не подходит (я уже неоднократно об этом писал тут, кажется). Т.е. для этого этот код нужно усложнить, внеся в него то, что не нужно ни для одного компонента PostgreSQL (сервера / клиента / ECPG / где там ещё это используется). Т.е. в минус мы получаем увеличение сложности, возможные bugs и вполне вероятное падение производительности системы в целом. А в плюс для вышеупомянутого мы получаем... что? > А также для того, чтобы выгрузить код из БД, отформатировать его и сравнить с тем, что лежит в репозитории. И для этого уже существуют средства, в т.ч. сторонние, нет?

Milkhael- Автор вопроса
Yaroslav Schekin
> По моему мнению выгода в том, что код (sql, pl/...

Понял. Тогда подумаю о других вариантах. > И для этого уже существуют средства, в т.ч. сторонние, нет? буду признателен за названия. Из тех, что я знаю инструменты мне не очень нравятся

Milkhael
Понял. Тогда подумаю о других вариантах. > И для ...

Так Вы в истории чата искали / гуглили? А так слишком общий вопрос получается...

Milkhael- Автор вопроса
Yaroslav Schekin
Так Вы в истории чата искали / гуглили? А так слиш...

Да, там упоминаются те же инструменты, о которых я читал ранее и про которые я сказал, что они мне не очень нравятся. Похоже варинат с написанием с нуля парсера на базе грамматики из исходников pg самый рабочий.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта