Как стать автором
Обновить

Комментарии 10

Окей, а можете дополнительно для Java показать, как это всё будет работать под JPA и JTA?

На будущее учту запрос на такой туториал. Было бы полезно, если бы вы конкретизировали, что именно в нём хотели бы увидеть.

В общих же словах, вы получаете декоратор над соединением JDBC, который реализует интеграцию со всеми запросами. Соединение с JDBC остаётся под вашим управлением, так что все стандартные практики должны быть применимы.

Было бы интересно увидеть, как такой подход можно согласовать с применением Hasura, когда с одной стороны хочется иметь возможность не писать запросы тривиальных выборок, а для сложных запросов применять DB-First.

Что подразумевается под "согласовать"? И почему хочется не писать запросы тривиальных выборок?

Для выбора ближайших точек индекс btree полезен только для точек, но не для векторов.

В postgresql есть либо cube+gist

Либо сторонее расширение pgvector

Спасибо за замечание! Однако пока кодогенератор не поддерживает этих типов. Но мы внесём это в планы.

Пожалуйста. В случае с btree, чтобы найти ближайшую точку (значение, не вектор), надо сделать 2 подзапроса: максимальное слева и минимальное справа. Когда не потребуется сканировтаь весь индекс.

project.dbfirst-v1.yaml

Зачем v1 в названии файла, если внутри version указано? Или это разные вещи?

И похожий вопрос по java-jdbc-v1: может версионирование как-то отделить от названия?

Спасибо! Очень полезные уточняющие вопросы.

  • v1 в названии конфигурационного файла project.dbfirst-v1.yaml определяет версию его синтаксиса. В будущем это упростит инструменты для взаимодействия с синтаксисом (подсветку, редактор).

  • version: 1.0.0 внутри этого файла определяет версию пользовательского проекта. Это даёт пользователю определять версии генерируемых пакетов. В случае с Java, это определяет значение project/version в pom.xml.

  • v1 в java-jdbc-v1 определяет версию кодогенератора. Это обеспечивает обратную совместимость генерируемого SDK.

может версионирование как-то отделить от названия?

В будущем планируется добавить конфигурируемость различных деталей кодогенерации для кастомизации пользователем. Тогда данное строковое значение станет эквивалентом следующему словарю:

artifacts:
  - java-jdbc:
      version: 1
      # Далее примеры дополнительных настроек, которые, возможно, будут внедрены в будущем:
      min-jdk: 11
      formatter: intellij

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации