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

 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 bussiness support)

 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 的修复解析文章哦,敬请期待!

01-08 16:42