Mycat2 Versions Save

MySQL Proxy using Java NIO based on Sharding SQL,Calcite ,simple and fast

v1.22-2022-6-25

1 year ago

1.修复native模式update/insert发生出现阻塞的问题 2.优化blob接收逻辑 3.修复存储过程只能接收一个结果集的问题 4.支持设置Mycat会话的网络缓冲区 5.修复下推全局表后,数据分片中的分片条件丢失的问题 6.优化字段的非空属性判断逻辑 7.修复某些情况忽略主从心跳异常导致主从切换失败 8.支持SQL类型的权限拦截 9.修复单表路由(HackRouter)出现duplicate key错误 10.自动检查不活动的后端连接并回收 在datasource.json的removeAbandonedTimeoutSecond控制,默认180秒,不活动(没有sql操作)自动回收 11.支持clickhourse后端数据源(打包内置),使用的驱动是 <groupId>ru.yandex.clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> 0.3.2 xx.datasource.json { "dbType":"clickhouse", "type":"JDBC", "url":"jdbc:clickhouse://192.168.28.128:8123" ... } clickhourse后端数据源只支持select语句和insert语句,没有自增值返回 12.修复HTTP实现的分片算法,使用截断表语句,失效 13.修复使用native模式,出现ArrayStore异常 14.修复BKAJOIN报错 15.提供基于HTTP调用实现的分片算法(测试) 16.修复涉及BKAJOIN回表的情况下,生成的sql条件会全表扫描 17.修复生成sql带有重复字段,导致查询报错#706 18.升级BKAJOIN的条件生成算法,支持更多条件下推 19.修复涉及回表的情况下,行类型不匹配,全局二级索引没有生效 20.分片表支持1<col and col < 10 范围查询 21.修复全局索引表数量大于1的时候,无法使用全局索引表 22.修复BKAJOIN执行计划报错以及优化BKAJOIN的执行计划生成 23.新增全局表自增序列号的插入的三种方式 24.支持设置会话粘滞时间 25.user.json配置支持rsa加密(zyw提交代码) 26.修复drop表,在自动加载单表的情况下,需要执行两次 27.修复spm初始化的时候报编码错误 28.修复单表路由处理with子句的时候报错#697 29.完善drop表的功能(深圳-木先生-测试报告) 30.修复分片表不写分片条件或者全表扫描的时候,使用mysql index hint生成的sql错误#695 31.修复mycat库下的表没有主键,导致某些集群类型无法同步#698 32.完善drop逻辑表,这个版本之后会删除存储节点的数据 33.完善alter语句,支持自定义分片算法的分片表,自定义存储节点的单表/全局表,但不支持全局二级索引表 34.添加mysql后端连接泄露检查的功能(见数据源配置) 35.修复xa事务在不涉及跨库事务的情况下升级到了xa事务的问题(proxy事务没有影响) 36.修复xa事务在不跨库事务下保留了后端连接,导致读写分离失败以及后端连接因为长时间不活动被mysql关闭后,出现mycat的旧连接没有响应的情况(proxy事务没有影响) 37.添加若干个用于检查连接泄露的debug级别日志 该版本合拼了1.22分支的代码与1.22没有区别 38.支持会话粘滞 39.支持PHP-Admin(可能遇到获取不了表的情况,可以改动PHP-Admin的源码实现过滤没有表名) 40.完善全局序列号,null和0值的替换为自增值 41.修复PHP-Admin执行 SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA, (SELECT DB_first_level FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '', 1) DB_first_level FROM INFORMATION_SCHEMA.SCHEMATA WHERE TRUE ) t ORDER BY DB_first_level ASC LIMIT 0, 100) t2 WHERE TRUE AND 1 = LOCATE(CONCAT(DB_first_level, ''), CONCAT(SCHEMA_NAME, '_')) ORDER BY SCHEMA_NAME ASC; 42.修复回滚事务或者强制放弃druid jdbc连接有可能连接泄露,主要原因是druid强制放弃连接没有关闭连接 43.修复偶然回滚事务发生空指针错误导致连接泄露 44.修复TBPARTITION BY RIGHT_SHIFT 分表不均匀 #682 45.修复TBPARTITION BY RIGHT_SHIFT 分表不均匀 #682 46.insert语句的duplicate子句不限制表达式#678 47.分片表与全局二级索引表的insert语句支持duplicate子句 48.修复分片表describe 逻辑表在sqlyog报错 49.修复update语句对全局二级索引表没有进行set列剪裁以及出现参数化错误#673 50.修复show databases,使用单表覆盖information.schemata表,出现语法错误 51.修复全局二级索引使用二级索引字段报错#668 52.修复show databases,使用单表覆盖information.schemata表,出现语法错误 53.修复全局二级索引使用二级索引字段报错#668 54.修复虚拟表information.tables/information.columns因为生成的建表语句的库名表名带有关键字而不带``导致解析错误,这个错误不影响正常使用

  1. fix the blocking problem in the native mode update/insert
  2. optimize blob receiving logic
  3. fix the problem that the stored procedure can only receive one result set
  4. support setting the network buffer of MYCAT session
  5. fix the problem of missing sharding conditions in data sharding after the global table is pushed down
  6. non empty attribute judgment logic of optimized fields
  7. fix some cases where the master-slave handover fails due to ignoring the abnormal heartbeat of the master-slave
  8. support SQL type permission interception
  9. duplicate key error occurs when repairing the hackrouter
  10. automatically check inactive back-end connections and recycle In datasource The removeabandonedtimeoutsecond control of JSON is 180 seconds by default. Inactivity (no SQL operation) is automatically recycled
  11. support clickhour back-end data sources (packaged and built-in). The driver used is <groupId>ru. yandex. clickhouse</groupId> <artifactId>clickhouse-jdbc</artifactId> 0.3.2 xx. datasource. json { "dbType":"clickhouse", "type":"JDBC", "url":"jdbc:c lickhouse://192.168.28.128:8123 " ... } The clickhour backend data source only supports select and insert statements without self increment return
  12. repair the fragmentation algorithm implemented by HTTP, and use the truncated TABLE statement, which is invalid
  13. repair the arraystore exception when using native mode
  14. fix bkajoin error
  15. provide fragment algorithm based on HTTP call (test)
  16. when the repair involves bkajoin back to the table, the generated SQL conditions will be scanned in the whole table
  17. repair the generated SQL with duplicate fields, resulting in query errors \706
  18. upgrade the condition generation algorithm of bkajoin to support more condition push down
  19. when the repair involves a back table, the row types do not match, and the global secondary index does not take effect
  20. the partition table supports 1<col and col < 10 range query
  21. when the number of global index tables is greater than 1, the global index tables cannot be used
  22. fix the error of bkajoin execution plan and optimize the generation of bkajoin execution plan
  23. three methods for inserting auto incrementing s / N of a new global table
  24. support setting session stickiness time 25.user. JSON configuration supports RSA encryption (ZYW submission code)
  25. repair the drop table. When a single table is automatically loaded, it needs to be executed twice
  26. fix the coding error during SPM initialization
  27. fix the error reported when processing the with clause in the single table route \697
  28. improve the function of the drop table (Shenzhen - Mr. mu - Test Report)
  29. fix the SQL error generated by MySQL index hint when the shard table does not write shard conditions or when the whole table is scanned \695
  30. fix that the tables in the MYCAT library do not have a primary key, which makes some cluster types unable to synchronize \698
  31. improve the drop logical table. After this version, the data of the storage node will be deleted
  32. improve the alter statement, support the shard table of the user-defined sharding algorithm, and customize the single table / global table of the storage node, but do not support the global secondary index table
  33. add the MySQL backend connection leak check function (see data source configuration)
  34. fix the problem that XA transactions are upgraded to XA transactions without involving cross database transactions (proxy transactions have no impact)
  35. fix the problem that the XA transaction retains the back-end connection without cross database transactions, resulting in the failure of read-write separation and the old connection of MYCAT fails to respond after the back-end connection is closed by MySQL due to long-term inactivity (proxy transactions have no impact)
  36. add several debug level logs for checking connection leaks The code of 1.22 branch in this version is no different from that of 1.22
  37. support session stickiness
  38. support PHP admin (you may not be able to get the table, so you can change the source code of PHP admin to filter the table name)
  39. improve the global serial number, and replace null and 0 values with self increment
  40. repair PHP admin execution SELECT SCHEMA_ NAME FROM INFORMATION_ SCHEMA. SCHEMATA, (SELECT DB_first_level FROM ( SELECT DISTINCT SUBSTRING_INDEX(SCHEMA_NAME, '', 1) DB first_ level FROM INFORMATION_ SCHEMA. SCHEMATA WHERE TRUE ) t ORDER BY DB_ first_ level ASC LIMIT 0, 100) t2 WHERE TRUE AND 1 = LOCATE(CONCAT(DB_first_level, ''), CONCAT(SCHEMA_NAME, '')) ORDER BY SCHEMA_ NAME ASC;
  41. repairing rollback transactions or forcibly abandoning the Druid JDBC connection may lead to connection leakage. The main reason is that the Druid forcibly abandons the connection without closing the connection
  42. fix connection leakage caused by null pointer error in accidental rollback transaction
  43. repair tbpartition by right_ Shift uneven \682
  44. repair tbpartition by right_ Shift uneven \682
  45. The duplicate clause of the insert statement does not restrict the expression \678
  46. the insert statements of fragmented tables and global secondary index tables support the duplicate clause
  47. repair the partition table describe logic table to report an error in sqlyog
  48. fix the problem that the update statement does not trim the set column of the global secondary index table and the parameterization error occurs \673
  49. repair show databases and overwrite information with a single table Schemata table, syntax error
  50. fix the error reported by the global secondary index using the secondary index field \668
  51. repair show databases and overwrite information with a single table Schemata table, syntax error
  52. fix the error reported by the global secondary index using the secondary index field \668
  53. repair the virtual table information tables/information. Columns a parsing error occurs because the database name and table name of the generated table creation statement contain keywords but do not contain ` '. This error does not affect normal use

v1.21-2022-4-7

2 years ago

1.fix union all rewriting sql has error 2.support fullTableScanLimit 3.improve condition analyse 4.support C# client 5.supoort select dual push down 6.fix select 'x' alias wih '' 7.update guava to 31.0.1-jre 8.update mysql-connector-java to 8.0.25 9.update fastjson to 1.2.79 10.fix wrong lastMessage 11.support HAProxy ProxyProtocol 12.support fullTableScanException 13.remove unused jar 14.fix maven package 15.support slb 16.fix prerpare command reveives wrong date value 17.improve backend connection scheduler 18.fix record slow sql has wrong collation 19.support asyncDDL setting 20.fix dist join has died lock 21.add thread hint tool 22.add kill packet command 23.add pushShowOnPrototype setting 24.normal/global table 's delete/update statement supports join datasource 25.fix Colocated push lost mysql hint 26.add PartitionByDateEx function 27.add rewriteInsertBatchedStatementBatch setting 28.add xxx.user.json isolation setting 29.fix com.mysql.jdbc.PacketTooBigException: Packet for query is too large (23 > -1). You can change this value on the server by setting the max_allowed_packet' variable. 30.improve performance by remove autocommit/isolation in getting backend connection 31.logical database supports '-'' in name 32.shading table sql support json function -> 33.fix SELECT * FROM A WHERE aid IN (SELECT DISTINCT aid FROM B ) B is Sharding table ,aid is non unique column

v1.21-2022-2-18

2 years ago

1.add more Prometheus exporter info and fix it can not start Prometheus port 2.fix oom 3.fix mycat.sql_log table's sqlTime changed to bigint 4.fix can not rollback transcation when the mycat session closed.

v1.21-1-17

2 years ago
  1. Exception prompt for adding single table failed
  2. Fix the MHA cluster heartbeat statement error
  3. Explain statement supports displaying collocatedpushdown
  4. Fix the inconsistency between the fields of the back-end pull result set and the MYCAT CREATE TABLE statement. There is no exception prompt, but the empty result set is displayed
  5. Fix the error that the sortjoin optimization rule does not solve the parameterized expression
  6. Support select @ @ foreign_ KEY_ CHECKS,SELECT @@innodb_ file_ per_ table =1; The return values are fixed and used for compatibility with some frameworks
  7. Reconstruct the preprocessing, support sysbanch test, be compatible with the preprocessing statements of MySQL C client, and improve the deprecateeof compatibility
  8. Improve the partition tailoring and push down of < = > semantics
  9. The default JDBC querytimeout is 0
  10. Heartbeat configuration supports the showlog attribute to configure heartbeat log output
  11. Partitionbyprefixpattern / partitionbypattern / partitionbymurmurhash / partitionbyfilemap / autopartitionbylong support mapfile attribute
  12. Ignore the error of XA recoverylog when initializing the database, because XA is not used for read-write separation
  13. Partitionbypattern supports the defaultnode attribute
  14. The condition of update / delete statement supports table Expression for column
  15. Fix the problem that JDBC manager cannot load mongodb driver
  16. Fix the problem of not writing the alias 1054 unknown column in 'where clause' under a single node
  17. You can use SQL to create fragment tables without configuring C0 nodes
  18. Fix the null result set error of show global variables
  19. Failed to repair delete table configuration
  20. Utf8 code is used for repairing and building database, and now it has been changed to utf8mb4 code
  21. The repair meta information table has no built-in parameters
  22. Fix the error that DDL cannot be executed in parallel (#631)
  23. Support lock function
  24. Support virtual tables
  25. Support MYCAT UI

v1.21-2021-12-17

2 years ago

1.fix MGR cluster 2.make xa recovery that skip readonly connection 3.improve distinct/union/join push down 4.like operator icase insensitive 5.be divorced from prototype server(support visual system table) 6.support for logical view 7.support for physical stored procedures 8.support partition key based push down 9.support savepoint

v1.20-2021-12-17

2 years ago

fix MGR cluster

v1.20-2021-12-14

2 years ago

1.adapte dbeaver 2.where id = ,equals not case insensitive 3.support /+mycat:schema=ds2/ 4.fix Prometheus 5.fix pstmt use old param 6.fix DATE_SUB 7.fix union all merge resultset 8.support uuid function

v1.20-2021-10-21

2 years ago

1.replace simpleLogger to logback ,add kafka connector 2.fix showSlowSql 3.fix createTable hint 4.fix alter column statement 5.support desc schema.table 6.fix hide cast expr occurs Partition clipping failed 7.fix NlsString occurs error route sql

v1.20-2021-8-27

2 years ago

1.repair front end connection leaks 2.improve monitor 3.fix replica monitor occurs null exception