- eorm: Distinct功能
- eorm: aop方案的支持
- eorm: 利用 aop 接口打印 SQL
- eorm: 插入忽略主键
- eorm: join查询
- eorm: 重构 JOIN 查询
- eorm: 新增子查詢
- eorm: 取消支持 Having 中使用 alias
- eorm: 删除 IsAutoIncrement 字段
- eorm: 删除 IsHolderType
- eorm: MasterSlaveDB实现
- eorm: 重构 Update 语句忽略零值和Nil
- eorm: 新增 ShardingSelector 实现
- eorm: 基于dns的slave发现
- eorm: 分库分表: Merger抽象与批量查询实现
- eorm: 增强的 ShardingAlgorithm 设计与实现
- eorm: 分库分表: Merger排序实现
- eorm: Datasource 抽象
- eorm: 分库分表: hash、shadow_hash算法不符合预期
- eorm: 分库分表: Merger分页实现
- eorm: BasicTypeValue重命名
- eorm: 分库分表: 范围查询支持
- eorm: 分库分表: 结果集处理--聚合函数(不含GroupBy子句)
- eorm: 修复单条查询时连接泄露问题
- eorm: 分库分表: NOT 支持
- eorm: 分库分表: 结果集处理--聚合函数(含GroupBy子句)
- eorm: 分库分表: Merger NullAble类型数据的支持(sortMerger)
- eorm: 补充 NULL 语义和基本类型之间转化的测试用例
- eorm: 分库分表: ShardingSelector GetMulti 使用 merge
- eorm: 分库分表:Inserter 支持分库分表
- eorm: ShardingInserter 修改为表维度执行
- eorm: 分库分表:ShardingUpdater 实现
- eorm: 分库分表:datasource-简单的分布式事务方案支持
- merger: 使用 sqlx.Scanner 来读取数据
- rows, merger: 使用 sqlx.Rows 作为接口,并重构 merger 包
- rows: 同库事务语句合并执行,提前读取所有数据
- script: 注释掉无用命令及代码、固定ci中golangci-lint的版本使其与setup.sh中版本保持一致
- doc: 修复README中不可用的贡献者指南链接
- feat(merger): 定义中立的特征表达数据、定义工厂方法根据特征数据来获取具体的merger
- refactor(merger): 重构AVG函数实现,重构所有rows.Rows实现的ConlumnType方法并添加测试
- feat(merger): 新增Distinct Merger
- refactor(merger): 去掉无用代码及过期注释,整理代码
- eorm: 结果集处理--聚合函数支持nullable类型的数据
- refactor(merger): 使用更宽松的比较机制来比较两个列的相等性
- Init Project
- Selector Definition
- Deleter Definition
- Updater Definition
- Rft: remove NilAsNullFunc
- Metadata API
- Add model register examples
- tagMetaRegistry: default implementation of MetaRegistry
- Rft: remove defaultRegistry
- Use
bytebufferpool
for builder - Refactor: move Insert function into db.file
- Selector implementation, excluding WHERE and HAVING clauses
- Ignore columns by Tag and Option
- Selector WHERE clause
- Support Aggregate Functions
- Updater implementation, excluding WHERE clause
- Force test and lint in pre-push
- Insert implementation
- Delete implementation
- Having implementation
- RawExpr accepts arguments
- Support having with alias functions
- Add
NewSelector
function - Support using
RawExpr
asPredicate
- Remove WithNil and WithZero function
- 改名为 eorm, 并且改为纯中文项目
- internal/value: 抽象 Value 接口与基于反射的实现
- eorm: 改为依赖 value 包来获取值
- eorm: 使用eorm作为标签名字
- eorm, valuer: 提供基于 unsafe 的 Value 实现
- eorm: 支持插入语句
- eorm: 支持SELECT的 GET 方法
- eorm: transaction API
- eorm, internal/valuer: 摒弃中间表达,直接依赖于 Scan
- eorm:修改 ErrNoRows 的语义,只有在 Get 才会返回
- all: Field 取代 FieldByName
- eorm: Delete的执行完成
- eorm:Update 补充 Exec 方法
- eorm: 支持使用组合定义模型
- eorm: 增加 Result 抽象
- eorm: 实现in查询功能
- eorm: 补充实现组合定义模型后的测试用例
- eorm: LIKE 查询
- eorm: GetMulti功能
- eorm: 支持基本类型作为返回值
- eorm: 为组合模型增加集成测试
- Add examples and docs for Aggregate and Assign
- Add examples for Column and columns
- Add examples for DB, Predicate, Deleter, Inserter