Metabase 0.48.0¶
-
The MBQL schema in
metabase.mbql.schema
now uses Malli instead of Schema. If you were using this namespace in combination with Schema, you'll want to update your code to use Malli instead. -
Another driver feature has been added:
:table-privileges
. This feature signals whether we can store the table-level privileges for the database on database sync. -
The multimethod
metabase.driver/current-user-table-privileges
has been added. This method is used to get the set of privileges the database connection's current user has. It needs to be implemented if the database supports the:table-privileges
feature. -
The following functions in
metabase.query-processor.store
(qp.store
) are now deprecated -
qp.store/database
qp.store/table
qp.store/field
Update usages of the to the corresponding functions in metabase.lib.metadata
(lib.metadata
):
(qp.store/database) => (lib.metadata/database (qp.store/metadata-provider))
(qp.store/table table-id) => (lib.metadata/table (qp.store/metadata-provider) table-id)
(qp.store/field field-id) => (lib.metadata/field (qp.store/metadata-provider) field-id)
Note that the new methods return keys as kebab-case
rather than snake_case
.
- Similarly, drivers should NOT access the application database directly (via
toucan
functions or otherwise); uselib.metadata
functions instead. This access may be blocked in a future release. - SQL drivers that implement
metabase.driver.sql.query-processor/->honeysql
formetabase.models.table/Table
/:model/Table
should be updated to implement it for:metadata/table
instead. As with the changes above, the main difference is that the new metadata maps usekebab-case
keys rather thansnake_case
keys. -
metabase.driver.sql.query-processor/cast-field-if-needed
now expects akebab-case
d field as returned bylib.metadata/field
.
-
metabase.query-processor.store/fetch-and-store-database!
,metabase.query-processor.store/fetch-and-store-tables!
, andmetabase.query-processor.store/fetch-and-store-fields!
have been removed. Things are now fetched automatically as needed and these calls are no longer necessary. metabase.models.field/json-field?
has been removed, usemetabase.lib.field/json-field?
instead. Note that the new function takes a Field as returned bylib.metadata/field
, i.e. akebab-case
map.- Tests should try to avoid using any of the
with-temp
helpers or application database objects; instead, use the metadata functions above and and the helper metadata providers inmetabase.lib
,metabase.lib.test-util
, andmetabase.query-processor.test-util
for mocking them, such asmock-metadata-provider
,metabase-provider-with-cards-for-queries
,remap-metadata-provider
, andmerged-mock-metadata-provider
. metabase.query-processor.util.add-alias-info/field-reference
is now deprecated. If your driver implemented it, implementmetabase.query-processor.util.add-alias-info/field-reference-mlv2
instead. The only difference between the two is that the latter is passed Field metadata withkebab-case
keys while the former is passed legacy metadata withsnake_case
keys.metabase.driver/current-db-time
, deprecated in 0.34, and related methods and helper functions, have been removed. Implementmetabase.driver/db-default-timezone
instead.metabase.driver.sql-jdbc.sync.interface/db-default-timezone
, a helper for writingmetabase.driver/db-default-timezone
implementations for JDBC-based drivers, has been deprecated, and will be removed in 0.51.0 or later. You can easily implementmetabase.driver/db-default-timezone
directly, and usemetabase.driver.sql-jdbc.execute/do-with-connection-with-options
to get ajava.sql.Connection
for a Database.- Added a new multimethod
metabase.driver.sql.parameters.substitution/align-temporal-unit-with-param-type
, which returns a suitable temporal unit conversion keyword forfield
,param-type
and the given driver. The resulting keyword will be used to call the correspondingmetabase.driver.sql.query-processor/date
implementation to convert thefield
. Returnsnil
if the conversion is not necessary for thisfield
andparam-type
combination. - The multimethod
metabase.driver.sql-jdbc.execute/inject-remark
has been added. It allows JDBC-based drivers to override the default behavior of how SQL query remarks are added to queries (prepending them as a comment). - The arity of multimethod
metabase.driver.sql-jdbc.sync.interface/fallback-metadata-query
has been updated from 3 to 4, it now takes an additionaldb
argument. The new function arguments are:[driver db-name-or-nil schema table]
.
Metabase 0.47.0¶
-
Добавлено новое свойство драйвера:
:schemas
. Это свойство сигнализирует о том, организует ли база данных таблицы в схемы (также известные как пространства имен) или нет. Большинство баз данных имеют схемы, поэтому это свойство включена по умолчанию. Реализация мультиметодаmetabase.driver/database-supports?
для:schemas
требуется только в том случае, если база данных не хранит таблицы в схемах. -
Добавлена ещё одно свойство драйвера:
:uploads
. Свойство:uploads
сигнализирует, поддерживает ли база данных загрузку CSV-файлов в таблицы базы данных. Для поддержки функции загрузки реализуйте следующие новые мультиметоды:metabase.driver/create-table!
(создать таблицу),metabase.driver/drop-table!
(удалить таблицу) иmetabase.driver/insert-into!
(вставить данные в таблицу). -
Мультиметод
metabase.driver/syncable-schemas
был добавлен. Этот метод используется для получения списка схем для загрузки CSV-файлов и должен включать все схемы, которые можно синхронизировать. В настоящее время его необходимо реализовать только в том случае, если база данных имеет схему и поддерживает свойство:uploads
. -
Мультиметод
metabase.driver/supports?
был признан устаревшим и заменёнmetabase.driver/database-supports?
. Существующая реализация по умолчаниюdatabase-supports?
в настоящее время вызываетsupports?
, но она будет удалена в версии 0.50.0. -
metabase.driver.sql-jdbc.execute/connection-with-timezone
отмечен как устаревший, его планируется удалить в Metabase 0.50.0. Его заменит новый методmetabase.driver.sql-jdbc.execute/do-with-connection-with-options
. Переход на новый метод прост. Для получения информации - см. PR #22166. В дальнейшем рекомендуется использоватьmetabase.driver.sql-jdbc.execute/do-with-connection-with-options
вместоclojure.java.jdbc/with-db-connection
илиclojure.java.jdbc/get-connection
. -
Добавлены мультиметоды
set-role!
,set-role-statement
иdefault-database-role
. Эти методы используются для включения имперсонализации соединения — новой функции, добавленной в версии 0.47.0. Имперсонализация соединения позволяет назначать пользователям определённые роли базы данных, которые устанавливаются до выполнения любых запросов, так что доступ к таблицам может быть ограничен на уровне базы данных вместо встроенной системы разрешений Metabase (или в сочетании с ней). -
The multimethod
metabase.driver.sql-jdbc.sync.describe-table/get-table-pks
is changed to return a vector instead of a set. -
The function
metabase.query-processor.timezone/report-timezone-id-if-supported
has been updated to take an additionaldatabase
argument for the arity which previously had one argument. This function might be used in the implementation of a driver's multimethods. -
metabase.driver/prettify-native-form
was added to enable driver developers use native form formatting specific to their driver. For details see the PR #34991.
Metabase 0.46.0¶
- Процесс для сборки драйвера немного изменился в версии 0.46.0. Ваша команда сборки теперь должна выглядеть следующим образом:
# Example for building the driver with bash or similar
# switch to the local checkout of the Metabase repo
cd /path/to/metabase/repo
# get absolute path to the driver project directory
DRIVER_PATH=`readlink -f ~/sudoku-driver`
# Build driver. See explanation in sample Sudoku driver README
clojure \
-Sdeps "{:aliases {:sudoku {:extra-deps {com.metabase/sudoku-driver {:local/root \"$DRIVER_PATH\"}}}}}" \
-X:build:sudoku \
build-drivers.build-driver/build-driver! \
"{:driver :sudoku, :project-dir \"$DRIVER_PATH\", :target-dir \"$DRIVER_PATH/target\"}"
- Взгляните на наши инструкции по сборке для образца драйвера Sudoku для объяснения команды.
Обратите внимание, что хотя эта команда сама по себе довольно длинная, вам больше не нужно указывать псевдоним :build
в файле deps.edn
вашего драйвера.
Пожалуйста, проголосуйте за https://ask.clojure.org/index.php/7843/allow-specifying-aliases-coordinates-that-point-projects , что позволит нам упростить команду сборки драйвера в будущем.
-
Мультиметод
metabase.driver/sql.query-processor/datetime-diff
был добавлен. Этот метод используется в ситуациях, когда GlarusBI требуется ограниченный образец из таблицы, например, при снятии отпечатков. Реализация по умолчанию, определённая в пространстве имёнmetabase.db.metadata-queries
, запускает запрос MBQL с использованием обычного процессора запросов для создания образца строк. Этого достаточно в большинстве случаев, поэтому этот мультиметод не должен быть реализован, если это действительно необходимо. В настоящее время единственный случай, когда используется специальная реализация, - это BigQuery, который не учитывает ограничение классов. -
Мультиметод
metabase.driver.sql.query-processor/->honeysql
был добавлен. Этот метод используется имплементацией->honeysql
для:datetime-diff
и:datetime-field
выражений. Рекомендуется реализовать этот метод, если вы хотите использовать реализацию SQL по умолчанию для->honeysql
для:datetime-diff
и:datetime-field
, которая включает в себя валидацию типов аргументов для всех единиц. -
Мультиметод
metabase.query-processor.util.add-alias-info/field-reference
был добавлен. Этот метод используется для создания ссылки на полеadd-alias-info
middleware. (Обратите внимание, что этот middleware необязателен, в настоящее время он используется только драйверами SQL и MongoDB.) Реализация по умолчанию возвращает имя экземпляра поля. Он должен быть переопределен, если только имя не является допустимой ссылкой. Например, MongoDB поддерживает вложенные документы, и ссылки на вложенные поля должны содержать весь путь. См. пространство имёнmetabase.driver.mongo.query-processor
для альтернативной реализации. -
Мультиметод
metabase.driver.sql-jdbc.sync.interface/syncable-schemas
(синонимmetabase.driver.sql-jdbc.sync/syncable-schemas
), который был устарел в 0.43.0, был удален. Реализуйте вместо этогоmetabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas
. См. примечания 0.43.0 ниже для получения дополнительной информации. -
Мультиметод
metabase.driver/format-custom-field-name
, который был помечен как устаревший в 0.42.0, был удален. Реализуйте вместо этогоmetabase.driver/escape-alias
. См. примечания 0.42.0 ниже для получения дополнительной информации. -
Мультиметод
metabase.driver.sql-jdbc.execute/read-column
, который был помечен как устаревший в 0.35.0, был удален. Реализуйте вместо этогоmetabase.driver.sql-jdbc.execute/read-column-thunk
. См. примечания 0.35.0 ниже для получения дополнительной информации.
Honey SQL 2¶
Следующее относится только к драйверам SQL; вы можете игнорировать это для недрайверов SQL.
До GlarusBI 0.46.0 драйверы SQL использовали Honey SQL 1 в качестве промежуточной цели при компиляции запросов. В 0.46.0 мы начали процесс миграции на Honey SQL 2 в качестве нашей новой промежуточной цели.
Мы планируем продолжить поддержку Honey SQL 1 до GlarusBI 0.49.0. Пожалуйста, убедитесь, что вы перенесли свои драйверы до этого момента.
В GlarusBI 0.46.x, 0.47.x и 0.48.x вы можете указать, какую версию Honey SQL должен использовать ваш драйвер, реализовав мультиметод metabase.driver.sql.query-processor/honey-sql-version
:
(require '[metabase.driver.sql.query-processor :as sql.qp])
;;; use Honey SQL 2 for :my-driver
(defmethod sql.qp/honey-sql-version :my-driver
[_driver]
2)
Этот метод должен вернуть либо 1
, либо 2
. В настоящее время реализация по умолчанию возвращает 1
. Фактически это означает, что в настоящее время вам нужно включить компиляцию Honey SQL 2. Это хорошая идея сделать это как можно скорее, чтобы ваш драйвер заранее был готов к 0.49.0.
В GlarusBI 0.47.x или 0.48.x мы, вероятно, изменим версию Honey SQL по умолчанию на 2
, чтобы убедиться, что все знают о предстоящих изменениях в 0.49.0 и дать им один или два цикла выпуска, чтобы обновить свои драйверы для Honey SQL 2. Вы Всё ещё сможете включить использование Honey SQL 1 до 0.49.0, реализовав sql.qp/honey-sql-version
и возвращая 1
.
Что вам нужно изменить¶
В нашей утилите Honey SQL, пространство имён metabase.util.honeysql-extensions
, обычно псевдонимизируемом как hx
, было обновлено для генерации форм, соответствующих Honey SQL 1 или Honey SQL 2. Это делается автоматически на основе вашего драйвера honey-sql-version
. metabase.driver.sql.query-processor
также поддерживает обе цели аналогичным образом.
Фактические изменения, которые вам нужно будет внести в свой код драйвера, вероятно, будут довольно незначительными. Обратите внимание на следующие вещи при портировании драйвера:
-
Избегайте использования вещей из пространства имён Honey SQL 1, таких, как
honeysql.core
илиhoneysql.format
. Если это все таки необходимо, то используйте вместо этого Honey SQLhoney.sql
; вам может не понадобиться ни одного из них. -
Пока ещё вы можете использовать
metabase.util.honeysql-extensions
, так как он может быть направлен на любую версию Honey SQL, но мы, вероятно, удалим это пространство имён в какой-то момент в будущем. Обновите свой код для использованияmetabase.util.honey-sql-2
. Пространства имён реализуют почти идентичный набор вспомогательных функций, поэтому все, что вам нужно сделать, это переключиться на тот, который вы:require
в своей формеns
. -
honeysql.core/call
больше не существует, поэтому вместо конструкций(hsql/call :my_function 1 2)
вы просто должны вернуть плоский вектор[:my_function 1 2]
.(hsql/raw "x")
сейчас[:raw "x"]
. Новые обработчики могут быть зарегистрированы с Honey SQL 2 с помощьюhoney.sql/register-fn!
. Нет эквивалента протокола Honey SQL 1honeysql.format./ToSql
, поэтому вы больше не должны определять одноразовые типы для реализации пользовательских правил компиляции SQL. Вместо этого используйтеhoney.sql/register-fn!
. -
В Honey SQL 1 существовала возможность зарегистрировать свои функции с ограниченным скоупом путём реализации мультиметода
honeysql.format/fn-handler
. GlarusBI регистрировал функции:extract
,:distinct-count
и:percentile-cont
таким образом. Для Honey SQL 2 мы зарегистрировали эти функции как квалифицированные ключевые слова в пространстве имёнmetabase.util.honey-sql-2
, чтобы избежать путаницы в том, где они определены. Таким образом, вам нужно будет обновить ключевое слово, если вы используете эти функции.
преобразуется в
- Так как пользовательские выражеения стали просто текстом вроде
[:my_function 1]
, вам может понадобиться обернуть выражения в дополнительный вектор, если они появляются внутри:select
,:from
, или в других местах, где вектор может быть интерпретирован как[expression alias]
, например:
;; Honey SQL 1
(honeysql.core/format {:select [[:my_function 1]]})
;; => ["SELECT my_function AS 1"]
;; Honey SQL 2
;;
;; WRONG
(honey.sql/format {:select [[:my_function 1]]})
;; => ["SELECT my_function AS ?" 1]
;; CORRECT
(honey.sql/format {:select [[[:my_function 1]]]})
;; => ["SELECT MY_FUNCTION(?)" 1]
Процессор запросов SQL делает это автоматически для форм, которые он генерирует, поэтому вам нужно беспокоиться об этом только в том случае, если вы переопределяете способ, которым он генерирует :select
или другие верхнеуровневые выражения.
- Числа теперь по умолчанию параметризованы, т.е.
{:select [1]}
становитсяSELECT ?
вместоSELECT 1
. Вы можете использовать:inline
, чтобы принудительно сгенерировать SQL встроенным образом:{:select [[[:inline 1]]]}
становитсяSELECT 1
. Числа сгенерированные SQL процессором запросов должны автоматически встраиваться, но вам может потребоваться убедиться, что любые числа, которые вы генерируете, обернуты в:inline
, если они могут оказаться выражениями внутри выраженияGROUP BY
. Некоторые базы данных могут распознавать выражения как одно и то же только тогда, когда они не параметризованы:
-- This is okay
SELECT x 1
FROM table
GROUP BY x 1
-- Bad: DB doesn't know whether the two x ? expressions are the same thing
SELECT x ?
FROM table
GROUP BY x ?
Используйте :inline
с осторожностью - не используйте его для ненадежных строк или других способов внедрения SQL.
Встраивание только тех вещей, которые являются number?
- это более безопасный выбор.
Обратитесь к Различиям между Honey SQL 1.x и 2.x для получения дополнительной информации о различиях между версиями библиотеки.
Важные изменения в 0.46.0, связанные с переходом на Honey SQL 2¶
Инфо: эти изменения будут исправлены до того, как 0.46.0 будет выпущен. Мы обновим информацию соответственно.
Классы metabase.util.honeysql_extensions.Identifer
и metabase.util.honeysql_extensions.TypedHoneySQLForm
были перемещены в metabase.util.honey_sql_1.Identifer
и metabase.util.honey_sql_1.TypedHoneySQLForm
соответственно. На всякий случай, если ваш драйвер напрямую ссылается на эти имена классов, вам может потребоваться обновить их, чтобы использовать новые имена классов.
Аналогичным образом metabase.util.honeysql-extensions/->AtTimeZone
был удален; используйте вместо него metabase.util.honeysql-extensions/at-time-zone
.
Журнал изменений интерфейса драйвера¶
GlarusBI 0.45.0¶
metabase.driver.sql-jdbc.connection/details->connection-spec-for-testing-connection
был удален из GlarusBI 0.45.0, из-за проблемы с SSH. См.#24445. Если вы используете эту функцию, обновите свой код, чтобы вместо этого использоватьmetabase.driver.sql-jdbc.connection/with-connection-spec-for-testing-connection
, который правильно очищает данные.
Новые методы¶
- Добавлено
metabase.driver.sql-jdbc.sync.describe-table-fields
. Реализуйте этот метод, если вы хотите переопределить поведение по умолчанию для выборки метаданных поля (например, типов) для таблицы. metabase.driver.sql-jdbc.sync.describe-table/get-table-pks
has been added. This methods is used to get a set of pks given a table.
GlarusBI 0.43.0¶
-
Карта
:expressions
в запросе MBQL теперь использует строки в качестве ключей, а не ключевые слова (см. #14647). Вам нужно беспокоиться об этом только в том случае, если вы напрямую обращаетесь к этой карте или изменяте ее. Драйверы, производные от:sql
, реализующие->honeysql
для[<driver>:expression]
, возможно, нуждаются в обновлении. Вспомогательная функцияmetabase.mbql.util/expression-with-name
доступна по крайней мере начиная с GlarusBI 0.35.0 и обрабатывает оба типа ключей. Настоятельно рекомендуется использовать эту функцию вместо прямого доступа к:expressions
, так как это может сделать ваш драйвер совместимым как с 0.42.0, так и с 0.43.0 и новее. -
Теперь в пространстве имён
sql-jdbc.sync
существует методdescribe-nested-field-columns
, который возвращает экземпляр NestedFCMetadata. Это сделано для того, чтобы разрешить JSON столбцы в Postgres и, в других БД, которые обычно являются обычными СУБД, но иногда имеют денормализованный столбец с JSON или какой-либо другой семантикой. Учитывая таблицу с денормализованными столбцами, которые имеют семантику вложенных полей (то есть типизированные подполя, которые Всё ещё денормализованы, но имеют стабильный тип сток), возвращаемое значение должно быть NestedFCMetadata, картой путей к обнаруженному подполю. Обнаружение полей при синхронизации будет дополнено этими вложенными типами. Это существенно отличается от того, как мы делаем для MongoDB, потому что хотя каждый тип столбца JSON и различается, но он будет выполняться при каждой синхронизации, поэтому он не может быть слишком медленным, даже на огромных таблицах и огромных денормализованных столбцах.
GlarusBI 0.42.0¶
Изменения в GlarusBI 0.42.0 затрагивает драйвера :sql
(включая :sql-jdbc
).
Non-SQL драйвера не требуют изменений.
0.42.0 вносит несколько существенных изменений в способ, которым процессор запросов SQL компилирует и определяет псевдонимы для предложений MBQL :field
. Для получения дополнительной информации см. PR #19384.
Если вы изменяли псевдонимы полей или таблиц, мы объединили множество перекрывающихся переменных и методов. Это означает, что вам может потребоваться удалить устаревшие реализации методов.
Значительные изменения¶
- Метод
metabase.driver.sql.query-processor/->honeysql
для сущности Field, например,
больше не вызывается. Вся компиляция теперь обрабатывается методом предложения MBQL :field
, например.
Если вы делали здесь что-то особенное, вам нужно вместо этого переместить этот специальный логин в [<driver> :field]
. (Однако вам может больше не понадобиться эта специальная логика - см. ниже.)
-
Предложения
:field
,:expression
и:aggregation-options
теперь содержат информацию о том, какие псевдонимы вы должны использовать для ссылки на них как в левой, так и в правой части SQLAS
или в другом месте запроса. См. PR #19610 для подробного обсуждения новой информации, далее именуемой /#19610/. -
Если у вас есть собственная реализация
->honeysql
для:field
или(class Field)
: методы->honeysql
для:field
должны использовать или заменить #19610, а не пытаться определить или переопределить его каким-либо другим способом.
Новые методы¶
-
metabase.driver/escape-alias
(перемещенный изmetabase.driver.sql.query-processor/escape-alias
, который был представлен в версии 0.41.0) теперь используется для генерации #19610 и постоянно используется в коде SQL QP. Если вам нужно преобразовать сгенерированные псевдонимы полей по какой-либо причине (например, для экранирования запрещенных символов), реализуйте этот метод. -
Был добавлен
metabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas
, который со временем заменитmetabase.driver.sql-jdbc.sync.interface/syncable-schemas
. Он служит той же цели, за исключением того, что он также передает шаблоны включения и исключения (например:auth*,data*
) в дальнейшие схемы фильтрации, которые будут синхронизированы.
Устаревшие методы и переменные¶
Следующие методы и переменные планируется удалить в GlarusBI 0.45.0, если не указано иное.
-
metabase.driver/format-custom-field-name
теперь не используется. Вместо этого реализуйтеmetabase.driver/escape-alias
. -
metabase.driver.sql.query-processor/escape-alias
был переименован вmetabase.driver/escape-alias
. Все остальное то же самое. -
metabase.driver.sql.query-processor/field-clause->alias
больше не использует необязательный параметрunique-name-fn
. Псевдонимы теперь делаются уникальными автоматически после экранирования; реализуйтеmetabase.driver/escape-alias
, если вам нужно сделать что-то дополнительно, прежде чем они станут уникальными. (Уникальные псевдонимы также экранируются во второй раз, если вам нужно сделать что-то /действительно/ особенное.) -
metabase.driver.sql.query-processor/field->alias
, который устарел в 0.41.0, теперь не используется в 0.42.0.
Реализация этого метода больше не имеет никакого эффекта. Реализуйте metabase.driver/escape-alias
вместо этого, если вам нужно сделать что-то особенное; используйте #19610, если вам нужно избежать псевдонима по той или иной причине. Этот метод Всё ещё планируется удалить в GlarusBI 0.44.0.
-
metabase.driver.sql.query-processor/*field-options*
теперь не используется и больше не связывается автоматически. Если по какой-либо причине вам нужны параметры поля, см. наш драйвер SQL Server для примера того, как его создать. -
metabase.driver.sql.query-processor/*table-alias*
теперь не используется и больше не связывается автоматически. Вместо этого используйте или переопределите:metabase.query-processor.util.add-alias-info/source-table
из #19610. -
metabase.driver.sql.query-processor/*source-query*
теперь не используется и больше не связывается автоматически. Вместо этого используйтеmetabase.driver.sql.query-processor/*inner-query*
, который всегда связан, даже если мы не находимся внутри исходного запроса. -
metabase.driver.sql.query-processor/field->identifier
теперь не используется. Внедрение этого метода больше не должно быть необходимым ни при каких обстоятельствах. Переопределите->honeysql
для[<driver> :field]
и манипулируйте #19610, если вам нужно сделать здесь что-то особенное. -
metabase.driver.sql.query-processor/prefix-field-alias
больше не используется. Раньше это было доступно, чтобы дать драйверам возможность избежать автоматически сгенерированных псевдонимов для объединенных полей. В этом больше нет необходимости, потому чтоmetabase.driver/escape-alias
автоматически генерирует псевдонимы. Имплементируйтеmetabase.driver/escape-alias
, если вам нужно сделать что-то дополнительно. -
metabase.driver.sql-jdbc.sync.interface/syncable-schemas
устарела в пользуmetabase.driver.sql-jdbc.sync.interface/filtered-syncable-schemas
(см. выше). Существующая реализация syncable-schemas по умолчанию в настоящее время вызываетfiltered-syncable-schemas
(сnil
фильтрами, т. е. операция фильтрации фактически не выполняется), но в конечном итоге она будет удалена.
удалённые методы и переменные¶
metabase.mbql.schema/DatetimeFieldUnit
, объявленный устаревшим в версии 0.39.0, теперь удален.
Старые версии¶
До 0.42.0 эта информация отслеживалась в нашей Wiki. Вы можете найти изменения для версий до 0.42.0 в таблице ниже:
Версия | Wiki страница |
---|---|
0.41.0 | изменения |
0.40.0 | Без изменений. |
0.39.0 | Без изменений. |
0.38.0 | изменения |
0.37.0 | изменения |
0.36.0 | изменения |
0.35.0 | изменения |