Qiheng He created HIVE-28317: -------------------------------- Summary: Support HiveServer2 JDBC Driver's `initFile` parameter to directly read SQL files on the classpath Key: HIVE-28317 URL: https://issues.apache.org/jira/browse/HIVE-28317 Project: Hive Issue Type: Wish Reporter: Qiheng He
- Support HiveServer2 JDBC Driver's {*}initFile{*} parameter to directly read SQL files on the classpath. - In https://issues.apache.org/jira/browse/HIVE-5867 , the {*}initFile{*} parameter of HiveServer2 JDBC Driver is supported to read SQL files on absolute paths. However, this jdbcUrl parameter does not natively support paths on the {*}classpath{*}. This necessitates executing additional steps if one needs to read a file located on the {*}classpath{*}. {code:java} import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; import org.awaitility.Awaitility; import org.junit.jupiter.api.Test; import java.nio.file.Paths; import java.time.Duration; public class ExampleTest { @Test void test() { String absolutePath = Paths.get("src/test/resources/test-sql/test-databases-hive.sql") .toAbsolutePath().normalize().toString(); HikariConfig config = new HikariConfig(); config.setDriverClassName("org.apache.hive.jdbc.HiveDriver"); config.setJdbcUrl("jdbc:hive2://localhost:10000;initFile=" + absolutePath); try (HikariDataSource hikariDataSource = new HikariDataSource(config)) { Awaitility.await().atMost(Duration.ofMinutes(1L)).ignoreExceptions().until(() -> { hikariDataSource.getConnection().close(); return true; }); } } } {code} - It would greatly facilitate integration testing scenarios, such as those with {*}testcontainers-java{*}, if the {*}initFile{*} parameter could recognize classpath files by identifying a {*}classpath{*} prefix. For instance, a JDBC URL like {*}jdbc:hive2://localhost:10000;initFile=classpath:test-sql/test-databases-hive.sql{*} would become much more useful. - Further early discussions on this topic can be found at https://github.com/apache/shardingsphere/pull/31526 . -- This message was sent by Atlassian Jira (v8.20.10#820010)