Skip to content

Release v2.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 15 Jan 22:11
· 64 commits to master since this release
677aadb

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 to myDataSource

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)')