Files
MetonaSqlark/CHANGELOG.md
T
thzxx 7a53cfd530
CI / test (18.x) (push) Successful in 9m55s
CI / test (20.x) (push) Successful in 9m50s
CI / test (22.x) (push) Successful in 9m52s
CI / test (24.x) (push) Successful in 9m48s
feat: site全面更新 + CONTRIBUTING/CHANGELOG完善,准备v0.1.13迭代
2026-07-26 16:13:34 +08:00

2.8 KiB
Raw Blame History

Changelog

All notable changes to MetonaSqlark will be documented in this file.

[0.1.12] - 2026-07-26

Added

  • MeSqlark 别名导出,与 MetonaSqlark 完全等价
  • metona-sqlark.cjs.js CommonJS 构建产物
  • 完善的 where-matcher.ts 消除 220+ 行重复代码
  • $col 列引用支持 JOIN ON 条件
  • $and/$or 嵌套支持(字段级 + 顶层)
  • $not 逻辑非操作符
  • $like 正则缓存加速
  • projectColumns 列投影支持 table.column 格式
  • DISTINCT 去重支持(O(n) 时间,列值拼接优化)
  • 测试覆盖率提升至 93.46%(264 测试/15 套件)

Changed

  • where-matcher 统一 MemoryEngine / IndexedDBEngine / Executor 的 WHERE 逻辑
  • JOIN ON 匹配支持 $col 语法
  • LIKE 正则改为缓存式编译
  • Executor DISTINCT 用列值拼接代替 JSON.stringify
  • JOIN 嵌套循环连接优化:避免 ON 时对象扩散

Fixed

  • IndexedDBEngine update/delete 方法正确同步内存缓存
  • OPFSEngine getTableNames 兼容 entries() 返回值
  • SQL Parser 正确处理字符串转义字符
  • SQL Parser 正确处理表别名(无 AS 关键字)
  • SQL Parser 解析 IS NULL / IS NOT NULL / NOT LIKE
  • peekTokenIs 方法正确暴露给语法分析
  • 多处边界条件空值/假值处理

[0.1.11] - 2026-07-25

Added

  • React 集成 hooks: useQuery, useTable, useDatabase
  • Vue 集成 composables: useSqlarkQuery, useSqlarkTable, useSqlarkDatabase
  • 发布订阅系统: subscribe(), emit()
  • 数据迁移系统: addMigration(), migrateTo()
  • 导入导出: exportTable(), exportAll(), importTable()
  • 完整 SQL 解析器: Lexer + Parser(递归下降)
  • SQL 支持: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE
  • JOIN 支持: INNER, LEFT, RIGHT, CROSS
  • GROUP BY + HAVING + 聚合函数 (COUNT, SUM, AVG, MIN, MAX)
  • DISTINCT, ORDER BY, LIMIT, OFFSET
  • WHERE 条件: AND, OR, NOT, IN, LIKE, IS NULL
  • Query Builder 链式 API: select().where().orderBy().limit().execute()
  • 插件系统: 14 种生命周期钩子 + PluginManager
  • Metadata 系统: ColumnDef 完整约束 (type/primaryKey/required/unique/index/default/references/maxLength/min/max)

Changed

  • 架构重构为分层设计:Engine → QueryExecutor → Table/QueryBuilder → SQL Parser → Public API
  • AST 作为统一中间表示,SQL 和 QueryBuilder 行为完全一致
  • 测试框架完善:core / edge / groupby / join / query-system / sql / table / engine / transaction / plugin / hybrid 全覆盖

[0.0.1] - 2026-07-24

Added

  • 初始项目骨架
  • TypeScript 配置(严格模式)
  • Rollup 构建(UMD / ESM / CJS / min / .d.ts
  • Jest + jsdom 测试环境
  • ESLint + @typescript-eslint
  • Gitea Actions CI 工作流
  • 示例站点(index / demo / docs
  • 构建脚本 build.sh