Skip to content

Releases: brucexx/heisenberg

partition expression replace & nested expression support

03 Aug 03:45
Compare
Choose a tag to compare

1.使用expression完美支持分片替换问题
2.支持insert批量以及select in的分片替换,以及支持嵌套问题
mysql> explain insert into test (id,name) values (1,'brucexx'),('2','brucexx');
No connection. Trying to reconnect...
Connection id: 1
Current database: *** NONE ***

+------------+----------------------------------------------------------+
| DATA_NODE | SQL |
+------------+----------------------------------------------------------+
| local_node | INSERT INTO test_01 (id, name) VALUES (1, 'brucexx') |
| local_node | INSERT INTO test_02 (id, name) VALUES ('2', 'brucexx') |
+------------+----------------------------------------------------------+
2 rows in set (0.31 sec)
mysql> explain select * from test where id in ('1',2,3,4,5,6);
+------------+----------------------------------------------+
| DATA_NODE | SQL |
+------------+----------------------------------------------+
| local_node | SELECT * FROM test_00 WHERE id IN (4) |
| local_node | SELECT * FROM test_01 WHERE id IN ('1', 5) |
| local_node | SELECT * FROM test_02 WHERE id IN (2, 6) |
| local_node | SELECT * FROM test_03 WHERE id IN (3) |
+------------+----------------------------------------------+
4 rows in set (0.08 sec)

mysql> explain select * from (select * from test union select * from test where id =1) as t where t.id in ('1',2,3,4,5,6);
+------------+--------------------------------------------------------------------------------------------------------------------+
| DATA_NODE | SQL |
+------------+--------------------------------------------------------------------------------------------------------------------+
| local_node | SELECT * FROM ((SELECT * FROM test_00) UNION (SELECT * FROM test_00 WHERE id = 1)) AS T WHERE t.id IN (4) |
| local_node | SELECT * FROM ((SELECT * FROM test_01) UNION (SELECT * FROM test_01 WHERE id = 1)) AS T WHERE t.id IN ('1', 5) |
| local_node | SELECT * FROM ((SELECT * FROM test_02) UNION (SELECT * FROM test_02 WHERE id = 1)) AS T WHERE t.id IN (2, 6) |
| local_node | SELECT * FROM ((SELECT * FROM test_03) UNION (SELECT * FROM test_03 WHERE id = 1)) AS T WHERE t.id IN (3) |
+------------+--------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.02 sec)

mysql> explain select t.name from (select * from test ) as t left join test on t.id=test.id where t.id in ('1',2,3,4,5,6);
+------------+----------------------------------------------------------------------------------------------------------------+
| DATA_NODE | SQL |
+------------+----------------------------------------------------------------------------------------------------------------+
| local_node | SELECT t.name FROM (SELECT * FROM test_00) AS T LEFT JOIN test_00 ON t.id = test.id WHERE t.id IN (4) |
| local_node | SELECT t.name FROM (SELECT * FROM test_01) AS T LEFT JOIN test_01 ON t.id = test.id WHERE t.id IN ('1', 5) |
| local_node | SELECT t.name FROM (SELECT * FROM test_02) AS T LEFT JOIN test_02 ON t.id = test.id WHERE t.id IN (2, 6) |
| local_node | SELECT t.name FROM (SELECT * FROM test_03) AS T LEFT JOIN test_03 ON t.id = test.id WHERE t.id IN (3) |
+------------+----------------------------------------------------------------------------------------------------------------+
4 rows in set (0.01 sec)

mysql> explain select t.name from (select * from test ) as t left join test on t.id = test.id where t.id =1 ;
+------------+--------------------------------------------------------------------------------------------------------+
| DATA_NODE | SQL |
+------------+--------------------------------------------------------------------------------------------------------+
| local_node | SELECT t.name FROM (SELECT * FROM test_01) AS T LEFT JOIN test_01 ON t.id = test.id WHERE t.id = 1 |
+------------+--------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

fix table replace bugs

23 Jul 10:41
Compare
Choose a tag to compare

select * from table1 like this table is not replacable ..

1.0.7 fix killChannel&读取数据递归BUGS

10 Jan 06:19
Compare
Choose a tag to compare

1.0.7 2017.1.10
1.修复killChannel的问题
2.修复读取数据递归问题

1.0.6 release

10 Nov 10:19
Compare
Choose a tag to compare

增加连接复用

连接利用提高效率

31 Oct 07:56
Compare
Choose a tag to compare
Pre-release

1.增加连接复用问题
2.提高多并发连接利用效率
3.消除连接阻塞问题

修复连接上存在buf等一系列 bugs

21 Apr 09:47
Compare
Choose a tag to compare
1.0.3.2

修复连接脏数据问题

mysql分库分表投产后第一个稳定版发布

12 Apr 14:54
Compare
Choose a tag to compare

功能log list

分库分表功能,自定义velocity脚本分库表功能

增加读写分离功能

修复多连接事务中断BUG

修改读写分离后dbIndex默认为1的情况

增加日志路径,配置路径,是否调试部署脚本可配置化

增加perf,sql,route的分析日志功能,大于300ms就到sql-perf.log中去

优化log4j.xml日志配置