1月7日,企业级开源分布式中间件DBLE 新版本 2.18.12.0 发布,本次新版对一些可透传的复杂查询做了优化处理,不再拆分并下发而是直接透传;升级了 druid 的依赖;解决了一些由于解析器不支持的 SQL 支持度问题;修复了大量社区和专业测试团队提交的 issue,多到需要翻页。

dble 新版本 2.18.12.0 发布, 下载地址:

https://github.com/actiontech/dble/releases

附件包含中文PDF文档,对应online文档地址:

https://actiontech.github.io/dble-docs-cn/

Features:

  • Support MySQL Protocol::AuthSwitchRequest #819
  • Optimize Query Plan: Some queries can be sent to one datanode in fact, no need to rewrite and push down.#752
  • Support DDL: create table tbl_name { LIKE old_tbl_name | (LIKE old_tbl_name) } #757
  • Upgrade Druid from 1.0.31 to 1.1.10 #749
  • The log of config error can’t tell which property make it #905
  • Add manager command of show @@Alert (for enterprise edition)

Bug-fixes:

  • When useJoinStrategy, join with limit and use nest loop in fact, the Explain result lost rows #777
  • The error log is too simple when dble can not connection to backend connection #765
  • Complex query got syntax error which caused by string in “group by” #779
  • Query statements with 2 subqueries can cause thread safty problem #917
  • Global table union with none global table get unexpect unreadable error:ERROR 1105 (HY000): Index: 2, Size: 2 #860
  • “order by” can’t work fine in sharding table #889
  • Unreasonable error message when explain help #899
  • Close the session while doing DDL, the DDL lock may not be removed #797
  • show index from global_table/*abc*/ may be route to default datanode #892
  • Reload return detail when Error “other session doing DDL” #900
  • “unexpected packet” log in dble.log when execute subquery in dble and commit #897
  • COM_STMT_SEND_LONG_DATA handle error #869
  • Inappropriate hints when explain view #837
  • Can’t support Escape character in prepare statement:prepare stmt from ‘insert into aly_test values(111,111,’test中id为1′,111)’; #872
  • management cmd “reload @@query_cf” does not work #875
  • Can not reflect view under view list after creating the view correctly #825
  • For .net connector 6.8.8, can’t connect to dble with the port 9066 #878
  • It will show wrong table schema and duplicate table names on the table list after we click the ‘design table’ #824
  • Dbeaver gui can’t display the table list correctly #829
  • View will not reflect on the schema list and can’t dispay the right content after executing the sql ‘show create view view_tt;’ #827
  • Meta data check should ignore AUTO_INCREMENT difference #867
  • MySQL Workbench8.0 does not show the global table ‘test’ #842
  • Rollback with hint will send to schema default datanode #533
  • dble parses empty column for int to NULL while mysql parses to 0 in [load data …] query #768
  • System parameter maxCon is invalid after a connection failure #838
  • Error when querying data from mysql table named keys #798
  • Error while using the keyword as the view name in the “show create view” statement #856
  • Insert statements involving multiple nodes will be stored in the slow log #807
  • Union syntax, select a column twice got error #790
  • Add order by for the entire UNION result will get wrong result #791
  • [select * from sharding_two_node where id is null] gets lost connection … #800
  • Without default database explain failed even referring database at table quote #813
  • Error when insert contains scheam name in the no_sharding table #836
  • [select count(distinct col1,col2) from … group by col2] get different result from mysql Aggregate function #845
  • Error when the global table is joined with the non-split table and the two tables have a shared node #848
  • [select sec_to_time(sum(time_to_sec(t))) from a_manager] get error result Aggregate function #814
  • [select * from aly_test where id =ALL(select 1);] success but explain failed #796
  • Function group_concat ([order by … desc…]), ‘order by’ and ‘desc’ do not work as same as mysql #820
  • Incorrect result on select contains stddev() #844
  • Some datanodes cannot be connectted when macCon <= the number of datanode #822
  • Error when insert into sharding column null while it has default null value #831
  • Insert into sharding column(type timestamp) null while it has default not null value will violate sharding expectation #815
  • Error,when the join clause contains STR_TO_DATE() and conditional_expr is a non-split column #817
  • Parses empty line different with mysql in [load data …] query #769
  • Incorrect result on show @@connection.sql.EXECUTE_TIME when the execution time of query<1ms #785
  • writeHost in schema.xml should support “weight” #793
  • NPE when the data of the insert exceeds the character length in the case of opening the slow log #783
  • [load data …] without default database got npe #776
  • [create table if not exists test_table(id int)] got error if table already exists #784
  • Navicat Premium 12 can not connect dble driver #633
  • Parser Error when index contains comment #495
  • [check full @@metadata] gives global table metadata right while the table is not exist in some datanode #786
  • Druid can’t discriminate between “set session tx_variables,xxx” and “set tx_variables,xxx” #316
  • SQL parser can not tell the difference of ~id =1 and ~(id =1) #302
  • Error when select syntax contains two ignore key(key_name) #413
  • Error when create statement contains the option of “algorithm” #258
  • Error on index_hint_list which contains multiple index hints #272
  • [management-command]JDBC5.1.31 can not connect manager port #680
  • Escape character has been lost #295
  • [lock table … write] cannot be parsed by druid #744
  • When lower_case_table_names =1, error caused by schema_name case sensitive #771
  • Query in dble returns “0” while the same query in mysql returns “null” #760

先好好读 Release note 原文,近期我们会有重点 issue 的修复解析文章哦,敬请期待!

· 感谢您对DBLE的支持!

· 欢迎关注「爱可生开源社区」公众号,更多精彩技术文章持续推送;

· 欢迎加入DBLE官方QQ群:669663113;

· 与更多一线用户和开发者密切交流;