Release v2.0.0
2.0.0 is a complete rewrite with more features and improved performance, but it's not fully backward compatible. If you're using 1.x, you'll need to:
- define your named datasources in JSON file like
<work directory>/config/datasources/myDataSource.json
- change datasource part in your query from
datasource://myDataSource
tomyDataSource
Highlights of this release:
- arbitrary query as long as underlying datasource is supported
select * from jdbc('mariadb', 'desc test_table') select * from jdbc('mariadb', 'select * from test_table limit 10')
- connection pooling for database and metrics for monitoring
- mutation support
select * from jdbc('self?mutation', 'create table if not exists system.test_table(a String, b UInt8) engine=Memory()') create table if not exists system.jdbc_table (a String, b UInt8) engine=JDBC('self?batch_size=1000', 'system', 'test_table'); insert into system.jdbc_table(a, b) values('a', 1); select * from jdbc('self?mutation', 'insert into system.jdbc_table(a, b) values('b', 2)'); select * from system.test_table;
- inline schema and type mapping in datasource configuration
select * from jdbc('mariadb', 'value Enum(''A''=1, ''B''=2)', 'select 1 as value') select * from jdbc('postgresql', 'value Decimal(10,3)', 'select 1.23 as value')
- scripting(experimental)
select * from jdbc('script', '"1,2,3".split(",").map(Number)')