#clojure #metabase #honeysql
Вопрос:
Я использую продукт под названием Metabase и работаю над созданием пользовательского драйвера. Есть метод, который я переопределяю, который строит логику получения последних X недель. Ниже приведен пример того, чего я пытаюсь достичь
(defmethod sql.qp/date
[:db2 :week]
[_ _ expr]
(hx/- expr
(hsql/raw
(hsql/format "days" (hsql/call :dayofweek expr)))))
expr
здесь приравнивается к этому: (CAST(current timestamp AS timestamp) -14 days)
Когда мой приведенный выше код запускается, я получаю этот вывод:
((CAST(current timestamp AS timestamp) -14 days) - ? days)
Мой желаемый результат здесь таков:
((CAST(current timestamp AS timestamp) -14 days) - dayofweek((CAST(current timestamp AS timestamp) -14 days)) days)
Я очень новичок в clojure и с трудом справляюсь с этим. Любые советы или помощь будут высоко оценены!
Спасибо!
Комментарии:
1. Не знаю о метабазе, но вот вам хороший список источников документации Clojure: github.com/io-tupelo/clj-template#documentation