MySQL Proxy using Java NIO based on Sharding SQL,Calcite ,simple and fast
GPL-3.0 License
Bot releases are hidden (Show)
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后端数据源(打包内置),使用的驱动是
ru.yandex.clickhouse
clickhouse-jdbc
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因为生成的建表语句的库名表名带有关键字而不带``导致解析错误,这个错误不影响正常使用
Published by junwen12221 over 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
Published by junwen12221 over 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.
Published by junwen12221 over 2 years ago
1.fix JdbcConnectionManager has replica cache
2.fix MHA/MGR replica that can not switch master
3.fix create table meets readonly exception
4.fix heartbeat exception when mycat starting up.
5.fix show collation where Charset = 'utf8mb4' and Collation = 'utf8mb4_bin
6.fix heartbeat query read_only
7.fix heartbeat query read_only
8.fix showUsers
Published by junwen12221 almost 3 years ago
Published by junwen12221 almost 3 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
Published by junwen12221 almost 3 years ago
fix MGR cluster
Published by junwen12221 almost 3 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
Published by junwen12221 almost 3 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
Published by junwen12221 about 3 years ago
1.repair front end connection leaks
2.improve monitor
3.fix replica monitor occurs null exception
Published by junwen12221 about 3 years ago
1.add config forcedPushDownBroadcast = false
2.impr mycat ui
3.fix global table push down
Published by junwen12221 about 3 years ago
1.fix mycat ui
2.support
SET SESSION TRANSACTION READ WRITE
SELECT @@session.transaction_read_only
SET SESSION TRANSACTION READ ONLY
Published by junwen12221 about 3 years ago
fix mycat ui
Published by junwen12221 about 3 years ago
1.fix normal table : wrong table mapping
2.fix insert blob
3.fix PartitionByFileMap support BigInteger
4.improve readXARecoveryLog with instanceType(WRITE)
5.push down count/sum... cease to be effective
6.fix create table to create physical table
7.config:shading =>sharding
Published by junwen12221 about 3 years ago
1.support back connection connects timeout
2.only MySQL type datasources can create tables automatically
3.R/W support update/delete join
4.remove mapdb
5.add SQLCreateFunctionHandler/SQLDropFunctionHandler
6.fix prepare statement execute wrong long value
7.fix alter table statement #558
8.service unavailable due to repair exception 864b86417479568391d464bce19a97297ced5e61
9.support heidisql
10.fix PartitionByMonth,PartitionByHotDate
11.allow nested transactions
Published by junwen12221 over 3 years ago
fix MycatTableLookupSemiJoinRule occurs null exception(BKAJOIN)
Published by junwen12221 over 3 years ago
1.fix Colocated Push Down occurs null exception
2.two layer mapping cannot be used in the same field slicing algorithm
3.support replace statement
Published by junwen12221 over 3 years ago
1.When the delete update statement is used, it points to the slave node
2.Fix explain insert update
3.Showdatasources show duplicates
Published by junwen12221 over 3 years ago
https://github.com/MyCATApache/mycat2
1.19-2021-6-18
Support HINT
Compared with the previous version, some rule-based SQL update technology has been upgraded to cost-based SQL update technology, and LocalRel represents the operation of the storage node while MycatRel represents the operation in Mycat, which is the next step of calculation and storage (separation/storage) Mixed) Use senior analysis to prepare.
Simple support for MySQL index comments, and MySQL comments can be attached to the SQL that generates the index node
Fix kill COMMAND
Improve sharding (on-site sub-database and table with the same algorithm
Fix resultset cache failure
Upgrade connection scheduler
Fix the connection problem of deleting the X log in the XA transaction, and the A connection cannot be released
Fix the problem that the thread pool cannot handle multiple tasks at the same time (performance is greatly improved)
Re-support colocate pushdown, that is, as long as SQL in some cases, such as involving a mysql, an ER group, push down the entire SQL completely, and no longer combine operations in mycat
Fix MycatUnion error
Fix the problem that the execution plan management compiles the SQL template in parallel while compiling repeatedly for the first time
https://github.com/MyCATApache/mycat2
1.19-2021-6-18
schema配置中单表,全局表,分片表的datanode配置名字变更
https://www.yuque.com/ccazhw/ml3nkf/00d1d4fc145edf34b2d13fcd95908722
支持路由注释(读写分离,透传SQL下发,分区剪裁)
与上一个版本对比,部分基于规则的SQL重写技术升级为使用基于代价的SQL重写技术,并引入LocalRel表示存储节点的运算而MycatRel表示Mycat中的运算,为下一步计算与存储(分离/混合)使用代价分析做准备
简单支持MySQL index 注释,可以在生成存储节点的SQL中带有MySQL的索引注释
修复kill命令
完善分片算法(对于相同字段的分库分表,表名默认使用全局物理表下标表示),修复日期类型报错,从旧版本升级的mycat2需要检查配置的数据分布与mysql中的数据分布是否对应
修复结果集缓存失效
升级连接调度器
修复XA事务中删除XA日志的连接偶然出现阻塞导致连接不能释放的问题
修复线程池不能同时处理多个请求任务的问题(性能大大提高)
重新支持colocate push down,即只要SQL在一些情况,比如涉及一个mysql,一个ER组,就会把整个SQL完全下推,不再在mycat里合拼运算
修复MycatUnion报错
修复执行计划管理在第一次编译SQL模板的时候存在并行重复编译的问题
Published by junwen12221 over 3 years ago