文件最后提交记录最后更新时间
1. fix 仅更新脏数据;2. 去掉-O2 --lto=full编译优化选项;3. 为SQL方言实例添加实例化条件;4. 改进SQL方言声明, version: 1.0.48 4 个月前
``` refactor(f_orm): 重构脏字段标记系统并优化SQL执行器 - 将f_orm_register相关函数重命名为DirtyTag类方法,统一管理脏字段标记 - 在SqlExecutor中使用try-finally确保查询后正确设置脏标记状态 - 修改updateDirty方法调用为标准UPDATE方法并启用dirty参数 - 优化数据库方言标识符处理逻辑,支持不同的引号格式 BREAKING CHANGE: 原有的f_orm_*脏字段管理函数已替换为DirtyTag类方法 ``` 4 个月前
修改日志,fix StringGenerator 7 个月前
``` fix(f_orm): 修复SQL分页查询中的边界条件检查 当partial字符串长度不足时会导致数组越界错误, 现在添加了长度检查避免访问超出范围的索引位置。 同时修正了select关键字检测逻辑,确保只有以'select'开头且后面跟有空格的语句才被认为是合法的。 docs: 在.gitignore中添加CODEBUDDY.md到忽略列表 ``` 1 个月前
``` feat(f_mockdb): 实现线程安全的执行函数存储 将MOCKDB的execution存储改为AtomicOptionReference以支持并发访问, 添加了EMPTY_EXECUTION作为默认执行函数,并更新了getter/setter方法。 fix(f_orm): 修复DatabasePool并发测试中的连接获取问题 修改测试用例以验证数据库连接池在多线程环境下的行为, 添加超时设置和性能监控代码。 ``` 3 个月前
feat(StringGenerator): 添加字符串操作方法并优化索引查找逻辑 新增 startsWith、endsWith、substring 和 clear 方法以增强字符串生成器功能。 同时修改 lastIndexOf 方法的默认参数值,并修复 removeLast 和 replace 相关调用。 feat(ChooseCondition): 重构条件生成逻辑并支持 SQL 片段收集 将 gen 函数内联并确保 _otherwise 条件能够正确返回 SQL 片段, 同时将生成的 SQL 添加到执行器的 partials 中以便统一处理。 feat(MeetCondition): 改进 done 方法实现并支持 SQL 片段收集 使用 if 表达式替代原 if 语句,并在方法结束前将生成的 SQL 添加至执行器的 partials 列表中。 feat(SqlExecutor): 引入线程局部变量管理机制和 partials 支持 增加 currents 用于存储驱动名称与执行器映射关系,current 保存当前线程执行器实例; 添加 getCurrent 静态方法获取当前执行器,并引入 Partials 类型字段 partials 用于 SQL 片段收集。 feat(SqlPartial): 扩展 INTO 接口定义以支持忽略列插入 为 INTO 方法添加 ignoreColumns 参数,允许调用方指定需要忽略的列名数组, 从而在生成插入语句时排除这些字段。 feat(TableClause): 优化 WHERE 和其他子句的 SQL 片段构建方式 WHERE 方法现在接受字符串或函数,并在执行前后清空 partials 缓存; 更新 appendPartial 方法直接接收字符串参数,ORDER_BY、GROUP_BY、SET 等方法也相应调整为立即求值。 6 个月前
修改日志,fix StringGenerator 7 个月前
set => SET where => WHERE 9 个月前
修改日志,fix StringGenerator 7 个月前
fountain.orm 增加sql辅助工具 7 个月前
Some codes were changed, version: 1.0.0 7 个月前
Some codes were changed, version: 1.0.0 7 个月前
1. fix 仅更新脏数据;2. 去掉-O2 --lto=full编译优化选项;3. 为SQL方言实例添加实例化条件;4. 改进SQL方言声明, version: 1.0.48 4 个月前
修改开源协议 9 个月前
1. 为SQL 标识符增加包含字符,POSTGRES是双引号,其它是反引号 2. ORM实现updateDirty,只更新修改过的成员 3. 改进ORM SqlPartial的UPDATE,如果SET子句是空的会抛出异常 4. 2 3两条,如果没有在参数类型找到主键列,会抛出异常 5. 2 3两条,主键列不参与更新 6. ORM DataAny类型加入到SQL参数 7. IOC 获取bean时记录DEBUG日志 8. fix 反应式编程API 9. ORM 支持ON DUPLICATE KEY UPDATE 10. cjpm build在App只执行一次,且支持cjpm build的所有参数 11. 改进MediaTypes 12. MediaTypes增加DEBUG日志,且修改注册自定义MediaTypes的注册时机 13. f_data 中间类型改成struct, version: 1.0.46 4 个月前
``` refactor(orm): 移除冗余的 populate 方法并优化类型转换逻辑 - 在 IdQueryMapper 中移除了重复定义的 populate 方法 - 修改 QueryMapper 中的类型匹配逻辑,将异常抛出改为返回 None<T> - 在 FieldQueryMapper 中重新添加了通用的 populate 方法以确保字段填充逻辑统一 - 简化 DataType.getValue 方法中的判空逻辑,统一使用 getOrNull - 修复 QueryResultWrap.getOrNull 方法中对列名不存在情况的处理,避免潜在运行时错误 - 更新 fdemo/cjpm.toml 中 opengauss 驱动依赖配置注释,便于本地调试 - 在 UserDAO 示例中增加数据库查询测试代码,用于验证 ORM 映射功能 ``` 7 个月前
修改开源协议 9 个月前
``` feat(orm): 优化SQL条件构建逻辑并支持动态SQL片段 - 重构 MeetCondition.cj 中的 done() 方法,使用 frag 简化SQL拼接逻辑 - 在 RootDAO.cjmeet 方法中显式处理SQL片段的添加逻辑 - 延迟清理SQL参数至 clearSql() 方法中,并增加 clearArgsAfterExec_ 控制开关 - 在 UserDAO.cj 示例中添加动态 EXISTS 查询用法 - 调整 UserServiceImpl.cj 注解配置,启用 @Bean 并注释掉 @TransactionalService ``` 6 个月前
fountain.orm 增加sql辅助工具 7 个月前
Some codes were changed, version: 1.0.0 7 个月前
``` refactor(f_orm): 修改ORM注册驱动的逻辑,如果使用了mockdb,则不再初始化其他驱动,orm中的'mockdb'改为ORMConfig的公共静态常量,orm模块的其他'mockdb'都改为使用这个常量。 ``` 4 个月前
修改开源协议 9 个月前
Some codes were changed, version: 1.0.0 7 个月前
优化BitSet初始化;丰富SQL dsl;优化ConcurrentHashSet.removeIf;修复AOP和事务控制切面;修复InsertClause, version: 1.0.21 6 个月前
``` feat(f_orm): 添加字段名称映射和SQL参数处理功能 添加了QueryMapper中的fieldName属性,用于获取数据类型的字段名称。 实现了RootDAO中针对Data和Any类型的arg方法重载,支持更多数据类型的安全转换, 包括布尔值、数值、字符串、日期时间等类型的SQL参数处理。 新增多个UPDATE和INTO方法重载,支持直接传入对象进行数据库操作, 包括基于Map的更新方法和带条件列过滤的更新功能,增强了ORM操作的灵活性。 ``` 4 个月前
``` feat(QueryMapper): 添加 columnName 属性以支持自定义列名 在 QueryMapper 中新增 columnName 属性,用于获取数据类型对应的列名。 同时,在 QueryMappers 中添加 idName 属性,以便于查询和删除操作可以使用 自定义主键名称。修改 TableClause 和 UpdateClause 中的 SQL 生成逻辑, 使用 idName 替代硬编码的 'id' 字段,提升 ORM 的灵活性与通用性。 ``` 5 个月前
``` feat(QueryMappersInit): 添加对Decimal和BigInt类型的支持 在QueryMappersInit接口中增加对std.math.numeric包中Decimal和BigInt类型的扩展支持, 使这些数值类型能够被正确映射和处理。 ``` 7 个月前
修改开源协议 9 个月前
Some codes were changed, version: 1.0.0 7 个月前
``` feat(f_orm): 支持DataAny类型参数绑定并优化导入 添加f_data模块导入以支持DataAny类型处理,在RootDAO中增加DataAny类型的 case分支用于SQL参数绑定,同时移除SqlExecutor中不必要的Console导入。 ``` 4 个月前
feat(orm): 添加dao方法支持泛型类型约束 新增两个dao方法重载版本,支持通过driver参数和无参数方式获取 RootDAO实例。方法内部通过executor获取SqlExecutor实例,并进行 类型检查,若无法转换则抛出ORMException异常。完善了ORM框架 的类型安全性和使用便利性。 5 个月前
``` refactor(SqlExecutor): 优化SQL执行逻辑并改进异常处理 重构了execute方法的实现,移除了嵌套的execute调用以简化代码结构。 改进了资源管理和异常处理机制,确保查询结果正确关闭并妥善处理异常情况, 增强了代码的健壮性和可维护性。 ``` 5 天前
修改日志,fix StringGenerator 7 个月前
``` feat(aspect): 支持对宏展开声明的递归解析与处理 重构了 Pointcut 宏,增强其对嵌套 MacroExpandDecl 的解析能力, 确保能正确提取并转换原始函数或类声明。同时优化参数解析逻辑, 支持从宏展开中准确获取 FuncParam 信息。 fix(bean): 调整构造器匹配逻辑以排除 init 函数 在 Bean 宏中更新构造函数筛选条件,明确跳过名为 'init' 的初始化方法, 防止误将其识别为普通带注解的构造函数。 refactor(mvc): 整合 Controller 与 Pointcut 宏行为 将 @Controller 与 @WeavedController 合并实现逻辑, 统一为其自动添加 @Bean 及 @Pointcut 注解,并生成相应的 MVC 元数据注册代码。 feat(orm): 将 initialize 方法设为公共可调用 将 ORM 类中的 initialize 方法由私有改为公有,便于外部显式触发 ORM 初始化流程。 refactor(transaction): 简化传播属性赋值逻辑 TransactionalService 宏现在直接引用 propagation 属性值, 不再进行额外的 Optional 判断包装。 chore(config): 更新默认日志级别及切点配置 boot.sh 中将控制台日志级别由 ERROR 调整为 INFO, 新增 controllerPointcut 配置项用于 AOP 切点定义, 细化 orm_transactionalFuncExecution 匹配规则至 ServiceImpl 实现类。 refactor(macro): 统一宏输入声明替换方式 修改多处宏展开逻辑中对 macroInputs 的操作为 macroInputDecl 并重新解析, 保证 AST 结构一致性与后续处理准确性。 docs(controller): 移除多余的 BeanMeta 示例注释 删除 CurrentUserController 中重复且无实际用途的 @BeanMeta 示例注解。 ``` 5 个月前
修改开源协议 9 个月前
修改开源协议 9 个月前
修改日志,fix StringGenerator 7 个月前
fix(Transactional): 修改传播行为属性为可选类型并提供默认值 将 propagation 属性从非可选的 Required 类型修改为可选的 Propagation 类型, 默认值设为 None。在 getPropagation 方法中添加匹配逻辑,当 propagation 为 None 时返回 Required,确保事务传播行为的向后兼容性。 6 个月前
修改开源协议 9 个月前
修改日志,fix StringGenerator 7 个月前
feat(f_orm): 支持可空类型字段的正确转换与映射 在 QueryMapper 中增强对可空类型的处理逻辑,根据 DataType 的 nullable 属性决定是否使用 convertNullable 方法进行安全转换。同时开放 DataType 类中 nullable 字段的访问权限, 并调整 ORMConverter.convert 方法的实现,使其依赖 convertNullable 并在值为 None 时抛出异常。 7 个月前