0300valid.mql 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. -- 查询指定 DB 下的 表
  2. -- /DB/table 与 class 命名发生冲突时,class 优先级高于 /DB/table
  3. select * from /mdbxdb/sqlite_master
  4. /**
  5. output()
  6. **/
  7. ;
  8. -- 1cpu 4GB 普通机械硬盘
  9. -- 只查 id 13s
  10. -- 查两个字段 id,project_1000119_harness_draft_trades_on 45s
  11. select id,project_1000119_harness_draft_trades_on from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record
  12. /**
  13. outputcount()
  14. count(920706)
  15. **/
  16. ;
  17. -- select * from /mdbxdb/T__project_0_1000119_0_harness_0_draft__paper_0_trade_0_record
  18. -- where project_1000119_harness_draft_trades_on in ('project_1000119_harness_draft_trade_instrument:INSTRUMENT_000000042')
  19. -- /**
  20. -- output()
  21. -- **/
  22. -- ;
  23. -- 全量映射(也可以指定固定条件映射部分数据),
  24. -- 实际类中没有数据
  25. -- 查询时自动赋值默认类属性:
  26. -- class: 类名/mdbx/dba1,
  27. -- id: 组合映射表主键为字符串,
  28. -- name: 与id相同,
  29. -- day: 当前日期,
  30. -- vtime: 当前时间
  31. -- rdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序或相应表字段定义顺序一致
  32. -- rdb 数据 与 id 一一对应,实际 二维数组中的第一维 有且只有 一个元素
  33. -- 支持 bucket 链式表达式
  34. select id,rdb from /mdbx/dba1
  35. /**
  36. output()
  37. **/
  38. ;
  39. -- 条件映射
  40. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  41. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  42. -- xrdb 数据 与 id 为多对一关系,默认输出第一条记录,需要在 bucket 定义时明确数据唯一排序,否则数据输出可能不稳定
  43. -- 支持 bucket 链式表达式
  44. select * from /mdbx/dba2
  45. /**
  46. output()
  47. **/
  48. ;
  49. -- 条件映射
  50. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  51. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  52. -- xrdb 数据 与 id 为多对一关系
  53. -- 支持 bucket 链式表达式
  54. select id,xvarchar,xrdb.find(整数>1) from /mdbx/dba2
  55. /**
  56. output()
  57. **/
  58. ;
  59. -- 条件映射
  60. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  61. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  62. -- xrdb 数据 与 id 为多对一关系
  63. -- 支持 bucket 链式表达式
  64. select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdbx/dba2
  65. /**
  66. output()
  67. **/
  68. ;
  69. -- 条件映射
  70. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  71. -- xrdb 输出为二维数组,兼容 promdb 等已有 bucket 类型,输出字段顺序与 bucket 定义的字段顺序一致
  72. -- xrdb 数据 与 id 为多对一关系
  73. -- 支持 bucket 链式表达式
  74. -- 支持 assert(AEXP)
  75. select id,xvarchar,xrdb.find(整数>1).groupby("文本").count() from /mdbx/dba2 where xrdb.avg("浮点").groupby("字符串").assert(avg>0)
  76. /**
  77. output()
  78. **/
  79. ;
  80. -- 条件映射
  81. -- 类中需要有数据,按指定条件映射数据,条件与类数据有关联
  82. -- TODO 重组 xrdb 指定字段,输出平表
  83. -- TODO 允许 bucket 与普通类操作方式一致
  84. -- TODO assert(AEXP) 可转换为 id in bucketfield.exps(...).find(AEXP).ids(),
  85. -- TODO 相同的链式表达式 bucketfield.exps(...) 可以复用中间结果
  86. -- select id, xrdb.字符串, xrdb.整数.mod(10) from /mdbx/dba2 where xrdb.整数 > 0
  87. /**
  88. output()
  89. **/
  90. ;