CREATE DB IF NOT EXISTS msqldb ( -- 数据库驱动类型,单引号或双引号标记的字符串, -- 目前支持的类型有 sqlite|mysql ,新的类型需要更新 odbserver DRIVER : 'sqlite', -- 数据源定义,单引号或双引号标记的字符串, -- 不同数据库类型格式不一样,参考相关数据库驱动文档 SOURCE : "file:data/testdb?cache=shared", -- 附加选项,JSON对象, -- 通过 odbserver 支持的,不同数据库类型支持的选项可能不同 OPTION : { "makedir": "auto" -- sqlite 支持,自动创建数据库文件所在目录 } -- mysql示例 -- driver : "mysql", -- source : "user:password@tcp(127.0.0.1:3306)/dbname" ) ; create class if not exists /mdb () with namespace='mdb' ; create class if not exists /mdb/dba1 ( rdb bucket { -- 全表映射 "type" : "msqldb", -- 指定表名 "table" : "T__matrix__test___422YX2FPSXSLVDA9" }, ) with nickname='dba1' ; create class if not exists /mdb/dba2 ( xvarchar varchar, xint int, xbigint bigint, xdouble double, xdate date, xrdb bucket { -- 条件映射 "type" : "msqldb", -- 结构化指定表、字段、条件 -- TODO 后期可解析 sql 语句,方便应用开发 "table" : "T__matrix__test___422YX2FPSXSLVDA9", "fields": ["字符串", "大整数", "整数", "浮点", {"name":"双浮点","asname":"vdouble"}], "conds" : { "and": [{ -- 多条件组合 "like": ["_tokens","%/mtest/%"]},{ -- 常量条件 "or": [{ "=": ["name", {"field":"xvarchar"}]},{ -- 变量条件 "=": ["字符串", {"field":"xvarchar"}]},{ "between": ["strftime('%Y-%m-%d',cast(day as integer)/1000.0+28800,'unixepoch')", "2026-01-01", {"field":"xdate"}]}]}]} -- sql函数支持 "orderby" : ["字符串", {"name":"vdouble","reverse":true}] -- 指定排序,保证 last row 输出稳定结果 -- TODO "groupby","having" } "rdb test", xmap map, xlist list, xset set, indexes(xvarchar, xint, xbigint, xdouble, xmap, xlist, xset), keys(xvarchar) ) with nickname='dba2' ;