Adds Metabase 0.51.x support.
- Added a configuration field (under the "advanced options", hidden by default) to override certain ClickHouse settings (#272).
- Fixed null pointer exception on CSV insert (#268, crisptrutski).
- Fixed an error that could occur while setting roles containing hyphens for connection impersonation (#266, sharankow).
- Fixed an error while uploading a CSV with an offset datetime column (#263, crisptrutski).
- The driver no longer explicitly sets
allow_experimental_analyzer=0
settings on the connection level; the new ClickHouse analyzer is now enabled by default.
- Fixed Array inner type introspection, which could cause reduced performance when querying tables containing arrays. (#257)
- Enabled
:set-timezone
(docs) Metabase feature in the driver. (#200) - Enabled
:convert-timezone
(docs) Metabase feature in the driver. (#254)
- The driver now uses
session_timezone
ClickHouse setting. This is necessary to support the:set-timezone
and:convert-timezone
features; however, this setting was introduced in 23.6, which makes it the minimal required ClickHouse version to work with the driver.
After Metabase 0.50.0, a new naming convention exists for the driver's releases. The new one is intended to reflect the Metabase version the driver is supposed to run on. For example, the driver version 1.50.0 means that it should be used with Metabase v0.50.x or Metabase EE 1.50.x only, and it is not guaranteed that this particular version of the driver can work with the previous or the following versions of Metabase.
- Added Metabase 0.50.x support.
- Bumped the JDBC driver to 0.6.1.
- Fixed the issue where the connection impersonation feature support could be incorrectly reported as disabled.
- The new ClickHouse analyzer, which is enabled by default in 24.3+, is disabled for the queries executed by the driver, as it shows some compatibilities with the queries generated by Metabase (see this issue for more details).
- The
:window-functions/offset
Metabase feature is currently disabled, as the default implementation generates queries incompatible with ClickHouse. See this issue for tracking.
Metabase 0.49.14+ only.
- Fixed the issue where the Metabase instance could end up broken if the ClickHouse instance was stopped during the upgrade to 1.5.0. (#242)
- Fixed variables substitution with Nullable Date, Date32, DateTime, and DateTime64 columns, where the generated query could fail with NULL values in the database due to an incorrect cast call. (#243)
Metabase 0.49.14+ only.
- Added Metabase CSV Uploads feature support, which is currently enabled with ClickHouse Cloud only. On-premise deployments support will be added in the next release. (calherries, #236, #238)
- Added Metabase connection impersonation feature support. This feature will be enabled by the driver only if ClickHouse version 24.4+ is detected. (#219)
- Proper role setting support on cluster deployments (related issue: #192).
- Bump the JDBC driver to 0.6.0-patch5.
- Metabase 0.49.x support.
- Fixed an incorrect substitution for the current day filter with DateTime columns. (#216)
- If introspected ClickHouse version is lower than 23.8, the driver will not use startsWithUTF8 and fall back to its non-UTF8 counterpart instead. There is a drawback in this compatibility mode: potentially incorrect filtering results when working with non-latin strings. If your use case includes filtering by columns with such strings and you experience these issues, consider upgrading your ClickHouse server to 23.8+. (#224)
- Fixed an issue where it was not possible to create a connection with multiple databases using TLS. (#215)
- Remove
can-connect?
method override which could cause issues with editing or creating new connections. (#212)
- Fixed incorrect serialization of
Array(UInt8)
columns (#209)
- Metabase 0.48.x support
- Fixed last/next minutes/hours filters with variables creating incorrect queries due to unnecessary
CAST col AS date
call.
Metabase 0.47.7+ only.
- Added datetimeDiff function support (#117)
Metabase 0.47.7+ only.
- Fixed UI question -> SQL conversion creating incorrect queries due to superfluous spaces in columns/tables/database names.
- Fixed
LowCardinality(Nullable)
types introspection, where it was incorrectly reported astype/*
(#203)
- Removed forward slash from serialized IPv4/IPv6 columns. NB: IPv4/IPv6 columns are temporarily resolved as
type/TextLike
instead oftype/IPAddress
base type due to an unexpected result in Metabase 0.47 type check. - Removed superfluous CAST calls from generated queries that use Date* columns and/or intervals
- Use HoneySQL2 in the driver
- Metabase 0.47 support
- Connection impersonation support (0.47 feature)
- More correct general database type -> base type mapping
DateTime64
is now correctly mapped to:type/DateTime
database-required
field property is now correctly set totrue
if a field is notNullable
- JDBC driver upgrade (v0.4.1 -> v0.4.6)
- Support DateTime64 by @lucas-tubi (#165)
- Use native
startsWith
/endsWith
instead ofLIKE str%
/LIKE %str
- Fixed temporal bucketing issues (see #155)
- Fixed Nippy error on cached questions (see #147)
- Fixed
sum-where
behavior where previously it could not be applied to Int columns (see #156)
- Hide
.inner
tables of Materialized Views. - Resolve
Map
base type totype/Dictionary
. - Database name can now contain multiple schemas in the UI field (space-separated by default), which tells the driver to scan selected databases. Separator can be set in
metabase.driver.clickhouse/SEPARATOR
. (@veschin)
- Now the driver is able to scan and work with
SimpleAggregateFunction
columns: those were excluded by mistake in 1.0.2.
- Metabase 0.46.x compatibility.
- Added cljc.java-time to dependencies, as it is no longer loaded by Metabase.
- Update JDBC driver to v0.4.1.
- Use new
product_name
additional option instead ofclient_name
- Replace
sql-jdbc.execute/read-column [:clickhouse Types/ARRAY]
withsql-jdbc.execute/read-column-thunk [:clickhouse Types/ARRAY]
to be compatible with Metabase 0.46 breaking changes once it is released.
- Fix
sql-jdbc.execute/read-column-thunk [:clickhouse Types/TIME]
return type.
- Adds a new "Scan all databases" UI toggle (disabled by default), which tells the driver to scan all available databases (excluding
system
andinformation_schema
) instead of only the database it is connected to. - Database input moved below host/port/username/password in the UI.
- Fixed NPE that could be thrown by the driver in case of empty database name input.
- As the underlying JDBC driver version does not support columns with
(Simple)AggregationFunction
type, these columns are now excluded from the table metadata and data browser result sets to prevent sync or data browsing errors.
Formal stable release milestone.
- Added HTTP User-Agent (via clickhouse-jdbc
client_name
setting) with the plugin info according to the language client spec
- Allow to bypass system-wide proxy settings #120
It's the first plugin release from the ClickHouse organization.
From now on, the plugin is distributed under the Apache 2.0 License.
- Using https://github.com/ClickHouse/clickhouse-jdbc
v0.3.2-patch11
NB: there are messages like this in the Metabase logs
2022-12-07 11:20:58,056 WARN internal.ClickHouseConnectionImpl :: [JDBC Compliant Mode] Transaction is not supported. You may change jdbcCompliant to false to throw SQLException instead.
2022-12-07 11:20:58,056 WARN internal.ClickHouseConnectionImpl :: [JDBC Compliant Mode] Transaction [ce0e121a-419a-4414-ac39-30f79eff7afd] (0 queries & 0 savepoints) is committed.
Unfortunately, this is the behaviour of the underlying JDBC driver now.
Please consider raising the log level for com.clickhouse.jdbc.internal.ClickHouseConnectionImpl
to ERROR
.
- Enable additional options for ClickHouse connection
- Compatibility with Metabase 0.44