Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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 README.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ engine. In Tomcat, Spark or Flink this decides where the driver goes. See
| ✅ | Bounded memory on results far larger than the heap |
| ✅ | Host JVM signal handlers preserved — see [signal handlers](docs/signal-handlers.md) |
| ✅ | Native loading from the platform JAR, or a directory you point at |
| 🚧 | Framework smoke tests (Spring, HikariCP, ShardingSphere) |
| 🚧 | Framework smoke tests — HikariCP, MyBatis and jOOQ pass, and nothing on the full `DatabaseMetaData` surface throws; Spring `JdbcTemplate` is next, and ShardingSphere cannot parse a `jdbc:chdb:` URL at all — see [under a framework](docs/unsupported.md#under-a-framework) |
| 🚧 | Soak tests; full-process ASan, which needs an upstream sanitizer build of chdb-core |
| 🚧 | Maven Central publishing — nothing is released yet |
| ❌ | Transactions, batch updates, scrollable/updatable result sets, `CallableStatement` |
Expand Down
70 changes: 70 additions & 0 deletions chdb-integration-tests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
because they make a plain `mvn verify` under LD_PRELOAD work on Linux. Both loaders
ignore an empty value, so setting them unconditionally costs nothing.
-->
<!-- Named once because the ShardingSphere modules below have to move together. -->
<shardingsphere.version>5.5.3</shardingsphere.version>

<chdb.it.sanitizer.preload></chdb.it.sanitizer.preload>
<chdb.it.asan.options></chdb.it.asan.options>
<chdb.it.ubsan.options></chdb.it.ubsan.options>
Expand Down Expand Up @@ -96,6 +99,73 @@
<version>2.0.13</version>
<scope>test</scope>
</dependency>

<!--
Issue #11's frameworks. Also test scope: chdb-jdbc has no third-party runtime dependency
and adding one here must not create one, which `mvn -pl chdb-jdbc dependency:tree` shows.

Version choice is again "the last release that still runs on Java 11", for the same reason
as HikariCP above.

* MyBatis 3.5.19 is Java 8 bytecode and every one of its own dependencies is optional,
so it costs ognl and javassist and nothing else. ognl is needed because MyBatis
evaluates even a trivial mapper expression through it.
* jOOQ 3.16.23 is the last Java 11 release of the Open Source Edition. 3.17.0 is
compiled to class file 61 (Java 17), verified by reading DSLContext.class out of the
published jar. It is also before jOOQ shipped a ClickHouse dialect, so this exercises
SQLDialect.DEFAULT, which is what an unrecognised driver gets from any jOOQ version.
-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.19</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.4.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<version>3.16.23</version>
<scope>test</scope>
</dependency>

<!--
ShardingSphere 5.5.3, which is Java 8 bytecode and so does not move the floor.

Present for a narrower purpose than the other three. ShardingSphere cannot be wired to
this driver at all, so there is no smoke test to run; ShardingSphereIT establishes why,
and the cause is upstream's URL parser rather than anything the driver does. These three
modules are what it takes to pin that blocker in a test that will start failing if
ShardingSphere fixes it: the driver itself, its ClickHouse connector (whose
ClickHouseDatabaseType is what claims "jdbc:chdb"), and the HikariCP pool metadata that
shardingsphere-jdbc keeps at test scope in its own pom.

The sharding rule, SQL parser and mode repository a working setup would also need are
deliberately absent: nothing here gets far enough to load them.
-->
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc</artifactId>
<version>${shardingsphere.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-infra-data-source-pool-hikari</artifactId>
<version>${shardingsphere.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-database-connector-clickhouse</artifactId>
<version>${shardingsphere.version}</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Loading
Loading