Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
cancel-in-progress: true
runs-on: ubuntu-latest
env:
METABASE_TAG: v0.51.9.5
METABASE_TAG: v0.52.17.1
steps:
- name: Checkout the repository
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
name: "Build with Exasol ${{ matrix.exasol_version }}"
runs-on: ubuntu-latest
env:
METABASE_TAG: v0.51.9.5
METABASE_TAG: v0.52.17.1
steps:
- name: Free Disk Space
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
build:
runs-on: ubuntu-latest
env:
METABASE_TAG: v0.51.9.5
METABASE_TAG: v0.52.17.1
steps:
- name: Checkout the repository
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
:aliases
{:dev
{:extra-deps
{io.github.metabase/metabase {:git/tag "v0.51.9.5" :git/sha "0ca7df3"}}}
{io.github.metabase/metabase {:git/tag "v0.52.17.1" :git/sha "0ca7df3"}}}

; clojure -M:clj-kondo --lint src test --debug
:clj-kondo
Expand Down
6 changes: 3 additions & 3 deletions doc/changes/changes_1.0.9.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# metabase-driver 1.0.9, released 2025-08-??

Code name: Upgrade to Metabase v0.51.9.5
Code name: Upgrade to Metabase v0.52.17.1

## Summary

This release adapts the driver to Metabase v0.51.9.5.
This release adapts the driver to Metabase v0.52.17.1.

## Features

* #84: Upgraded to Metabase v0.51.9.5
* #84: Upgraded to Metabase v0.52.17.1
2 changes: 1 addition & 1 deletion doc/developer_guide/developer_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ If this reports another Java version, update `JAVA_HOME` and check again.

```sh
export METABASE_DIR=$HOME/git/metabase
export METABASE_VERSION=v0.51.9.5
export METABASE_VERSION=v0.52.17.1
git clone https://github.com/metabase/metabase.git $METABASE_DIR
git -C $METABASE_DIR fetch --all --tags
git -C $METABASE_DIR reset --hard
Expand Down
2 changes: 1 addition & 1 deletion doc/user_guide/user_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Metabase Version | Exasol Metabase Driver Version
-----------------|-------------------------------
v0.48.0 | 1.0.7
v0.50.36 | 1.0.8
v0.51.9.5 | 1.0.9
v0.52.17.1 | 1.0.9

### Upgrading the Driver

Expand Down
109 changes: 10 additions & 99 deletions scripts/exclude_tests.diff
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
diff --git a/test/metabase/api/database_test.clj b/test/metabase/api/database_test.clj
index c07bf34a84..92de61572a 100644
index 58b6e27b46..9eb9d0c7fe 100644
--- a/test/metabase/api/database_test.clj
+++ b/test/metabase/api/database_test.clj
@@ -474,31 +474,7 @@
Expand Down Expand Up @@ -35,7 +35,7 @@ index c07bf34a84..92de61572a 100644

(deftest update-database-test-2
(testing "PUT /api/database/:id"
@@ -1442,33 +1418,7 @@
@@ -1463,33 +1439,7 @@
(with-redefs [h2/*allow-testing-h2-connections* true]
(#'api.database/test-connection-details engine details)))

Expand Down Expand Up @@ -90,10 +90,10 @@ index 45a53762a8..e71a56f098 100644
(deftest ^:parallel only-connect-when-non-malicious-properties
(testing "Reject connection strings with malicious properties"
diff --git a/test/metabase/driver/sql_jdbc/connection_test.clj b/test/metabase/driver/sql_jdbc/connection_test.clj
index 640f44499a..25218c6652 100644
index 6ccfcdaa03..38e78134b4 100644
--- a/test/metabase/driver/sql_jdbc/connection_test.clj
+++ b/test/metabase/driver/sql_jdbc/connection_test.clj
@@ -118,6 +118,9 @@
@@ -119,6 +119,9 @@
:redshift
(assoc details :additional-options "defaultRowFetchSize=1000")

Expand All @@ -103,95 +103,6 @@ index 640f44499a..25218c6652 100644
:databricks
(assoc details :log-level 0)

diff --git a/test/metabase/driver_test.clj b/test/metabase/driver_test.clj
index 823944f5a9..bd6e12d4a1 100644
--- a/test/metabase/driver_test.clj
+++ b/test/metabase/driver_test.clj
@@ -83,82 +83,9 @@
:field-definitions [{:field-name "foo", :base-type :type/Text}]
:rows [["bar"]]}]}))

-(deftest can-connect-with-destroy-db-test
- (testing "driver/can-connect? should fail or throw after destroying a database"
- (mt/test-drivers (mt/normal-drivers-with-feature :test/dynamic-dataset-loading)
- (let [database-name (mt/random-name)
- dbdef (basic-db-definition database-name)]
- (mt/dataset dbdef
- (let [db (mt/db)
- details (tx/dbdef->connection-details driver/*driver* :db dbdef)]
- (testing "can-connect? should return true before deleting the database"
- (is (true? (binding [h2/*allow-testing-h2-connections* true]
- (driver/can-connect? driver/*driver* details)))))
- ;; release db resources like connection pools so we don't have to wait to finish syncing before destroying the db
- (driver/notify-database-updated driver/*driver* db)
- (testing "after deleting a database, can-connect? should return false or throw an exception"
- (let [;; in the case of some cloud databases, the test database is never created, and can't or shouldn't be destroyed.
- ;; so fake it by changing the database details
- details (case driver/*driver*
- (:redshift :snowfake :vertica) (assoc details :db (mt/random-name))
- :oracle (assoc details :service-name (mt/random-name))
- :presto-jdbc (assoc details :catalog (mt/random-name))
- ;; otherwise destroy the db and use the original details
- (do
- (tx/destroy-db! driver/*driver* dbdef)
- details))]
- (is (false? (try
- (binding [h2/*allow-testing-h2-connections* true]
- (driver/can-connect? driver/*driver* details))
- (catch Exception _
- false))))))
- ;; clean up the database
- (t2/delete! :model/Database (u/the-id db))))))))
+; Test can-connect-with-destroy-db-test fails unrelated to Exasol

-(deftest check-can-connect-before-sync-test
- (testing "Database sync should short-circuit and fail if the database at the connection has been deleted (metabase#7526)"
- (mt/test-drivers (mt/normal-drivers-with-feature :test/dynamic-dataset-loading)
- (let [database-name (mt/random-name)
- dbdef (basic-db-definition database-name)]
- (mt/dataset dbdef
- (let [db (mt/db)
- cant-sync-logged? (fn []
- (mt/with-log-messages-for-level [messages :warn]
- (#'task.sync-databases/sync-and-analyze-database*! (u/the-id db))
- (some?
- (some
- (fn [{:keys [level e message]}]
- (and (= level :warn)
- (instance? clojure.lang.ExceptionInfo e)
- (re-matches #"^Cannot sync Database ([\s\S]+): ([\s\S]+)" message)))
- (messages)))))]
- (testing "sense checks before deleting the database"
- (testing "sense check 1: sync-and-analyze-database! should not log a warning"
- (is (false? (cant-sync-logged?))))
- (testing "sense check 2: triggering the sync via the POST /api/database/:id/sync_schema endpoint should succeed"
- (is (= {:status "ok"}
- (mt/user-http-request :crowberto :post 200 (str "/database/" (u/the-id db) "/sync_schema"))))))
- ;; release db resources like connection pools so we don't have to wait to finish syncing before destroying the db
- (driver/notify-database-updated driver/*driver* db)
- ;; destroy the db
- (if (contains? #{:redshift :snowflake :vertica :presto-jdbc :oracle} driver/*driver*)
- ;; in the case of some cloud databases, the test database is never created, and can't or shouldn't be destroyed.
- ;; so fake it by changing the database details
- (let [details (:details (mt/db))
- new-details (case driver/*driver*
- (:redshift :snowflake :vertica) (assoc details :db (mt/random-name))
- :oracle (assoc details :service-name (mt/random-name))
- :presto-jdbc (assoc details :catalog (mt/random-name)))]
- (t2/update! :model/Database (u/the-id db) {:details new-details}))
- ;; otherwise destroy the db and use the original details
- (tx/destroy-db! driver/*driver* dbdef))
- (testing "after deleting a database, sync should fail"
- (testing "1: sync-and-analyze-database! should log a warning and fail early"
- (is (true? (cant-sync-logged?))))
- (testing "2: triggering the sync via the POST /api/database/:id/sync_schema endpoint should fail"
- (mt/user-http-request :crowberto :post 422 (str "/database/" (u/the-id db) "/sync_schema"))))
- ;; clean up the database
- (t2/delete! :model/Database (u/the-id db))))))))
+; Test check-can-connect-before-sync-test fails unrelated to Exasol

(deftest supports-table-privileges-matches-implementations-test
(mt/test-drivers (mt/normal-drivers-with-feature :table-privileges)
diff --git a/test/metabase/query_processor/middleware/format_rows_test.clj b/test/metabase/query_processor/middleware/format_rows_test.clj
index 5978ac13ed..20f7624d29 100644
--- a/test/metabase/query_processor/middleware/format_rows_test.clj
Expand Down Expand Up @@ -229,7 +140,7 @@ index b78d1df0dd..beb3f1fbff 100644
(deftest ^:parallel validate-source-table-test
(testing "Should throw an Exception if there's a `:source-table` in the query that IS NOT a positive int"
diff --git a/test/metabase/query_processor_test/alternative_date_test.clj b/test/metabase/query_processor_test/alternative_date_test.clj
index 3eec93581c..ae0e465211 100644
index 0e094d07dc..6285ddfbd3 100644
--- a/test/metabase/query_processor_test/alternative_date_test.clj
+++ b/test/metabase/query_processor_test/alternative_date_test.clj
@@ -294,19 +294,8 @@
Expand Down Expand Up @@ -322,10 +233,10 @@ index 507902de93..71d4127d25 100644
(def ^:private charsets
{:ascii (into (vec (for [i (range 26)]
diff --git a/test/metabase/query_processor_test/parameters_test.clj b/test/metabase/query_processor_test/parameters_test.clj
index fa4eca2656..2912387029 100644
index d499734e8d..0724fa20fd 100644
--- a/test/metabase/query_processor_test/parameters_test.clj
+++ b/test/metabase/query_processor_test/parameters_test.clj
@@ -396,23 +396,8 @@
@@ -401,23 +401,8 @@
[_driver _feature _database]
false))

Expand Down Expand Up @@ -403,14 +314,14 @@ index 6e7735e452..fd4e96119a 100644
- (sort-by :name)))))))))))))
+; Test sync-fks-and-fields-test fails unrelated to Exasol.
diff --git a/test/metabase/test/initialize.clj b/test/metabase/test/initialize.clj
index f9b32da937..0cb97eda18 100644
index 7106a60a9b..a489b306e3 100644
--- a/test/metabase/test/initialize.clj
+++ b/test/metabase/test/initialize.clj
@@ -22,7 +22,7 @@
@@ -23,7 +23,7 @@
(str/join "\n" [border body border])
"\n")))))

-(def ^:private init-timeout-ms (u/seconds->ms 60))
-(def ^:private init-timeout-ms (u/seconds->ms 90))
+(def ^:private init-timeout-ms (u/seconds->ms 120)) ; Integration tests fail on GitHub Action with a timeout

(def ^:private ^:dynamic *initializing*
Expand Down
3 changes: 2 additions & 1 deletion src/metabase/driver/exasol.clj
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@
:metadata/keys-constraints true
:describe-fks true
:test/time-type false
:test/timestamptz-type false}]
:test/timestamptz-type false
:test/cannot-destroy-db false}]
(defmethod driver/database-supports? [:exasol feature] [_ _ _] supported?))

(defmethod sql.qp/quote-style :exasol
Expand Down
Loading