Skip to content

json(go ext): 适配 kvspace 30 符号 PascalCase ABI - #323

Merged
miaobyte merged 1 commit into
masterfrom
fix/issue-json-ext-abi
Sep 12, 2026
Merged

miaobyte merged 1 commit into
masterfrom
fix/issue-json-ext-abi

Conversation

@miaobyte

Copy link
Copy Markdown
Contributor

变更

Go json 扩展适配 kvspace 的 30 符号 PascalCase 正典 ABI(此前 make all 链接失败:undefined reference kvspaceList/kvspaceSet/kvspaceBytesFree)。

旧 ABI 新 ABI
kvspaceGet(h,k,&out,&len) kvspaceGet(h,k,resolve,&out,&len)
kvspaceSet(h,keys,vals,lens,n,...) kvspaceWriteInPlace / kvspaceWriteNewPlace
kvspaceList(h,prefix,...) kvspaceListLen + kvspaceListAt
kvspaceMkindex(h,path,...) kvspaceMkindex(h,path,capacity,...)
kvspaceBytesFree 删除(读恒借用)
新增 kvspaceTlvEncode

另:XValue head 结构逐字段对齐 kvspace/include/kvspace/kvspace.h 的三正交轴 ref×storetype×langtype;头文件 kvlang_rwirext.hkvlang_runtime.hcomplex_test 跟随签名更新。

本地验证:make json 通过(此前链接失败)、go vet 无问题。

🤖 Generated with Claude Code

- kvspaceGet 增加 resolve 参数;kvspaceSet → kvspaceWriteInPlace /
  kvspaceWriteNewPlace;kvspaceList → kvspaceListLen + kvspaceListAt;
  kvspaceMkindex 增加 capacity;新增 kvspaceTlvEncode;去掉
  kvspaceBytesFree
- XValue head 结构对齐 kvspace/include/kvspace/kvspace.h 的三正交轴
  ref×storetype×langtype
- 头文件 kvlang_rwirext.h → kvlang_runtime.h
- complex_test 跟随 ABI 签名更新

修复 make all 的 Go 扩展链接失败(undefined reference kvspaceList/
kvspaceSet/kvspaceBytesFree)。

Co-Authored-By: Claude Code <noreply@anthropic.com>
@miaobyte
miaobyte merged commit 24d0ce2 into master Sep 12, 2026
6 checks passed
@miaobyte
miaobyte deleted the fix/issue-json-ext-abi branch September 12, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant