ida.dll!calc_func_metadatathen48 83 EC 28 48 89 4C 24 20 48 8B 4C 24 20 E8 00 00 00 00 90 48 83 C4 28 C3 ^ need mask(call) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 ^ maskMD5(48 83 EC 28 48 89 4C 24 20 48 8B 4C 24 20 E8 00 00 00 00 90 48 83 C4 28 C3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 00 00 00 00 00 00) -> d8cd35c74f04135c0c024fe44250f91e
parsePushMetadata
parsePullMetadata
function list:
- Pull All -> PullMetadata
- Push All -> PushMetadata
- View All -> PullMetadata
- schema.ts 需要使用 generatedAlwaysAs() 替代手动在应用层编写 hash 逻辑,但是 bun:sqlite 还不支持创建用户定义函数
- 给 newFuncs 添加触发器,删除、更新时检查 func* 表是否存在对应的记录,如果不存在则删除 func* 表中的记录
- newFuncs 使用联合主键,不要用 id 了
bun:sqlite仅支持同步事务,异步事务将不会 rollback,如果需要使用异步 则使用import {SQL} from 'bun'与drizzle-orm/bun-sql下的drizzle.sqlite
push benchmark
- Sqlite
- MSVC tr1 test (count: 5555)
- top 1%: 13043 ms
- top 5%: 9532 ms
- top 10%: 8095 ms
- top 50%: 3275 ms
- avg: 1645 ms
- MSVC tr1 test (count: 5555)
- Postgres
- MSVC tr1 test (count: 5646)
- top 1%: 7723 ms
- top 5%: 4107 ms
- top 10%: 2920 ms
- top 50%: 1025 ms
- avg: 538 ms
- MSVC tr1 test (count: 5646)