-- 查询指定 DB 下的 表 -- /DB/table 与 class 命名发生冲突时,class 优先级高于 /DB/table select * from /msqldb/sqlite_master /** output() match('name','T__matrix__test___422YX2FPSXSLVDA9') **/ ; select * from /msqldb/T__matrix__test___422YX2FPSXSLVDA9 where day between '2026-01-01' and '2026-10-10' /** output() count(1) match('id','7884235075310994619') match('字符串','*abc*') **/ ; -- 固定映射(指定固定条件或无条件映射数据), -- 当主类中没有数据时,查询时自动赋值默认对象属性: -- class: 类名/mdb/dba1, -- id: 组合映射表主键为字符串, -- name: 与id相同, -- day: 当前日期, -- vtime: 当前时间 -- 映射表查询结果按 id 匹配关联主对象 -- 当主类中存在数据时,直接按主对象 id 与 组合映射表主键得到的字符串 进行匹配关联主对象 -- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型 -- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 最多只有 一个元素 -- 支持 bucket 链式表达式 select id,rdb from /mdb/dba1 /** output() count(1) match('id','7884235075310994619') **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定 -- 支持 bucket 链式表达式 select * from /mdb/dba2 /** output() count(1) match('xvarchar','7884235075310994619') **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定 -- 支持 bucket 链式表达式 select id,xvarchar,xrdb.find(整数>1) from /mdb/dba2 /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系 -- 支持 bucket 链式表达式 select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdb/dba2 /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致 -- xrdb 数据 与 id 为多对一关系 -- 支持 bucket 链式表达式 -- 支持 assert(AEXP) select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdb/dba2 where xrdb.avg("浮点").groupby("字符串").assert(avg>0) /** output() **/ ; -- 条件映射 -- 主类中需要有数据,按指定条件映射数据,条件与主类数据有关联 -- TODO 重组 xrdb 指定字段,输出平表 -- TODO 允许 bucket 与普通类操作方式一致 -- TODO assert(AEXP) 可转换为 id in bucketfield.exps(...).find(AEXP).ids(), -- TODO 相同的链式表达式 bucketfield.exps(...) 可以复用中间结果 -- select id, xrdb.字符串, xrdb.整数.mod(10) from /mdb/dba2 where xrdb.整数 > 0 /** output() **/ ;