Skip to content
Merged
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
13 changes: 7 additions & 6 deletions .github/workflows/check.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,32 +39,33 @@ jobs:
uses: actions/checkout@v2
with:
repository: metabase/metabase
ref: v0.49.12
ref: v0.57.6

- name: Checkout Driver Repo
uses: actions/checkout@v2
with:
path: modules/drivers/databend

- name: Prepare JDK 17
- name: Prepare JDK 23
uses: actions/setup-java@v2
with:
distribution: "temurin"
java-version: "17"
java-version: "23"

- name: Install Clojure CLI
run: |
curl -O https://download.clojure.org/install/linux-install-1.11.1.1182.sh &&
sudo bash ./linux-install-1.11.1.1182.sh

- name: Setup Node
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: "18"
cache: "yarn"
cache-dependency-path: "yarn.lock"

- name: Get M2 cache
uses: actions/cache@v2
uses: actions/cache@v4
with:
path: |
~/.m2
Expand All @@ -78,7 +79,7 @@ jobs:
ls -lah resources/modules

- name: Archive driver JAR
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: databend.metabase-driver.jar
path: resources/modules/databend.metabase-driver.jar
Expand Down
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
### Prerequisites

- [Leiningen](https://leiningen.org/)
- JDK 21 or newer (current builds target Metabase 0.56.x and above, which require Java 21+)

### Build from source

Expand Down Expand Up @@ -47,6 +48,11 @@
LEIN_SNAPSHOTS_IN_RELEASE=true DEBUG=1 lein uberjar
```

Notes:

- Use JDK 21+ when compiling; newer Metabase builds (0.56.x and above) depend on Java 21 APIs and will fail on older JDKs.
- This driver version is intended for Metabase 0.56.x and later. For older Metabase releases, use the matching driver version from the table below.

5. Let's assume we download `metabase.jar` from the [Metabase jar](https://www.metabase.com/docs/latest/operations-guide/running-the-metabase-jar-file.html) to `~/metabase/` and we built the project above. Copy the built jar to the Metabase plugins directly and run Metabase from there!

```shell
Expand All @@ -72,4 +78,4 @@ You should see a message on startup similar to:
| 0.42.x | 0.0.5 |
| 0.44.x | 0.0.6 |
| 0.47.7+ | 0.0.7 |
| 0.49.x | 0.0.8 |
| 0.49.x | 0.0.8 |
2 changes: 1 addition & 1 deletion deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
["src" "resources"]

:deps
{com.databend/databend-jdbc {:mvn/version "0.0.7"}
{com.databend/databend-jdbc {:mvn/version "0.4.2"}
com.widdindustries/cljc.java-time {:mvn/version "0.1.21"}}
:mvn/repos
{"releases" {:url "https://repo.repsy.io/mvn/databend/maven"}}
Expand Down
43 changes: 19 additions & 24 deletions metabase.pom
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>amalloy</groupId>
<artifactId>ring-buffer</artifactId>
<packaging>jar</packaging>
<version>1.3.1</version>
<name>ring-buffer</name>
<description>Persistent bounded-size queue implementation in Clojure</description>
<url>https://github.com/clj-commons/ring-buffer</url>
<groupId>scout</groupId>
<artifactId>scout</artifactId>
<version>0.1.0</version>
<name>scout</name>
<description>Functional string searching and matching for parsing.</description>
<url>http://example.com/FIXME</url>
<licenses>
<license>
<name>Eclipse Public License</name>
<url>http://www.eclipse.org/legal/epl-v10.html</url>
</license>
</licenses>
<scm>
<tag>ef3635c71182eac1b6ecfa216c14adf90fabd28e</tag>
<connection>scm:git:git://github.com/davidsantiago/scout.git</connection>
<developerConnection>scm:git:ssh://git@github.com/davidsantiago/scout.git</developerConnection>
<tag>2b825a7f8d8073b805ad37e0006dccd8d2d9efef</tag>
<url>https://github.com/davidsantiago/scout</url>
</scm>
<build>
<sourceDirectory>src</sourceDirectory>
Expand All @@ -25,28 +28,30 @@
</resource>
</resources>
<testResources>
<testResource>
<directory>dev-resources</directory>
</testResource>
<testResource>
<directory>resources</directory>
</testResource>
</testResources>
<directory>target</directory>
<outputDirectory>target/classes</outputDirectory>
<plugins/>
</build>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>clojars</id>
<url>https://repo.clojars.org/</url>
<url>http://clojars.org/repo/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
Expand All @@ -55,21 +60,11 @@
</releases>
</repository>
</repositories>
<dependencyManagement>
<dependencies/>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojure</artifactId>
<version>1.10.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojurescript</artifactId>
<version>1.10.520</version>
<scope>provided</scope>
<version>1.3.0</version>
</dependency>
</dependencies>
</project>
2 changes: 1 addition & 1 deletion project.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
:min-lein-version "2.5.0"

:dependencies
[[com.databend/databend-jdbc "0.0.7"]
[[com.databend/databend-jdbc "0.4.2"]
[clojure.java-time "0.3.2"]
]

Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
a99d82f92b21c5c761f0d2c8ac6b177e
842303d66671f38eeac0faf81dfb1e0e
Original file line number Diff line number Diff line change
@@ -1 +1 @@
cf45160a9fef4b0f3e15afdfcfa1ad063df70070
3a70ac07cecbf79c3e80c89d9b4a2eedd9f4c125
43 changes: 19 additions & 24 deletions repo/com/databend/metabase-core/1.40/metabase-core-1.40.pom
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>amalloy</groupId>
<artifactId>ring-buffer</artifactId>
<packaging>jar</packaging>
<version>1.3.1</version>
<name>ring-buffer</name>
<description>Persistent bounded-size queue implementation in Clojure</description>
<url>https://github.com/clj-commons/ring-buffer</url>
<groupId>scout</groupId>
<artifactId>scout</artifactId>
<version>0.1.0</version>
<name>scout</name>
<description>Functional string searching and matching for parsing.</description>
<url>http://example.com/FIXME</url>
<licenses>
<license>
<name>Eclipse Public License</name>
<url>http://www.eclipse.org/legal/epl-v10.html</url>
</license>
</licenses>
<scm>
<tag>ef3635c71182eac1b6ecfa216c14adf90fabd28e</tag>
<connection>scm:git:git://github.com/davidsantiago/scout.git</connection>
<developerConnection>scm:git:ssh://git@github.com/davidsantiago/scout.git</developerConnection>
<tag>2b825a7f8d8073b805ad37e0006dccd8d2d9efef</tag>
<url>https://github.com/davidsantiago/scout</url>
</scm>
<build>
<sourceDirectory>src</sourceDirectory>
Expand All @@ -25,28 +28,30 @@
</resource>
</resources>
<testResources>
<testResource>
<directory>dev-resources</directory>
</testResource>
<testResource>
<directory>resources</directory>
</testResource>
</testResources>
<directory>target</directory>
<outputDirectory>target/classes</outputDirectory>
<plugins/>
</build>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2/</url>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
<repository>
<id>clojars</id>
<url>https://repo.clojars.org/</url>
<url>http://clojars.org/repo/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
Expand All @@ -55,21 +60,11 @@
</releases>
</repository>
</repositories>
<dependencyManagement>
<dependencies/>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojure</artifactId>
<version>1.10.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.clojure</groupId>
<artifactId>clojurescript</artifactId>
<version>1.10.520</version>
<scope>provided</scope>
<version>1.3.0</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -1 +1 @@
419561bf2a35cfa4ece195698b6a6640
927bed85091e091f37059344817fd841
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8a10de8a144faafe7dd71decc36e0a2d9dc7af2e
c4afa795efeb3025ca9f9a5b4e8c37f1f5d59249
4 changes: 2 additions & 2 deletions repo/com/databend/metabase-core/maven-metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
<groupId>com.databend</groupId>
<artifactId>metabase-core</artifactId>
<versioning>
<release>1.41</release>
<release>1.40</release>
<versions>
<version>1.40</version>
<version>1.41</version>
</versions>
<lastUpdated>20240528085732</lastUpdated>
<lastUpdated>20251219034729</lastUpdated>
</versioning>
</metadata>
2 changes: 1 addition & 1 deletion repo/com/databend/metabase-core/maven-metadata.xml.md5
Original file line number Diff line number Diff line change
@@ -1 +1 @@
f5ab9f9594372558da4228baacdbb718
731b96f31e5a8c48a228d117fa1da59b
2 changes: 1 addition & 1 deletion repo/com/databend/metabase-core/maven-metadata.xml.sha1
Original file line number Diff line number Diff line change
@@ -1 +1 @@
344de6db540a64af1dd9f9d602aef2c1fccbc83f
f32a69d2cbb1ec187a478267cd32a5a39fc7aadf
7 changes: 4 additions & 3 deletions src/metabase/driver/databend.clj
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
[honey.sql :as sql]
[java-time :as t]
[medley.core :as m]
[metabase [config :as config] [driver :as driver] [util :as u]]
[metabase.config.core :as config]
[metabase.driver :as driver]
[metabase.util :as u]
[metabase.driver.ddl.interface :as ddl.i]
[metabase.driver.sql :as driver.sql]
[metabase.driver.sql.util :as sql.u]
Expand All @@ -21,7 +23,6 @@
[metabase.driver.sql-jdbc.sync.interface :as i]
[metabase.util.honey-sql-2 :as h2x]
[metabase.util.date-2 :as u.date]
[metabase.util.ssh :as ssh]
[schema.core :as s])

(:import
Expand Down Expand Up @@ -418,4 +419,4 @@

(defmethod driver.sql/set-role-statement :databend
[_ role]
(format "SET ROLE %s;" role))
(format "SET ROLE %s;" role))