testtypedef.go 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. package main
  2. import (
  3. //"fmt"
  4. //"time"
  5. //"math"
  6. . "git.wecise.com/wecise/odbserver/odb"
  7. "git.wecise.com/wecise/odbserver/odb/test"
  8. "gitee.com/wecisecode/util/logger"
  9. )
  10. // CGO_ENABLED=1 go run --ldflags '-linkmode external -extldflags "-static"' testtypedef.go
  11. // #cgo LDFLAGS: -L/opt/odbserver/sqlite -lsqlite -ldl
  12. // #include "/opt/odbserver/sqlite/sqlite.h"
  13. // #include <stdint.h>
  14. // #include <stdlib.h>
  15. // extern int64_t uhaha_seed;
  16. // extern int64_t uhaha_ts;
  17. // void uhaha_begin_reader();
  18. // void uhaha_end_reader();
  19. func main() {
  20. //options := map[string]interface{} {"cache":odb.CacheAll}
  21. //g,err:= odb.New( options )
  22. //option := &StoreOption{Cache:CacheAll}
  23. option := &Option{Cache: CacheAll, Keyspace: "ootest", DisableInitialHostLookup: true}
  24. g, err := test.NewG(option)
  25. if err != nil {
  26. logger.Error(err.Error())
  27. } else {
  28. defer g.Close()
  29. }
  30. //logger.SetRollingDaily("C:/test/zkcron/src/test", "test.log")
  31. logger.SetConsole(true)
  32. //logger.SetLevel(logger.DEBUG)
  33. // 测试MQL
  34. //rst,meta,err := g.Query(`SELECT id,vtime,usname FROM /core/user/ WHERE usname prefix 'admin' && email like 'admin*' `)
  35. //rst,err := g.Query(`SELECT id,vtime,usname FROM /core/user `)
  36. //rst,err := g.Query(`SELECT * FROM /matrix/jobs/runinfo`)
  37. //rst,err := g.Query(`SELECT id,vtime,class FROM / WHERE class IN ('test') LIMIT 10`)
  38. //rst,err := g.Query(`SELECT id,vtime,class FROM / WHERE id = 1234567890 LIMIT 10`)
  39. //rst,err := g.Query(`SELECT type,id FROM /matrix/log/cassandra WHERE type =~ '^[C' limit 10`)
  40. //rst,err := g.Query(`SELECT id,vtime,class FROM /core/ `)
  41. //rst,err := g.Query(`SELECT id,vtime,class FROM /matrix/performance WHERE id='13722093446131916505' limit 10`, false)
  42. //rst,err := g.Query(`SELECT id,vtime,class FROM /matrix/performance WHERE id='13722093446131916505' limit 10`, false)
  43. //rst,err := g.Query(`SELECT id,vtime,class,kpi_code FROM /matrix/performance WHERE mydate daterange ('20150324','20150325') limit 10`)
  44. //rst,meta,err := g.Query(`match ("biz:数字国网","biz:开发测试")-[*]->() return name,status,.*`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false})
  45. //rst,err := g.Query(`select * from /matrix/jobs/jobrun where vtime > '2016-03-07 15:51:43.581'`,false)
  46. //rst,err := g.Query(`select host, inst, param, value, vtime from /matrix/devops/performance/ where vtime >= 1461054031485 order by host, vtime asc limit 10 with version`,false)
  47. //rst,err := g.Query(`select host, inst, param, value, vtime from /matrix/devops/performance/ where host='mxsvr201' with version`)
  48. //rst,meta,err := g.Query(`select id,connect from /matrix/entity/switch where id like 'switch:10[1-9]switch41' `,map[string]interface{}{"meta":true})
  49. //rst,meta,err := g.Query(`select name from /matrix/system/depot where branch = 'test1' and domian = 'cmd' limit 1`)
  50. //rst,meta,err := g.Query(`select count(id) from /matrix/filesystem`)
  51. //rst,meta,err := g.Query(`select * from /matrix/entity/ where id='sanstorage:sanstorage1'`)
  52. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  53. //rst, _,err := g.Query(`select node id from host:mxsvr201 with contain,depend`)
  54. //rst,meta,err := g.Query(`select entity from /matrix/devops/event e join ("linux:wecise")-[*]->(p:app) on e.entity=p.id`)
  55. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:cassandra1") on e.entity=p.id`)
  56. //rst,meta,err := g.Query(`select id, host, entity, p.name from /matrix/devops/event e join (p:/matrix/entity/app where id='app:app1') on e.entity=p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  57. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event/ e join (p:/matrix/entity/switch where id = 'switch:switch1' or id='switch:switch2') on e.entity=p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  58. //rst,meta,err := g.Query(`select value, ctime from /matrix/devops/performance where id = 'id1' and ctime >= 1555661943158 and ctime < 1555665543158 with version`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  59. // slow
  60. //rst,meta,err := g.Query(`select entity,msg,host,p.id,p.name from /matrix/devops/event/ e join (p:/matrix/entity/switch where id like 'switch:*') on e.entity=p.id limit 1 where entity like 'switch:*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  61. //bug
  62. //rst,meta,err := g.Query(`select entity,msg,host,p.id,p.name from /matrix/devops/event/ e join (p:/matrix/entity/db2) on e.entity=p.id limit -1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  63. //bug
  64. //rst,meta,err := g.Query(`select entity,p.param as param from /matrix/devops/event/ e join (p:/matrix/devops/performance/ where entity like 'switch:*' and value>30) on e.entity=p.entity limit 1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  65. //bug
  66. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event/ e join (i:/matrix/entity/switch where id='switch:switch1' and name='switch:switch2') on e.entity=i.id and e.entity=i.name limit -1 where entity like 'switch:*' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  67. //bug !!!
  68. //rst,meta,err := g.Query(`SELECT max(value) FROM /matrix/devops/performance`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  69. //bug
  70. //rst,meta,err := g.Query(`SELECT max(severity) FROM /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  71. //bug
  72. //rst,meta,err := g.Query(`select param from /matrix/devops/performance/ order by param asc`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  73. //bug
  74. //rst,meta,err := g.Query(`SELECT contain FROM /matrix/entity/biz where contain is not null`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  75. //bug
  76. /*rst,meta,err := g.Query(`create class if not exists /matrix/test/collect (
  77. v_varchar varchar,
  78. v_map map<varchar, varchar>,
  79. v_list list<varchar>,
  80. v_set set<varchar>,
  81. indexes(v_varchar, v_map, v_list, v_set),
  82. keys(v_varchar)
  83. )`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  84. /*rst,meta,err := g.Query(`select e.bk_inst_name as instName,
  85. i.name as serverName,
  86. i.park_id as parkId
  87. from /matrix/entity/physical_resource_obj/firewall e join (i:/matrix/entity/physical_resource_obj/server) on e.park_id=i.park_id
  88. where i.park_id = '133103'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  89. /*rst,meta,err := g.Query(`select bk_inst_name
  90. from /matrix/entity/physical_resource_obj/firewall e left join (i:/matrix/entity/physical_resource_obj/server) on e.park_id=i.park_id
  91. where i.park_id = '133103'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  92. //rst,meta,err := g.Query(`select id,e.name,p.id from /matrix/devops/event e join (p:pod) on e.entity = p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  93. //rst,meta,err := g.Query(`select count(0) from /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  94. //rst,meta,err := g.Query(`select e.id as id,e.name as name,e.severity,p.id,p.name as p_name from /matrix/devops/event e join (p:pod) on e.entity = p.id`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  95. //rst,meta,err := g.Query(` SELECT distinct e.biz,e.id,e.entity FROM /matrix/devops/event e `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  96. //rst,meta,err := g.Query(` SELECT bk2[0-2,3,4] as fff FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  97. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 'fparam1', 'fparam2', 'sparam1'] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  98. //rst,meta,err := g.Query(` SELECT bk2[-1,-2,-3,-4,-5] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  99. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  100. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  101. //rst,meta,err := g.Query(` SELECT bk2[1 - -1] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  102. //rst,meta,err := g.Query(` SELECT bk2[ 4-3] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  103. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 3-1, 4] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  104. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 1-3, 4] FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  105. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  106. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 2-3, 4 ].time('2020-04-22 08:10', '').(iparam1=1).count(iparam1) as iparam1 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  107. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 2-3, 4 ].time('2020-04-22 08:10', '').(iparam1=1).count(iparam1) as iparam1 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  108. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 'iparam2', 2-3, 4 ].time().(iparam1=1) FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  109. //rst,meta,err := g.Query(` SELECT bk2[ 3-4, 5 ].time('2020-05-23 22:24:15', '').([1]=1).title() FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  110. /*rst,meta,err := g.Query(`SELECT
  111. id,logs.time('2020-05-30 04:36:24','2020-06-30 04:36:24')
  112. FROM
  113. /test/bucketlog`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  114. //rst,meta,err := g.Query(`SELECT id, disk[1].time(1580755071774, 1690755071774).limit(3) FROM /matrix/entity/it/it_linux`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  115. //rst,meta,err := g.Query(` SELECT bk2[ 'iparam1', 1-3, 4 ].time('2020-04-22', '').filter(fparam1 >= 0.992315).filter(iparam1 = 56).filter(fparam2 <> 0.418309) as iparam1 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  116. //rst,meta,err := g.Query(` SELECT bk2.time('2020-04-22', '').filter(fparam1 >= 0.992315).filter(iparam1 = 56).filter(fparam2 <> 0.418309) as iparam1 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  117. //rst,meta,err := g.Query(` SELECT bk2.time('2020-04-22', '').(fparam1 >= 0.992315).(iparam1 in [56,99]) FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  118. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1].time('2020-04-22', '').find(fparam1 >= 0.992315).count(fparam1) as iparm1 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  119. /*rst,meta,err := g.Query(` SELECT
  120. id, bk2
  121. FROM
  122. /matrix/testbucket7/`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  123. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1].time('2020-04-22', '') FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  124. //rst,meta,err := g.Query(` SELECT bk2[-1 - 1].date('2020-05-23').find(fparam1=3.4) FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  125. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  126. //rst,meta,err := g.Query(` SELECT id,logs.time('2020-06-15','') FROM /matrix/ where id='linux:wecise' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  127. //rst,meta,err := g.Query(` SELECT id, class FROM /matrix/ where id='linux:wecise' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  128. //rst,meta,err := g.Query(` select values[0,2].time(1590231429,1590231439).find(pused='bbbbbbbbbbbbbbbbbbbb') from /test/donghuan/d `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  129. //rst,meta,err := g.Query(` select values.time(1590231429,1590231439).find(pused='bbbbbbbbbbbbbbbbbbbb') from /test/donghuan/d `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  130. //rst,meta,err := g.Query(` SELECT bklog FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  131. //rst,meta,err := g.Query(` SELECT bklog.time('2020-04-22', '').file() FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  132. //rst,meta,err := g.Query(` SELECT bk2.date("2020-05-15").file() FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  133. //rst,meta,err := g.Query(` SELECT bklog["file*.log"{116669996670004, 116669996680008}] FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  134. //rst,meta,err := g.Query(` SELECT id,logs["aaa.log"{142883909780000}]FROM /matrix/entity/it/it_aix where id='it_aix:192.168.190.175' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  135. //rst,meta,err := g.Query(` SELECT bk2["file1.log"{1,3,6,7}].time('2020-05-15 00:49:59,667', '').find( "twcs skipping" ) FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  136. //rst,meta,err := g.Query(` SELECT bk2 FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  137. //rst,meta,err := g.Query(` SELECT bklog["file1.log"].time("2020-06-25","") FROM /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  138. //rst,meta,err := g.Query(` select * from /matrix/portal/tools where id in('') and groups['group'] = null or groups['group'] = '' order by seat asc `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  139. //rst,meta,err := g.Query(` select * from /matrix/entity/hmc where host='wecise' and name='唯简'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  140. //rst,meta,err := g.Query(` select * from /matrix/system/hostinfo where host='wecise' and name='9132822350366988138'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  141. //rst,meta,err := g.Query(` select * from /matrix/entity/ where class='/matrix/entity/hmc' and host='wecise' and name='9132822350366988138'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  142. //rst,meta,err := g.Query(` select * from /matrix/entity/ where class='/matrix/entity/hmc' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  143. //rst,meta,err := g.Query(` select id,name,class,host,iplist,agentstatus,depot['文件系统检测'],config,zabbix['文件系统检测-1.0.0'] from /matrix/system/hostinfo where depot != null limit -1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  144. //rst,meta,err := g.Query(`select id, domain, creater from /matrix/tagdir where domain = 'script' and creater = '' and name = 'ORACLE' limit 1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  145. //rst,meta,err := g.Query(`select name, domain from /matrix/tagdir where domain = 'script' and creater = '' limit -1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false, User:"U/newadmin/lyt1" , Group:[]string{ "/newadmin"}} )
  146. //rst,meta,err := g.Query(`select count(severity) as num, max(severity) as maxsss, min(severity) as minsss from /matrix/devops/alert where severity > 2 group by biz limit -1 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  147. /*rst,meta,err := g.Query(`SELECT
  148. id,status,host,vtime
  149. FROM
  150. /matrix/system/hostinfo where status = 1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  151. /*rst,meta,err := g.Query(`SELECT
  152. count(*) , types
  153. FROM
  154. /matrix/entity/perbasisinfo group by types order by types limit 100000`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  155. /*rst,meta,err := g.Query(`SELECT
  156. name
  157. FROM
  158. /matrix/entity/aix where name=/aix:5ed617adaca22f8517f5e67[123]/` )*/
  159. //rst,meta,err := g.Query(`refresh /matrix/filesystem`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  160. //rst,meta,err := g.Query(`select name, _group from /matrix/tagdir where _group != "/testorg"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  161. //rst,meta,err := g.Query(`select name, contain from /matrix/entity/cluster where contain != 'app:app2' and contain != 'app:Bapp2'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  162. //rst,meta,err := g.Query(`SELECT id FROM /matrix/entity/aix where id != 'aix:tes*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  163. //rst,meta,err := g.Query(`refresh /matrix/filesystem`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  164. /*rst,meta,err := g.Query(`SELECT
  165. id,disk_perf.time('2021-04-01','2021-04-02').find("mount_point" = "/").title().min("free", "pfree").max("pfree").max("free").count().groupby("mount_point", 12h)
  166. FROM
  167. /matrix/entity/linux where id='linux:node3'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  168. /*rst,meta,err := g.Query(`SELECT
  169. id, vtime, severity
  170. FROM
  171. /matrix/devops/alert where severity > 0 and vtime > '2021-03-23 23:35:18.992' and vtime < '2021-04-23 23:35:18.992'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  172. /*rst,meta,err := g.Query(`SELECT
  173. assetid,biz,class,company,config,contact,ctel,day,dc,department,element,files,host,id,ip,location,model,mylist,mymap["key2"] as aaa,mymap["key1"] as bbb,myset,name,period,port,rack,region,room,sn,status,tags,tel,type,unit,vtime
  174. FROM
  175. /matrix/entity/mydevice`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  176. //rst,meta,err := g.Query(`SELECT v_varchar, v_text FROM /matrix/test/search where v_text like 'Cassandr*'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  177. //rst,meta,err := g.Query(`insert into /matrix/test/buckettsdb (id, bk2[ 'iparam1', 'iparam2', 'fparam1', 'fparam2', 'sparam1', 'vparam1']) values ('linux:wecise', [1, nil, 3.3, 6.5, '1234567890', 'abcdefghhhhh'] ) at '2020-07-24 10:24:16'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  178. //rst,meta,err := g.Query(`select bklog.time('2020-06-24','').limit(1000) FROM /matrix/test/bucketlog`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  179. //rst,meta,err := g.Query(`select id,logs.stats(3600) from /matrix/entity/linux where id = 'linux:node3' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  180. //rst,meta,err := g.Query(`select id,logs.time('2021-01-01','2021-05-15').find("ssl_req").stats(3600) from /matrix/entity/`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  181. //rst,meta,err := g.Query(`SELECT id,ip,host,disk_perf.time('2018-07-27','2020-07-28').title().max("pfree","free") FROM /matrix/entity/it/it_aix`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  182. /*rst,meta,err := g.Query(`typedef if not exists HDOUBLE=double, HFLOAT=float, HENUM enum {
  183. "0":["Unknown", "未知"],
  184. "1":["Ready", "就绪"],
  185. "2":["Waiting", "等待"]
  186. } ;
  187. typedef if not exists RRHDOUBLE = HDOUBLE ;
  188. `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  189. //rst,meta,err := g.Query(`type undef HDOUBLE, HFLOAT, HENUM, RRHDOUBLE`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  190. /*rst,meta,err := g.Query(`typedef if not exists DLIST = double[2..3] ;
  191. typedef FLIST = float[0..?] ;
  192. typedef VENUM = enum {
  193. "0":["command", "命令"],
  194. "1":["shell", "shell脚本"],
  195. "2":["lua", "lua脚本"],
  196. "3":["task", "任务"],
  197. "4":["js", "js脚本"]
  198. };
  199. typedef FFLIST = FLIST ;
  200. typedef FFFLIST = FFLIST ;
  201. typedef if not exists VVENUM = VENUM `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  202. //rst,meta,err := g.Query(`typedef if not exists ParameterValue = double; `, &QueryMeta{Return: ReturnAll} )
  203. rst, meta, err := g.Query(` typedef TranslationalRangeMeasure = morph <
  204. LengthMeasure,
  205. UnlimitedRange
  206. >`, &QueryMeta{Return: ReturnAll})
  207. //rst,meta,err := g.Query(`type undef DLIST, FLIST, VENUM`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  208. //rst,meta,err := g.Query(` SELECT bklog.time("2020-01-01", "").stats(3600) FROM /matrix/test/bucketlog `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  209. // rst,meta,err := g.Query(`select * from /matrix/test/collect where v_map = 'val3'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  210. /*rst,meta,err := g.Query(`SELECT
  211. id,disk_perf.time('2019-01-01','2021-04-06').title().limit(50)
  212. FROM
  213. /matrix/entity/linux where id='linux:node3'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  214. /*rst,meta,err := g.Query(`SELECT
  215. id,bkdata.time("2020-08-01","").find(vparam1 like '*jj*')
  216. FROM
  217. /matrix/testbucket4 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  218. /*rst,meta,err := g.Query(`SELECT
  219. bklog.time('2020-06-23 14:50','2020-06-23 15:00').find('twcs'),id
  220. FROM
  221. /matrix/testbucket5 `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  222. /*rst,meta,err := g.Query(`SELECT
  223. id,disk_test.time('2020-07-27','')
  224. FROM
  225. /matrix/entity/it/it_aix `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  226. /*rst,meta,err := g.Query(`SELECT
  227. bkdata,class,day,host,id,name,real,status,tags,vtime
  228. FROM
  229. /matrix/testbucket4`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  230. /*rst,meta,err := g.Query(` SELECT
  231. id
  232. FROM
  233. /matrix/testbucket5/ where bklog.time("2020-05-01","").find("INFO") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  234. //rst,meta,err := g.Query(`select name, pprefix, pmatch, _group from /matrix/perms/api where _group = '测试组' `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  235. //rst,meta,err := g.Query(` select depot['df302'] from /matrix/system/hostinfo `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  236. /*rst,meta,err := g.Query(`SELECT
  237. depot
  238. FROM
  239. /matrix/system/hostinfo where depot = nil`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )*/
  240. //rst,meta,err := g.Query(` SELECT bk2.time('2020-04-22 08:09', '').filter( "iparam1" <= 2 ) as iparam1 FROM /matrix/testbucket `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  241. //rst,meta,err := g.Query(` SELECT * FROM /matrix/filesystem `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  242. //rst,meta,err := g.Query(`select ip,host,msg,entity,severity from /matrix/devops/event e join ("biz:数字国网")-[*]->("app:*")-[*]->(h:linux) on e.entity = h.id where e.severity > 3`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  243. //rst,meta,err := g.Query(`select id, config["aa","bb"], email[0,2] from /matrix/ldap where id='8999302930065828009'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  244. /*rst,meta,err := g.Query(` SELECT
  245. severity
  246. FROM
  247. /matrix/devops/alert `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  248. */
  249. //bug
  250. //rst,meta,err := g.Query(`select 1, "hello" as strcol, contain from "/matrix/devops/performance" where contain is null`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  251. //bug
  252. //rst,meta,err := g.Query(`select * from "/matrix/devops/performance" where host='123'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  253. //bug
  254. //rst,meta,err := g.Query(`select g1, avg(v1) as avgv1 from "/matrix/testgroup" group by g1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  255. //rst,meta,err := g.Query(`select avg(v1) as avgv1 from "/matrix/testgroup" `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  256. //bug
  257. ///rst,meta,err := g.Query(`select avg(v1) as avgv1 from "/matrix/testgroup" group by g1,g3`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  258. //t1 := time.Now()
  259. //rst,meta,err := g.Query(`select wecise FROM asdf/matrix/devops/event where host = "wecise"`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  260. /*rst,meta,err := g.Query(`SELECT
  261. app,biz,card,class,ctime,day,entity,hdware,host,id,inst,ip,msg,name,org,param,script,severity,src,status,tags,vtime
  262. FROM
  263. /matrix/devops/event where host in ('wecise') `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  264. logger.Warn("duration ==>", time.Now().Sub(t1))
  265. */
  266. //bug
  267. //rst,meta,err := g.Query(`select host,ip,h.name from /matrix/devops/event/omnibus o join ("biz:查账系统")-[*]->("esx:*")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  268. //rst,meta,err := g.Query(`select id, host, entity, p.name from /matrix/devops/event e join (p:'app:app1') on e.entity=p.id`)
  269. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:app1") on e.host=p.host`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  270. //rst,meta,err := g.Query(`select host,msg,id,class from /matrix/devops/event where host='mxsvr221' facet severity{"critical":[3,],"warning":[,3]} `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  271. //rst,meta,err := g.Query(`select host,msg,id,class from /matrix/devops/event where host='wecise' facet severity{"critical":[3,],"warning":[,3]} `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  272. //rst,meta,err := g.Query(`select host,id,class,value,vtime from /matrix/devops/performance/ where host='wecise' facet value{"big":[4,],"small":[,3]} `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  273. //rst,meta,err := g.Query(`select host,ip from /matrix/devops/event/omnibus o join ("biz:查账系统")-[*]->("esx:*")-[:connect*]->(h:switch) on o.entity = h.id where o.severity=5`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  274. //rst,meta,err := g.Query(`SELECT count(*) FROM /matrix/devops/event`)
  275. /*rst,meta,err := g.Query(`select * from /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false})*/
  276. //rst,_,err := g.Query(`select * from /matrix/devops/中文测试`)
  277. //rst,meta,err := g.Query(`SELECT depot FROM /matrix/system/hostinfo where depot[key]='test''4'`)
  278. //rst,meta,err := g.Query(`SELECT * FROM /matrix/system/hostinfo where depot['111']='11'`)
  279. //rst,meta,err := g.Query(`Insert into /matrix/portal/tools name='对象管理' cnname='对象管理' enname='OMDB' icon='omdb.png' seat=10 selected=0 url='/janesware/omdb'`)
  280. //rst,meta,err := g.Query(`insert into /matrix/entity/linux (id, contain) values ('linux:wecise',["app:cassandra1"])`)
  281. //rst,meta,err := g.Query(`SELECT host as host2, class, app FROM /matrix/devops/event/ facet host2 as hello`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false, NotAddFields:true} )
  282. //rst,meta,err := g.Query(`select * from /matrix/devops/event/ facet vtime{"old":[,'-1 day'],"new":['-1 day',]}`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false} )
  283. //rst,meta,err := g.Query(`select * from /matrix/devops/performance facet value{"small":[,10],"big":[10,]}`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false} )
  284. if err != nil {
  285. logger.Info("Query error:" + err.Error())
  286. logger.Warn(meta["type"])
  287. } else {
  288. logger.Info("rst ===>", rst)
  289. //logger.Error("meta ===>", meta)
  290. if meta["trace"] != nil && len(meta["trace"].([]string)) > 0 {
  291. for _, msg := range meta["trace"].([]string) {
  292. logger.Error(msg)
  293. }
  294. }
  295. logger.Warn(meta["columns"])
  296. logger.Warn(meta["params"])
  297. }
  298. }