- Sharding-JDBC-Server发布. 支持以数据库的形式使用Sharding-JDBC, 全面提供对MySQL命令行以及图形化客户端的支持
- ISSUE #608 支持MySQL的USE语句
- ISSUE #609 支持MySQL的SHOW语句
- ISSUE #610 优化不包含表的DQL
- ISSUE #611 支持MySQL的DESC语句
- ISSUE #600 支持TCL
- ISSUE #522 读写分离Slave库不需要执行DDL语句
- ISSUE #540 梳理并支持别名为关键字SQL
- ISSUE #577 支持YAML配置换行
- ISSUE #475 支持CREATE INDEX
- ISSUE #525 支持DROP INDEX
- ISSUE #520 引入分表后,唯一键冲突时异常类型不再是DuplicateKeyException
- ISSUE #521 YAML文件中ShardingProperties设置无效
- ISSUE #529 表名大写无法查询
- ISSUE #541 无法解析IS NOT NULL
- ISSUE #557 GroupBy和OrderBy仅别名不一致问题应使用流式归并
- ISSUE #559 支持解析以负号和小数点开头的数字(如:-.12)
- ISSUE #567 MySQL补列时增加转义符以防止使用关键字作为列名或别名导致错误
- ISSUE #489 SpringName使用RuntimeBeanReference防止创建InnerBean
- ISSUE #496 分片配置中逻辑表名可以大小写不敏感
- ISSUE #497 注册中心优雅关闭
- ISSUE #490 Oracle使用rownum大于等于或小于等于分页结果不正确
- ISSUE #491 通过ResultSet.getStatement().getConnection().close()无法释放连接
- API调整. 全新的Maven坐标名称, 包名称和spring命名空间名称. 简化和提升API配置, inline表达式全配置支持
- 提供sharding-jdbc的spring-boot-starter
- 配置动态化. 可以通过zookeeper和etcd作为注册中心动态修改数据源以及分片配置
- 数据治理. 熔断数据库访问程序对数据库的访问和禁用从库的访问
- ConfigMap支持. 可以在分片和读写分离策略中获取预定义的元数据
- 跟踪系统支持. 可以通过sky-walking等基于Opentracing协议的APM系统中查看sharding-jdbc的调用链
- ISSUE #386 支持SELECT 1这种不包含表名称的SQL
- ISSUE #407 sharding-jdbc的spring-boot-starter兼容使用减号和驼峰两种方式进行属性配置
- ISSUE #424 提供SQL总体执行情况事件
- ISSUE #387 当函数 + 列名中存在'`'防止关键字时处理出错
- ISSUE #394 无法单独close statement
- ISSUE #398 使用Hint路由屏蔽表和列名称的大小写区别
- ISSUE #404 sharding-jdbc的spring-boot-starter不支持HikariDataSource
- ISSUE #419 SQL改写时, 未判断别名是否为关键字未加转义符导致了SQL异常
- ISSUE #436 读写分离多从库配置RoundRobin算法并使用MyBatis时,只能路由到同一从库
- ISSUE #452 DDL语句分片至多个表会造成连接泄漏的问题
- ISSUE #453 编排治理数据源配置name与Druid数据源name冲突
- ISSUE #464 SQL如果varchar类型由于没有匹配单引号并未关闭, 而恰好sql中的下一个varchar又是汉字的错误SQL, 将导致CPU使用增高
- ISSUE #472 Connection执行createStatement之前, 先调用getMetaData再setAutoCommit无法对之后创建的数据库真实连接生效
- ISSUE #382 使用完全未配置分片策略的表无法完成查询
- ISSUE #356 在SQL的Where条件中兼容不是分片列的REGEXP操作符
- ISSUE #362 读写分离使用PreparedStatement并未调用setParameter方法导致出错
- ISSUE #370 使用原生自增主键调用getGeneratedKeys出错
- ISSUE #375 路由至单节点的分页第二页以后的查询取不到数据
- ISSUE #379 使用Mybatis时框架调用Connection.getMetaData()时释放连接不正确
- ISSUE #98 读写分离负载均衡策略支持配置
- ISSUE #196 读写分离与分库分表配置独立
- ISSUE #349 ResultSet.wasNull功能不正确导致DB中的数字类型空值取出为零
- ISSUE #351 包含在默认数据源但不在TableRule配置的表无法正确执行
- ISSUE #353 在SQL的Where条件中兼容不是分片列的!=, !> 和 !< 操作符
- ISSUE #354 在SQL的Where条件中兼容不是分片列的NOT操作符
- 质量保障的测试引擎,每条SQL可以运行60个不同维度的测试用例
- ISSUE #335 支持GROUP BY + 自定义函数的SQL
- ISSUE #341 支持Oracle中的ORDER BY xxx NULLS FIRST | LAST 语句
- ISSUE #334 解析有函数的ORDER BY会将后面的ASC, DESC解析到OrderItem的name属性中
- ISSUE #335 使用表全名关联的JOIN解析不正确
- ISSUE #346 DDL语句 DROP TABLE IF EXISTS USER 解析表明错误
- ISSUE #314 支持DDL类型的SQL
- ISSUE #327 默认关闭sql.show配置
- ISSUE #308 数据库原生的自增GeneratedKey的返回无效
- ISSUE #309 子查询中的ORDER BY和GROUP BY不列入解析上下文
- ISSUE #313 支持<>操作符
- ISSUE #317 LIMIT参数不能是Long类型
- ISSUE #320 GROUP BY + LIMIT的SQL改写错误
- ISSUE #323 解析ORDER BY + 聚合表达式错误
- 全新的SQL解析模块,去掉对Druid的依赖。仅解析分片上下文,对于SQL采用"半理解"理念,进一步提升性能和兼容性,并降低代码复杂度
- 全新的SQL改写模块,增加优化性改写模块
- 全新的SQL归并模块,重构为流式、内存以及装饰者3种归并引擎
- 增加对Oracle,SQLServer和PostgreSQL的支持
- 非功能型子查询支持
- ISSUE #256 可配置显示分片执行SQL日志
- ISSUE #291 用流式方式处理仅包含GroupBy的SQL
- 简化分布式自增序列。将每个表支持多自增序列简化为单表仅支持单一的分布式自增序列,并不再支持通过环境变量设置workerID。
- 去掉对OR的支持
- ISSUE #239 LIMIT路由至多查询结果集,若只有一个不为空的结果集,分页结果不正确
- ISSUE #263 分片列和逻辑表配置可忽略大小写
- ISSUE #292 内存方式处理GROUP BY语句如有分页信息则需改写
- ISSUE #295 LIMIT 0的情况并未按照分页限制条件过滤结果集
- ISSUE #219 线程性能优化
- ISSUE #215 流式排序的聚集结果集 StreamingOrderByReducerResultSet性能优化
- ISSUE #161 结果集归并的时候可以采用堆排序来提升性能
- ISSUE #212 对去缺少数据源规则给出更有意义的提示
- ISSUE #214 where中 table_name.column_name in (?,?)无法解析表达式
- ISSUE #180 批量执行Update返回值不准确
- ISSUE #225 自动生成Id最后一位不归零
- ISSUE #191 根据主机的IP生成workerId的KeyGenerator实现
- ISSUE #192 根据HOSTNAME的数字尾缀获取workerId的KeyGenerator
- ISSUE #210 路由到单库单表移除补充的SQL语句片段
- ISSUE #194 jdbc接口中资源释放错误
- ISSUE #199 分表且复用PreparedStatement对象造成数据路由错误
- ISSUE #201 批量操作执行前事件发送缺失
- ISSUE #203 合并batch操作发送的事件
- ISSUE #209 limit并行异常
自动生成键实现,包含
- ISSUE #162 分布式主键算法实现
- ISSUE #163 获取自增序列jdbc接口实现
- ISSUE #171 sharding-jdbc-core配合自动生成序列改造
- ISSUE #172 YAML与Spring的配置方式增加对于自增序列的支持
- ISSUE #176 AbstractMemoryResultSet对SQL的wasNull实现有问题
- ISSUE #59 PreparedStatement设置参数时可以根据参数类型调用正确的底层set方法
- ISSUE #149 INSERT IGNORE INTO时如果数据重了忽略时返回的成-1了,应该返回0
- ISSUE #118 同一个线程内先执行DQL后执行DML,DML操作在从库上执行
- ISSUE #122 bed的fail重试问题
- ISSUE #152 可能同一个connection多线程导致问题
- ISSUE #150 与最新SQLServer jdbc驱动兼容问题
- ISSUE #166 druid数据源stat过滤器多线程报错
- ISSUE #79 关于MySQL 分页limit
- ISSUE #36 ShardingPreparedStatement无法反复设置参数
- ISSUE #114 ShardingPreparedStatement执行批处理任务时,反复解析sql导致oom
- ISSUE #33 Limit支持问题
- ISSUE #124 com.dangdang.ddframe.rdb.sharding.jdbc.adapter.AbstractStatementAdapter.getUpdateCount返回值不符合JDBC规范
- ISSUE #141 多线程执行器参数设置失效
- ISSUE #85 读写分离
- ISSUE #82 TableRule可传入dataSourceName属性,用于指定该TableRule对应的数据源
- ISSUE #88 放开对其他数据库的限制,可支持标准SQL, 对个性化分页等语句不支持
- ISSUE #81 关联表查询使用or查询条件解析结果异常
- ISSUE #60 API调整,抽离ShardingDataSource,使用工厂代替
- ISSUE #76 ShardingRule和TableRule调整为Builder模式
- ISSUE #77 ShardingRule和TableRule调整为Builder模式
- ISSUE #61 在ShardingValue类中加入逻辑表名
- ISSUE #66 在JDBC层的Statement增加对get/set MaxFieldSize,MaxRows和QueryTimeout的支持
- ISSUE #72 对于select union all形式的批量插入支持
- ISSUE #78 简化只分库配置,无需配置逻辑表和真实表对应关系
- ISSUE #80 简化包含不分片库表的配置,可指定默认数据源,不分片无需配置TableRule
- ISSUE #63 ORDER BY与GROUP BY衍生列未添加表名或表别名
- ISSUE #65 解析条件上下文性能提升
- ISSUE #67 分片路由到多表时柔性事务日志无法删除
- ISSUE #71 路由单分片LIMIT的OFFSET计算错误
- ISSUE #75 MemoryTransactionLogStorage重试次数更新并发问题
- ISSUE #25 OR表达式下会出现重复结果问题
- ISSUE #39 增加使用暗示(Hint)方式注册分片键值的方式进行SQL路由的功能
- ISSUE #11 count函数在某些情况下返回不正确
- ISSUE #13 Insert 语句 没有写列名 进行了全路由
- ISSUE #16 改造多线程执行模型
- ISSUE #18 查询Count时,使用getObject()取数会报异常
- ISSUE #19 sum和avg函数,不加别名不执行merger,加了空指针异常
- ISSUE #38 JPA与Sharding-JDBC的兼容问题。JPA会自动增加SELECT的列别名,导致ORDER BY只能通过别名,而非列名称获取ResultSet的数据
- 初始版本