wecisecode 6 dni temu
rodzic
commit
86cfaa0883

+ 16 - 0
odbctest/mql/basic/mdb/0100class.mql

@@ -21,6 +21,17 @@ CREATE DB IF NOT EXISTS msqldb (
 create class if not exists /mdb () with namespace='mdb'
 ;
 
+-- 全量映射(也可以指定固定条件映射部分数据),
+-- 实际类中没有数据
+-- 查询时自动赋值默认类属性:
+--  class: 类名/mdb/dba1,
+--  id:    组合映射表主键为字符串,
+--  name:  与id相同,
+--  day:   当前日期,
+--  vtime: 当前时间
+-- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型
+-- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 有且只有 一个元素
+-- 支持 bucket 链式表达式
 create class if not exists /mdb/dba1 (
 	rdb             bucket {
                         -- 全表映射
@@ -31,6 +42,11 @@ create class if not exists /mdb/dba1 (
 ) with nickname='dba1'
 ;
 
+-- 条件映射
+-- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
+-- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
+-- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定
+-- 支持 bucket 链式表达式
 create class if not exists /mdb/dba2 (
 	
     xvarchar        varchar,

+ 21 - 0
odbctest/mql/basic/mdb/0300valid.mql

@@ -14,15 +14,15 @@ output()
 **/
 ;
 
+-- 全量映射(也可以指定固定条件映射部分数据),
+-- 实际类中没有数据
 -- 查询时自动赋值默认类属性:
 --  class: 类名/mdb/dba1,
 --  id:    组合映射表主键为字符串,
 --  name:  与id相同,
 --  day:   当前日期,
 --  vtime: 当前时间
+-- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序或相应表字段定义顺序一致
 -- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 有且只有 一个元素
 -- 支持 bucket 链式表达式
 select id,rdb from /mdb/dba1
@@ -32,7 +32,7 @@ output()
 ;
 
 -- 条件映射
+-- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
 -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
 -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定
 -- 支持 bucket 链式表达式
@@ -44,8 +44,9 @@ output()
 
 
 -- 条件映射
+-- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
+-- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
+-- xrdb 数据 与 id 为多对一关系
 -- 支持 bucket 链式表达式
 select id,xvarchar,xrdb.find(整数>1) from /mdb/dba2
 /**
@@ -53,9 +54,11 @@ output()
 **/
 ;
 
+
 -- 条件映射
+-- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
+-- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
+-- xrdb 数据 与 id 为多对一关系
 -- 支持 bucket 链式表达式
 select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdb/dba2
 /**
@@ -63,9 +66,12 @@ 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)
@@ -74,13 +80,15 @@ 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()
 **/