testcreate.go 44 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037
  1. package main
  2. import (
  3. //"fmt"
  4. //"time"
  5. . "git.wecise.com/wecise/odbserver/odb"
  6. "git.wecise.com/wecise/odbserver/odb/test"
  7. "gitee.com/wecisecode/util/logger"
  8. )
  9. // CGO_ENABLED=1 go run --ldflags '-linkmode external -extldflags "-static"' testcreate.go
  10. // #cgo LDFLAGS: -L/opt/odbserver/sqlite -lsqlite -ldl
  11. // #include "/opt/odbserver/sqlite/sqlite.h"
  12. // #include <stdint.h>
  13. // #include <stdlib.h>
  14. // extern int64_t uhaha_seed;
  15. // extern int64_t uhaha_ts;
  16. // void uhaha_begin_reader();
  17. // void uhaha_end_reader();
  18. import "C"
  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: "oootest", DisableInitialHostLookup: true, DisableTask: true, DisableNotify: 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. // 测试 返回树形结构
  34. /*
  35. str,err := g.GetClassChildren(-1)
  36. if err != nil {
  37. fmt.Println("GetClassChildren error:"+err.Error())
  38. }else{
  39. fmt.Println("Children:=>" + str)
  40. }
  41. */
  42. // 测试 插入、更新类,删除field ,"cid":2,
  43. // 测试 删除类
  44. /*
  45. err := g.DeleteClass(8)
  46. if err != nil {
  47. fmt.Println("DeleteClass error:"+err.Error())
  48. }
  49. */
  50. // 测试 插入对象
  51. /*
  52. objsstr := `[ {"class":"test","id":11}, {"class":"test"}, {"class":"test2","vtime":"1970-01-01T00:00:00Z"}]`
  53. if err := g.CreateObjectsFromjson(objsstr,[]string{"class","aaa"}) ;err != nil {
  54. logger.Fatal(err.Error())
  55. }
  56. */
  57. /*
  58. objs := make([]map[string]interface{},3)
  59. objs[0] = map[string]interface{}{"class":"test","id" :"1234567890"}
  60. objs[1] = map[string]interface{}{"class":"test"}
  61. objs[2] = map[string]interface{}{"class":"test2","vtime":"1970-01-01T00:00:00Z"}
  62. if err := g.CreateObjectsFromMap(objs,[]string{"class","aaa"}) ;err != nil {
  63. logger.Fatal(err.Error())
  64. }
  65. */
  66. // 测试 返回对象名称
  67. /*
  68. if rtn,err := g.GetDisplayName([]string{"class","id"},"") ;err != nil {
  69. logger.Fatal(err.Error())
  70. }else{
  71. for k,v := range rtn {
  72. fmt.Printf(" %s :",k)
  73. for i:=0 ;i<len(v) ;i++ {
  74. fmt.Printf(" %s :",v)
  75. }
  76. fmt.Println()
  77. }
  78. }
  79. if rtn,err := g.GetDisplayName([]string{"class","id"},"1") ;err != nil {
  80. logger.Fatal(err.Error())
  81. }else{
  82. for k,v := range rtn {
  83. fmt.Printf(" %s :",k)
  84. for i:=0 ;i<len(v) ;i++ {
  85. fmt.Printf(" %s :",v)
  86. }
  87. fmt.Println()
  88. }
  89. }
  90. */
  91. // 测试MQL
  92. //rst,err := g.Query(`SELECT id,vtime,usname FROM /core/user/ WHERE usname prefix 'admin' && email like 'admin*' `)
  93. //rst,err := g.Query(`SELECT id,vtime,usname FROM /core/user `)
  94. //rst,err := g.Query(`SELECT * FROM /matrix/jobs/runinfo`)
  95. //rst,err := g.Query(`SELECT id,vtime,class FROM / WHERE class IN ('test') LIMIT 10`)
  96. //rst,err := g.Query(`SELECT id,vtime,class FROM / WHERE id = 1234567890 LIMIT 10`)
  97. //rst,err := g.Query(`SELECT type,id FROM /matrix/log/cassandra WHERE type =~ '^[C' limit 10`)
  98. //rst,err := g.Query(`SELECT id,vtime,class FROM /core/ `)
  99. //rst,err := g.Query(`SELECT id,vtime,class FROM /matrix/performance WHERE id='13722093446131916505' limit 10`, false)
  100. //rst,err := g.Query(`SELECT id,vtime,class FROM /matrix/performance WHERE id='13722093446131916505' limit 10`, false)
  101. //rst,err := g.Query(`SELECT id,vtime,class,kpi_code FROM /matrix/performance WHERE mydate daterange ('20150324','20150325') limit 10`)
  102. //rst,err := g.Query(`select name,jobstatus as status from /matrix/jobs/jobrun where jobstatus > 5 limit 10`,false)
  103. //rst,err := g.Query(`select * from /matrix/jobs/jobrun where vtime > '2016-03-07 15:51:43.581'`,false)
  104. //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)
  105. //rst,err := g.Query(`select host, inst, param, value, vtime from /matrix/devops/performance/ where host='mxsvr201' with version`)
  106. //rst,meta,err := g.Query(`insert into /matrix/system/policy name = 'test', domain = 'cmd', innername = 'test', branch = 'test', version = '1.1', policy = {"args":"","bin":"test.sh","cron":"0/1 * * * * * *","dir":"test-1.1","rule":"/matrix/rules/test"}, tags = ["test"]`)
  107. //rst,meta,err := g.Query(`DELETE FROM /matrix/system/depot WHERE id ='18179445224353971852' with version;`)
  108. /*rst,err := g.Query(`select app,
  109. biz,
  110. card,
  111. class,
  112. ctime,
  113. hdware,
  114. host,
  115. id,
  116. inst,
  117. ip,
  118. name,
  119. org,
  120. param,
  121. src,
  122. tags,
  123. value,
  124. vtime from /matrix/devops/performance limit 200 with version`,false)*/
  125. //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})
  126. //rst,meta,err := g.Query(`select name from /matrix/system/depot where branch = 'test1' and domian = 'cmd' limit 1`)
  127. /*rst,meta,err := g.Query(`
  128. CREATE CLASS IF NOT EXISTS /matrix/clickcount (
  129. date varchar "日期",
  130. count int "点击次数",
  131. INDEX(date),
  132. KEYS(date)
  133. ) WITH autosearch=true,Alias='点击次数',nickname='clickcount'`) */
  134. /*rst,meta,err := g.Query(`create class /matrix/testaa (
  135. bbssss varchar "22222",
  136. keys(bbssss),
  137. index(bbssss)
  138. )`)
  139. */
  140. /*rst,meta,err := g.Query(`create class if not exists /matrix/portal/tools2 (
  141. cnname varchar,
  142. enname varchar,
  143. url varchar,
  144. icon varchar,
  145. seat int,
  146. target varchar,
  147. selected int,
  148. groups map<varchar, varchar>,
  149. indexes(name,cnname,enname,url,icon,seat,target,selected,groups),
  150. keys(name, cnname)
  151. );`)*/
  152. /*rst,err := g.Query(`create class if not exists /matrix (
  153. &name ,
  154. status int '状态',
  155. indexes(name,status)
  156. );
  157. create class if not exists /matrix/tags (
  158. &name,
  159. keys(name)
  160. );
  161. create class if not exists /matrix/devops (
  162. biz varchar ,
  163. org varchar ,
  164. host varchar ,
  165. ip varchar ,
  166. app varchar ,
  167. inst varchar ,
  168. param varchar ,
  169. hdware varchar ,
  170. card varchar ,
  171. src varchar,
  172. script text,
  173. keys(biz,org,ip,app,inst,param,hdware,card),
  174. indexes(biz,org,host,ip,app,inst,param,hdware,card, src,script)
  175. );
  176. create class if not exists /matrix/jobs ();
  177. create class if not exists /matrix/jobs/jobrun (
  178. runid bigint,
  179. boxid bigint,
  180. dir text,
  181. cmds list<varchar>,
  182. jobstatus int,
  183. stime timestamp,
  184. etime timestamp,
  185. keys(dir,name),
  186. indexes(runid,boxid,name,dir,cmds,jobstatus,stime{"type":"date", "pattern":"yyyy/MM/dd HH:mm:ss.SSS"},etime{"type":"date", "pattern":"yyyy/MM/dd HH:mm:ss.SSS"})
  187. );
  188. create class if not exists /matrix/jobs/cmdrun (
  189. &runid,
  190. &boxid,
  191. &dir,
  192. &host,
  193. jobtype int,
  194. source text,
  195. cmd text,
  196. pid int,
  197. &jobstatus,
  198. &stime,
  199. &etime,
  200. code int,
  201. out text,
  202. err text,
  203. keys(dir,name,cmd),
  204. indexes(jobtype,source,cmd,pid,code,out,err)
  205. );
  206. create class if not exists /matrix/devops/performance (
  207. value float '性能值',
  208. ctime timestamp '采集时间',
  209. kpiid varchar,
  210. kpiencode varchar,
  211. indexes(param,value,ctime{"type":"date", "pattern":"yyyy/MM/dd HH:mm:ss.SSS"}, kpiid, kpiencode)
  212. );
  213. create class if not exists /matrix/devops/event (
  214. severity varchar '级别',
  215. msg text '摘要',
  216. eventstatus varchar '告警状态',
  217. &ctime '采集时间',
  218. &kpiid,
  219. &kpiencode,
  220. indexes(severity,eventstatus,msg, kpiid, kpiencode)
  221. );
  222. `,false)*/
  223. /*rst,meta, err := g.Query(`create class if not exists /matrix/entity/physical_resource_obj/park ( keys( id) )with autosearch=true , alias='physical_resource_obj' , nickname='park' ;
  224. `,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  225. */
  226. /*
  227. rst,meta, err := g.Query(`create class if not exists /matrix/testbucket7/subbk(
  228. host varchar,
  229. real map<varchar,varchar> ,
  230. bk2 bucket 'full',
  231. keys(host),
  232. indexes(host)
  233. ) with nickname='subbk';`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  234. */
  235. /*
  236. rst,meta, err := g.Query(`create class if not exists /matrix/testbucket5 (
  237. host varchar,
  238. real map<varchar,varchar>,
  239. bklog bucket {
  240. "type" : "bitlog",
  241. "files": ["*.log"],
  242. "sample" : ["2020-05-15 00:49:59,666"],
  243. "ttl" : 365
  244. } 'full',
  245. keys(host),
  246. indexes(host)
  247. ) with nickname='testbucket5';`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  248. */
  249. //rst,meta, err := g.Query(`drop class if exists /matrix/devops/alert_status`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  250. /*rst,meta, err := g.Query(`create class if not exists /matrix/test/Car (
  251. wheel Wheel[4..4],
  252. remark varchar,
  253. indexes(remark)
  254. ) with nickname='Car', key=manu ;
  255. `,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})*/
  256. /*rst,meta, err := g.Query(`drop class /matrix/test/oo/dimension
  257. `,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})*/
  258. /*
  259. rst,meta, err := g.Query(`create class if not exists /seedo/model/mpdu (
  260. desc varchar "设备描述" ,
  261. devicename varchar "设备名称" ,
  262. deviceoid varchar "OID" ,
  263. ip varchar "ip" ,
  264. perfstructure varchar "性能结构描述" ,
  265. values bucket {"desc":["在线点","电压值 L1","回路电压值 C1","回路电压值 C2","电流值 L1","回路电流值 C1","回路电流值 C2","功率值 L1","回路功率值 C1","回路功率值 C2","电能值 L1","回路电能值 C1","回路电能值 C2","功率因数值 L1","回路功率因数值 C1","回路功率因数值 C2","Output 1 电流值","Output 2 电流值","Output 3 电流值","Output 4 电流值","Output 5 电流值","Output 6 电流值","Output 7 电流值","Output 8 电流值","Output 9 电流值","Output 10 电流值","Output 11 电流值","Output 12 电流值","Output 13 电流值","Output 14 电流值","Output 15 电流值","Output 16 电流值","Output 17 电流值","Output 18 电流值","Output 19 电流值","Output 20 电流值","Output 21 电流值","Output 22 电流值","Output 23 电流值","Output 24 电流值","Output 1 功率值","Output 2 功率值","Output 3 功率值","Output 4 功率值","Output 5 功率值","Output 6 功率值","Output 7 功率值","Output 8 功率值","Output 9 功率值","Output 10 功率值","Output 11 功率值","Output 12 功率值","Output 13 功率值","Output 14 功率值","Output 15 功率值","Output 16 功率值","Output 17 功率值","Output 18 功率值","Output 19 功率值","Output 20 功率值","Output 21 功率值","Output 22 功率值","Output 23 功率值","Output 24 功率值","Output 1 电能值","Output 2 电能值","Output 3 电能值","Output 4 电能值","Output 5 电能值","Output 6 电能值","Output 7 电能值","Output 8 电能值","Output 9 电能值","Output 10 电能值","Output 11 电能值","Output 12 电能值","Output 13 电能值","Output 14 电能值","Output 15 电能值","Output 16 电能值","Output 17 电能值","Output 18 电能值","Output 19 电能值","Output 20 电能值","Output 21 电能值","Output 22 电能值","Output 23 电能值","Output 24 电能值","Output 1 功率因数值","Output 2 功率因数值","Output 3 功率因数值","Output 4 功率因数值","Output 5 功率因数值","Output 6 功率因数值","Output 7 功率因数值","Output 8 功率因数值","Output 9 功率因数值","Output 10 功率因数值","Output 11 功率因数值","Output 12 功率因数值","Output 13 功率因数值","Output 14 功率因数值","Output 15 功率因数值","Output 16 功率因数值","Output 17 功率因数值","Output 18 功率因数值","Output 19 功率因数值","Output 20 功率因数值","Output 21 功率因数值","Output 22 功率因数值","Output 23 功率因数值","Output 24 功率因数值","Output 1 开/关状态","Output 2 开/关状态","Output 3 开/关状态","Output 4 开/关状态","Output 5 开/关状态","Output 6 开/关状态","Output 7 开/关状态","Output 8 开/关状态","Output 9 开/关状态","Output 10 开/关状态","Output 11 开/关状态","Output 12 开/关状态","Output 13 开/关状态","Output 14 开/关状态","Output 15 开/关状态","Output 16 开/关状态","Output 17 开/关状态","Output 18 开/关状态","Output 19 开/关状态","Output 20 开/关状态","Output 21 开/关状态","Output 22 开/关状态","Output 23 开/关状态","Output 24 开/关状态","温度值 1","温度值 2","温度值 3","温度值 4","总电压告警 L1","回路电压告警 C1","回路电压告警 C2","总电流告警 L1","回路电流告警 C1","回路电流告警 C2","Output 1 电流告警","Output 2 电流告警","Output 3 电流告警","Output 4 电流告警","Output 5 电流告警","Output 6 电流告警","Output 7 电流告警","Output 8 电流告警","Output 9 电流告警","Output 10 电流告警","Output 11 电流告警","Output 12 电流告警","Output 13 电流告警","Output 14 电流告警","Output 15 电流告警","Output 16 电流告警","Output 17 电流告警","Output 18 电流告警","Output 19 电流告警","Output 20 电流告警","Output 21 电流告警","Output 22 电流告警","Output 23 电流告警","Output 24 电流告警","温度告警 1","温度告警 2","湿度告警 1","湿度告警 2","第一路断路器告警标识","第二路断路器告警标识","总电能 L1 清零","回路电能 C1 清零","回路电能 C2 清零","Output 1 电能清零","Output 2 电能清零","Output 3 电能清零","Output 4 电能清零","Output 5 电能清零","Output 6 电能清零","Output 7 电能清零","Output 8 电能清零","Output 9 电能清零","Output 10 电能清零","Output 11 电能清零","Output 12 电能清零","Output 13 电能清零","Output 14 电能清零","Output 15 电能清零","Output 16 电能清零","Output 17 电能清零","Output 18 电能清零","Output 19 电能清零","Output 20 电能清零","Output 21 电能清零","Output 22 电能清零","Output 23 电能清零","Output 24 电能清零"],"params":[["${1,113-136,141-203}","int","","${desc[0,112-135,140-202]}","1,113-136,141-203"],["${2-4}","int","V","${desc[1-3]}","2-4"],["${5-7,17-40}","int","A","${desc[4-6,16-39]}","5-7,17-40"],["${8-10,41-64}","int","KVA","${desc[7-9,40-63]}","8-10,41-64"],["${11-13,65-88}","int","KWH","${desc[10-12,64-87]}","11-13,65-88"],["${14-16,89-112}","int","%","${desc[13-15,88-111]}","14-16,89-112"],["${137-140}","int","℃","${desc[136-139]}","137-140"]],"ttl":365,"type":"tsdb"} "full" ,
  266. keys( devicename,deviceoid,ip) ,
  267. index( desc,devicename,deviceoid,ip,perfstructure)
  268. )with alias='mpdu' , nickname='mpdu' ;`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  269. */
  270. /*
  271. rst,meta, err := g.Query(`create class if not exists /matrix/bucket10 (
  272. host varchar,
  273. real map<varchar,varchar>,
  274. bk2 bucket {
  275. "type" : "tsdb",
  276. "params": [["iparam${1-4}","int","ms","this is iparam${1-4}","1-4"],
  277. ["iparam${7-9,11}","int","ms","this is iparam${7-9,11}","7-9,11"],
  278. ["fparam${10}","decimal(4)","ms","this is fparam","10"],
  279. ["fparam${12,13-16,17-19}","decimal(4)","ms","this is fparam","12,13-16,17-19"],
  280. ["fparam${5,6}","decimal(4)","ms","this is fparam","5,6"]
  281. ],
  282. "ttl" : 365
  283. } 'full',
  284. keys(host),
  285. indexes(host)
  286. ) with nickname='bucket10';`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  287. */
  288. /*rst,meta, err := g.Query(`create class if not exists /test/donghuan/B (
  289. ip varchar "ip" ,
  290. devicename varchar "设备名称" ,
  291. deviceoid varchar "OID" ,
  292. perfstructure varchar "性能结构描述",
  293. desc varchar "设备描述",
  294. values bucket {
  295. "type" : "tsdb",
  296. "params": [
  297. ["${1-5}","int","","${desc[1-5]}"],
  298. ["${6-9}","int","MB","${desc[6-9]}"],
  299. ["10","int","%","CUP使用率"],
  300. ["${11-12,15-16}","int","MB","${desc[11-12,15-16]}"],
  301. ["${13-14,17-18}","int","KB/s","${desc[13-14,17-18]}"]
  302. ],
  303. "desc": ["在线点","及早期火警","及早期预警","DO1","DO2","系统分区总容量","系统分区剩余量","数据分区总容量","数据分区剩余量","内存总容量","内存剩余量","网卡1上行速度","网卡1下行速度","网卡1上行总量","网卡1下行总量","网卡2上行速度","网卡2下行速度","网卡2上行总量","网卡2下行总量"],
  304. "ttl" : 365
  305. } 'full',
  306. keys(ip,devicename,deviceoid),
  307. indexes(ip,devicename,deviceoid)
  308. ) with alias='A', nickname='A';`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  309. */
  310. /*
  311. rst,err := g.Query(`
  312. drop class /matrix/nnnn2;
  313. `,false)
  314. */
  315. //rst,err := g.Query(`drop class /matrix/ldapaa `,false)
  316. /*rst,_,err := g.Query(`select _tokens,
  317. class,
  318. day,
  319. id,
  320. name,
  321. status,
  322. vtime from /matrix/`)
  323. */
  324. //rst,_,err := g.Query(`delete from /matrix/devops/event/`)
  325. //rst,_,err := g.Query(`delete from /matrix/devops/log/test2 with version`)
  326. //rst,meta,err := g.Query(`select count(*) from /matrix/devops/event`,&QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false})
  327. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") return name,status`)
  328. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:esx4")`)
  329. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:esx4")`)
  330. //rst,err := g.Query(`create edge type aaa '萨芬', bbb '斯蒂芬'`)
  331. //rst,err := g.Query(`insert edge (host:测试服务器1, app:weblogic1), (host:测试服务器2, app:weblogic2) with contain`)
  332. //rst,_,err := g.Query(`insert edge from host:测试服务器1, app:weblogic1 to host:测试服务器2, app:weblogic2 with contain {this is test option}`)
  333. //rst, _,err := g.Query(`select node id from host:mxsvr201 with contain,depend`)
  334. //rst,err := g.Query(`drop edge type aaa, bbb`)
  335. //rst,meta,err := g.Query(`select entity from /matrix/devops/event e join ("linux:wecise")-[*]->(p:app) on e.entity=p.id`)
  336. //rst,meta,err := g.Query(`select id, host, entity from /matrix/devops/event e join (p:"app:cassandra1") on e.entity=p.id`)
  337. //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} )
  338. //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} )
  339. //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} )
  340. // slow
  341. //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} )
  342. //bug
  343. //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} )
  344. //bug
  345. //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} )
  346. //bug
  347. //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} )
  348. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  349. //bug
  350. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  351. //bug
  352. //rst,meta,err := g.Query(`match ("biz:查账系统")-[:contain*1]->()-[*]->("linux:*")-[*1]->("esx:*") `, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  353. //bug !!!
  354. //rst,meta,err := g.Query(`SELECT max(value) FROM /matrix/devops/performance`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  355. //bug
  356. //rst,meta,err := g.Query(`SELECT max(severity) FROM /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  357. //bug
  358. //rst,meta,err := g.Query(`select param from /matrix/devops/performance/ order by param asc`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  359. //_,meta,err := g.Query(`update edge type refer '引用引用'`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  360. /*t1 := time.Now()
  361. _,meta,err := g.Query(`select entity,msg,host,i.id,i.name,p.param,p.value,l.msg from /matrix/devops/event/ e join (i:/matrix/entity/switch where id='switch:switch1' or name='switch:switch2') on e.entity=i.id and e.entity=i.name join (p:/matrix/devops/performance/ where entity like 'switch:*' and value>30) on e.entity=p.entity join (l:/matrix/devops/log where entity like 'switch:*' and msg like '*error*') on e.entity=l.entity limit -1`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  362. logger.Warn("duration ==>", time.Now().Sub(t1))
  363. */
  364. //bug
  365. //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} )
  366. //rst,meta,err := g.Query(`match ("biz:查账系统")-[:refer*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  367. //rst,meta,err := g.Query(`match ("biz:认证系统")-[*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  368. //rst,meta,err := g.Query(`match ("9788404371073416132")-[*1]->()`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  369. //bug
  370. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:linux[1-5]")-[*1]->("esx:esx1")`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  371. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("esx:esx1") return name,status`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  372. //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`)
  373. //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} )
  374. //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} )
  375. //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} )
  376. //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} )
  377. //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} )
  378. //rst,meta,err := g.Query(`UPDATE /matrix/entity/zdgt_host SET virtual3=['zdgt_vm:vm4'] where zdgt_id=3`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false} )
  379. /*rst,meta,err := g.Query(`
  380. create class if not exists /test/bucketpromdb (
  381. host varchar,
  382. prom bucket {
  383. "type" : "promdb",
  384. "ttl" : 365
  385. } 'full',
  386. keys(host),
  387. indexes(host)
  388. ) with key=manu, nickname='bucketpromdb'
  389. `, &QueryMeta{Return: ReturnAll} )*/
  390. /*
  391. rst,meta,err := g.Query(`
  392. create class if not exists /matrix/applet (
  393. xid int "id",
  394. xcode varchar "code",
  395. xkey varchar "key",
  396. xcreateBy varchar "createBy",
  397. xcreateByView varchar "createByView",
  398. xcreateTime timestamp "createTime",
  399. xupdateBy varchar "updateBy",
  400. xupdateByView varchar "updateByView",
  401. xupdateTime timestamp "updateTime",
  402. xversion int "version",
  403. xlocale varchar "locale",
  404. xsortNumber int "sortNumber",
  405. xenableFlag int "enableFlag",
  406. xdeleteFlag int "deleteFlag",
  407. xextend text "",
  408. vtime timestamp "vtime",
  409. keys(xid),
  410. indexes(xid,xcode,xkey)
  411. );
  412. create class if not exists /matrix/applet/dash095();
  413. create class if not exists /matrix/applet/dash095/report();
  414. alter class /matrix/applet/dash095/report add index column z8038reportname varchar 'reportName', z8043reportgroup varchar 'reportGroup', z8039setcodes varchar 'setCodes', z8040setparam varchar 'setParam', z8041reporttype varchar 'reportType', z8042reportimage varchar 'reportImage', z8035reportdesc varchar 'reportDesc', z8036jsonstr varchar 'jsonStr', z8037total varchar 'total' ;
  415. `, &QueryMeta{Return: ReturnAll} )*/
  416. //rst,meta,err := g.Query(` drop class /test/bucketpromdbsync `, &QueryMeta{Return: ReturnAll} )
  417. rst, meta, err := g.Query(`
  418. create class if not exists cypher : / ()with ttl=366 day , autosearch=true , version=false , key=manu, alias='cypher', namespace='cypher';
  419. `)
  420. /*rst, meta, err := g.Query(`
  421. `)*/
  422. /*rst,meta,err := g.Query(` create class if not exists /matrix/alerts_status (
  423. acknowledged int "acknowledged",
  424. admin varchar "admin",
  425. adminphone varchar "adminphone",
  426. agent varchar "agent",
  427. alarmkey varchar "alarmkey",
  428. alarmtype varchar "alarmtype",
  429. alertgroup varchar "alertgroup",
  430. alertkey varchar "alertkey",
  431. duration int "duration",
  432. severity enum {
  433. "3":["Info", "消息"],
  434. "4":["Warn", "警告"],
  435. "5":["Error", "错误"],
  436. "6":["Fatal", "致命错误"],
  437. "0":["Unknown", "未知"],
  438. "1":["Trace", "追踪"],
  439. "2":["Debug", "调试"]} "severity",
  440. alertsubtype varchar "alertsubtype",
  441. alerttype varchar "alerttype",
  442. area varchar "area",
  443. bname varchar "bname",
  444. bsm_classname varchar "bsm_classname",
  445. bsm_identity varchar "bsm_identity",
  446. bsm_subidentity varchar "bsm_subidentity",
  447. businessimpact int "businessimpact",
  448. bussinesscategory varchar "bussinesscategory",
  449. causetype int "causetype",
  450. ccpc int "ccpc",
  451. ccpcbank varchar "ccpcbank",
  452. chineseflag int "chineseflag",
  453. ciid varchar "ciid",
  454. cmdbenrichstatus int "cmdbenrichstatus",
  455. cname varchar "cname",
  456. cnsummary varchar "cnsummary",
  457. contact varchar "contact",
  458. contactman varchar "contactman",
  459. contactphone varchar "contactphone",
  460. corrscore int "corrscore",
  461. customer varchar "customer",
  462. deviceios varchar "deviceios",
  463. devicelocation varchar "devicelocation",
  464. devicemodel varchar "devicemodel",
  465. devicepurpose varchar "devicepurpose",
  466. devicetype varchar "devicetype",
  467. domaingroup varchar "domaingroup",
  468. domainsubgroup varchar "domainsubgroup",
  469. emailstatus int "emailstatus",
  470. entity varchar "entity",
  471. eventclass varchar "eventclass",
  472. eventid varchar "eventid",
  473. eventstatus int "eventstatus",
  474. eventtime varchar "eventtime",
  475. eventtype enum {
  476. "13":["应用类告警"],
  477. "14":["硬件类告警"],
  478. "99":["其他类告警"],
  479. "10":["主机告警"],
  480. "11":["数据库告警"],
  481. "12":["中间件类告警"]} "eventtype",
  482. evtproccode varchar "evtproccode",
  483. expiretime int "expiretime",
  484. explain varchar "explain",
  485. extendedattr varchar "extendedattr",
  486. firstoccurrence timestamp "firstoccurrence",
  487. flag int "flag",
  488. flash int "flash",
  489. grade int "grade",
  490. identifier varchar "identifier",
  491. idname varchar "idname",
  492. impactflag int "impactflag",
  493. instance varchar "instance",
  494. internallast timestamp "internallast",
  495. itmdisplayitem varchar "itmdisplayitem",
  496. lastoccurrence timestamp "lastoccurrence",
  497. localnodealias varchar "localnodealias",
  498. localobjrelate int "localobjrelate",
  499. localpriobj varchar "localpriobj",
  500. localrootobj varchar "localrootobj",
  501. localsecobj varchar "localsecobj",
  502. localtertobj varchar "localtertobj",
  503. location varchar "location",
  504. logticket int "logticket",
  505. lpar varchar "lpar",
  506. machineid varchar "machineid",
  507. maintainstatus int "maintainstatus",
  508. maintenance enum {
  509. "2":["false", "维护期外"],
  510. "0":["Unknown", "未知"],
  511. "1":["true", "维护期内"]} "maintenance",
  512. manager varchar "manager",
  513. market varchar "market",
  514. msg_id varchar "msg_id",
  515. n_maintenance_status int "n_maintenance_status",
  516. netype varchar "netype",
  517. nmoscausetype int "nmoscausetype",
  518. nmosdomainname varchar "nmosdomainname",
  519. nmosentityid int "nmosentityid",
  520. nmoseventmap varchar "nmoseventmap",
  521. nmosmanagedstatus int "nmosmanagedstatus",
  522. nmosobjinst int "nmosobjinst",
  523. nmosserial varchar "nmosserial",
  524. node varchar "node",
  525. nodealias varchar "nodealias",
  526. nodename varchar "nodename",
  527. nodetype varchar "nodetype",
  528. objectfullname varchar "objectfullname",
  529. oldrow int "oldrow",
  530. omni_class varchar "omni_class",
  531. omni_serial int "omni_serial",
  532. orgcode varchar "orgcode",
  533. originalseverity int "originalseverity",
  534. ownergid int "ownergid",
  535. owneruid int "owneruid",
  536. phone varchar "phone",
  537. physicalcabinet varchar "physicalcabinet",
  538. physicalcard varchar "physicalcard",
  539. physicallocation varchar "physicallocation",
  540. physicalport int "physicalport",
  541. physicalslot int "physicalslot",
  542. plateng varchar "plateng",
  543. platform varchar "platform",
  544. poll int "poll",
  545. probesubsecondid int "probesubsecondid",
  546. processreq int "processreq",
  547. recordtime int "recordtime",
  548. region varchar "region",
  549. remotenodealias varchar "remotenodealias",
  550. remoteobjrelate int "remoteobjrelate",
  551. remotepriobj varchar "remotepriobj",
  552. remoterootobj varchar "remoterootobj",
  553. remotesecobj varchar "remotesecobj",
  554. remotetertobj varchar "remotetertobj",
  555. resolve varchar "resolve",
  556. rowserial int "rowserial",
  557. servername varchar "servername",
  558. serverserial int "serverserial",
  559. service varchar "service",
  560. servicenowerrorcode int "servicenowerrorcode",
  561. servicenowstate int "servicenowstate",
  562. servicenowsysid varchar "servicenowsysid",
  563. siteid varchar "siteid",
  564. situationfullname varchar "situationfullname",
  565. smsflag int "smsflag",
  566. statechange timestamp "statechange",
  567. submodel varchar "submodel",
  568. subsystem varchar "subsystem",
  569. summary varchar "summary",
  570. suppressescl int "suppressescl",
  571. syscode varchar "syscode",
  572. sysplex varchar "sysplex",
  573. tally int "tally",
  574. tasklist int "tasklist",
  575. ticketstatus varchar "ticketstatus",
  576. tiggerflag int "tiggerflag",
  577. tsrmflag int "tsrmflag",
  578. ttnumber varchar "ttnumber",
  579. ttstate int "ttstate",
  580. ttuser varchar "ttuser",
  581. type enum {
  582. "0":["Type not set"],
  583. "1":["problem", "问题"],
  584. "2":["resolution", "恢复"],
  585. "7":["ISM new alarm", "问题"],
  586. "8":["ISM old alarm", "恢复"]} "type",
  587. upgradeflag int "upgradeflag",
  588. url varchar "url",
  589. x733corrnotif varchar "x733corrnotif",
  590. x733eventtype int "x733eventtype",
  591. x733probablecause int "x733probablecause",
  592. x733specificprob varchar "x733specificprob",
  593. keys( identifier) ,
  594. )with ttl=3 day , expire=3 day , autosearch=true , version=true , key=manu, alias='Tivoli告警事件' , nickname='alerts_status' , namespace='cncc' ; `);*/
  595. /*rst,meta,err := g.Query(`
  596. create class if not exists /matrix/applet (
  597. xid int "id",
  598. xcode varchar "code",
  599. xcode1 varchar "code",
  600. xcode2 varchar "code",
  601. xcode3 varchar "code",
  602. xcode4 varchar "code",
  603. xcode5 varchar "code",
  604. xcode6 varchar "code",
  605. xcode7 varchar "code",
  606. xcode8 varchar "code",
  607. xcode9 varchar "code",
  608. xcode10 varchar "code",
  609. xcode11 varchar "code",
  610. xcode12 varchar "code",
  611. xcode13 varchar "code",
  612. xcode14 varchar "code",
  613. xcode15 varchar "code",
  614. xcode16 varchar "code",
  615. xcode17 varchar "code",
  616. xcode18 varchar "code",
  617. xcode19 varchar "code",
  618. xcode20 varchar "code",
  619. xcode21 varchar "code",
  620. xcode22 varchar "code",
  621. xcode23 varchar "code",
  622. xcode24 varchar "code",
  623. xcode25 varchar "code",
  624. xcode26 varchar "code",
  625. xcode27 varchar "code",
  626. xcode28 varchar "code",
  627. xcode29 varchar "code",
  628. xcode30 varchar "code",
  629. xcode31 varchar "code",
  630. xcode32 varchar "code",
  631. xcode33 varchar "code",
  632. xcode34 varchar "code",
  633. xcode35 varchar "code",
  634. xcode36 varchar "code",
  635. xcode37 varchar "code",
  636. xcode38 varchar "code",
  637. xcode39 varchar "code",
  638. xcode40 varchar "code",
  639. xcode41 varchar "code",
  640. xcode42 varchar "code",
  641. xkey varchar "key",
  642. xcreateBy varchar "createBy",
  643. xcreateByView varchar "createByView",
  644. xcreateTime timestamp "createTime",
  645. xupdateBy varchar "updateBy",
  646. xupdateByView varchar "updateByView",
  647. xupdateTime timestamp "updateTime",
  648. xversion int "version",
  649. xlocale varchar "locale",
  650. xsortNumber int "sortNumber",
  651. xenableFlag int "enableFlag",
  652. xdeleteFlag int "deleteFlag",
  653. xextend text "",
  654. vtime timestamp "vtime",
  655. keys(xid),
  656. indexes(xid,xcode,xkey)
  657. )
  658. ` )*/
  659. //rst,meta,err := g.Query(``, &QueryMeta{Return: ReturnAll} )
  660. //rst,meta,err := g.Query(`DROP CLASS aaWorkPiece `, &QueryMeta{Return: ReturnAll} )
  661. //rst,meta,err := g.Query(`select id from /matrix/test/oo/wheel where dim.bk2.time("2020-05-15", "").sum(iparam1).groupby(sparam1).assert($2 > 0)`, &QueryMeta{Return: ReturnAll} )
  662. //rst,meta,err := g.Query(`insert into /matrix/test/myconflict(mykey, bb, cc) values(1, "test2", 12)`, &QueryMeta{Return: ReturnAll} )
  663. //rst,meta,err := g.Query(`insert into /matrix/test/myconflict(mykey, bb, cc) values(1, "test", 100) on conflict update bb=this.bb, cc=this.cc`, &QueryMeta{Return: ReturnAll} )
  664. //rst,meta,err := g.Query(`select bb, cc from /matrix/test/myconflict`, &QueryMeta{Return: ReturnAll} )
  665. //rst,meta,err := g.Query(`insert into /matrix/testgroup g1='g1' , g2='g2', g3='g34' , v1=1 , v2=2 , f1=1.1 , f2=1.2`)
  666. //rst,meta,err := g.Query(`update /matrix/entity/linux set name="linux:wecise33" where id="linux:wecise3"`)
  667. //rst,meta,err := g.Query(`SELECT count(*) FROM /matrix/devops/event`)
  668. /*rst,meta,err := g.Query(`select * from /matrix/devops/event`, &QueryMeta{Return: ReturnAll, MinAsteriskField: false, KeepClassID: false})*/
  669. //rst,meta,err := g.Query(`match ("linux:*")-[*]->("esx:*")-[*1]->("switch:*")`)
  670. //rst,meta,err := g.Query(`match ("biz:查账系统")-[*]->("linux:*")-[*1]->("esx:*")`)
  671. //rst,meta,err := g.Query(`match (p:"linux:linux[1-5]")-[*]->(q:"esx:esx4")`)
  672. //rst,meta,err := g.Query(`update /matrix/entity/linux set contain=["app:cassandra"] where id="linux:wecise"`)
  673. //rst,meta,err := g.Query(`alter class /matrix/devops/performance add index column taggroup2 map<varchar,varchar>`)
  674. //rst,meta,err := g.Query(`delete from /matrix/devops/performance with version`)
  675. //rst,meta,err := g.Query(`update /matrix/entity/linux set contain=nil where id="linux:wecise"`)
  676. //rst,meta,err := g.Query(`update /matrix/entity/linux set contain={"_all": ["app:cassandra"]} where id="linux:wecise",`)
  677. //rst,_,err := g.Query(`select * from /matrix/devops/中文测试`)
  678. //rst,err := g.Query(`drop class /matrix/relations`,false)
  679. //rst,err := g.Query(`drop class /matrix`,false)
  680. //rst,meta,err := g.Query(`update /matrix/system/hostinfo set depot={'test''4': 'values''hh'} where id="15639783474304169459"`)
  681. //rst,meta,err := g.Query(`SELECT depot FROM /matrix/system/hostinfo where depot[key]='test''4'`)
  682. //rst,meta,err := g.Query(`update /matrix/entity/switch set element=element + {"aa":"bb"} where id='switch:0switch1'`)
  683. //rst,meta,err := g.Query(`update /matrix/test set name="test8" , test="test" WHERE test2 = "Test22"`)
  684. //rst,meta,err := g.Query(`update json '{"class":"/matrix/ldap", "id":"15305020520705546474", "remark":"15919268718129958720,729969318835110277"}' `)
  685. //rst,err := g.Query(`delete from /matrix/ldap where fullname in ('/测试组','/测试组/testuser')`,false)
  686. //rst,err := g.Query(`delete from /matrix/ldap where fullname in ('aaa','testuser')`,false)
  687. //rst,meta,err := g.Query(`SELECT * FROM /matrix/system/hostinfo where depot['111']='11'`)
  688. //rst,meta,err := g.Query(`match ("well:well1")-[*]->("tank:tank1")`)
  689. //rst,meta,err := g.Query(`Insert into /matrix/portal/tools name='对象管理' cnname='对象管理' enname='OMDB' icon='omdb.png' seat=10 selected=0 url='/janesware/omdb'`)
  690. //rst,meta,err := g.Query(`insert into /matrix/entity/linux (id, contain) values ('linux:wecise',["app:cassandra1"])`)
  691. //rst,meta,err := g.Query(`match ("well:well1")-[*]->() with timeout=100`)
  692. //rst,meta,err := g.Query(`match ("well:well1")-[:connect*]->(:/matrix/entity/valve where name = 'valve:valve1')`)
  693. //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} )
  694. //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} )
  695. //rst,meta,err := g.Query(`select * from /matrix/devops/performance facet value{"small":[,10],"big":[10,]}`, &QueryMeta{Return: ReturnAll, MinAsteriskField: true, KeepClassID: false} )
  696. //rst,err := g.Query(`Insert into /matrix/flowmark/btndef script='return "hello" ',name='test',wfid=-1 `,false)
  697. /*
  698. rst,err := g.Query(`
  699. Insert into /matrix/flowmark/btndef script='print("hello")',name='test1',wfid=-1 ;
  700. Insert into /matrix/flowmark/btndef script='print("hello")',name='test2',wfid=-1 ;
  701. Insert into /matrix/flowmark/btndef script='print("hello")',name='test3',wfid=-1 ;
  702. Insert into /matrix/flowmark/btndef script='print("hello")',name='test4',wfid=-1 ;
  703. Insert into /matrix/flowmark/btndef script='print("hello")',name='test5',wfid=-1 ;
  704. `,false)
  705. */
  706. /*
  707. if fields, err := g.Query("select node,agent,summary from /matrix/event/tivoli where severity>=0 "); err != nil {
  708. fmt.Println(err.Error())
  709. }else{
  710. for i:=0 ; i< len(fields) ;i++ {
  711. fmt.Println(fields[i]["agent"].(string),fields[i]["summary"].(string))
  712. }
  713. }
  714. */
  715. /*
  716. if _, err := g.Query("truncate /matrix/event/open"); err != nil {
  717. fmt.Println(err.Error())
  718. }else{
  719. }
  720. */
  721. // 测试 Alter Table
  722. /*
  723. for i:=0 ; i<1000 ;i++ {
  724. sql := fmt.Sprintf(`ALTER TABLE object ADD H%d %s`,i,"text")
  725. logger.Debugf(sql)
  726. if err := g.GetSession().Query(sql).Consistency(gocql.Quorum).Exec(); err != nil {
  727. logger.Fatalf("ADD ERROR %v",err)
  728. }
  729. */
  730. /*
  731. for i:=0 ; i<1000 ;i++ {
  732. sql := fmt.Sprintf(`ALTER TABLE object DROP H%d `,i)
  733. logger.Debugf(sql)
  734. if err := g.GetSession().Query(sql).Consistency(gocql.Quorum).Exec(); err != nil {
  735. logger.Fatalf("DROP ERROR %v",err)
  736. }
  737. }
  738. */
  739. //rst,meta,err := g.Query(`create class if not exists Camry : Car () with key=manu`)
  740. //rst,meta,err := g.Query(`drop class /matrix/test/oo/car`)
  741. //rst,meta,err := g.Query(`delete from /matrix/test/oo/car with version`)
  742. /*if def, err := g.ClassDefine(316) ; err == nil {
  743. logger.Warn( def )
  744. }*/
  745. /*dfs := NewDFS(g)
  746. err = dfs.Rename("/temp/test", "/temp/testaaa")
  747. logger.Error(err)*/
  748. /*rst,meta,err := g.Query(`
  749. delete from /matrix/test/collectaa with version ;
  750. drop class /matrix/test/collectaa`)*/
  751. /*rst,meta,err := g.Query(`
  752. create class if not exists /matrix/test();
  753. create class if not exists /matrix/test/collectaa (
  754. v_varchar varchar,
  755. v_map map<varchar, varchar>,
  756. v_list list<varchar>,
  757. d_list double[1..5],
  758. f_list FFFLIST,
  759. i_list list<int>,
  760. v_set set<varchar>,
  761. v_type VVENUM,
  762. indexes(v_varchar, v_map, v_list, v_set, v_type, d_list, f_list, i_list),
  763. keys(v_varchar)
  764. );`)*/
  765. //rst,meta,err := g.Query(`drop class if exists /matrix/test/oo/wheel ; `)
  766. /*rst,meta,err := g.Query(`create class if not exists /matrix/test/buckettsdb (
  767. host varchar,
  768. bk2 bucket {
  769. "type" : "tsdb",
  770. "param" : ["iparam1","iparam2","fparam1","fparam2","sparam1","vparam1"],
  771. "ptype" : ["i","i","f","f","s","s"],
  772. "unit" : ["%","m","ms","ns","",""]
  773. "precision":[0,0,3,4,0,0],
  774. "ttl" : 365,
  775. "crc" : ["iparam1", "sparam1"]
  776. } 'full',
  777. keys(host),
  778. indexes(host)
  779. ) with key=manu, nickname='buckettsdb'
  780. `)*/
  781. /*rst,meta,err := g.Query(`CREATE CLASS IF NOT EXISTS MachineToolSpecification: MachineTool (
  782. machine_class MachineClass,
  783. device_id DeviceId,
  784. location Locator
  785. ); `)*/
  786. /*rst,meta,err := g.Query(`create class if not exists interface : /matrix/entity (
  787. aa int,
  788. myinterface interface,
  789. keys(aa)
  790. ) `)*/
  791. //rst,meta,err := g.Query(`drop class /matrix/test/oo/car/camry `)
  792. //rst,meta,err := g.Query(`create class if not exists Camry : Car () with key=manu ; `)
  793. /*rst,meta,err := g.Query(`
  794. create class if not exists Camry : Car () with key=manu
  795. `)*/
  796. /*rst,meta,err := g.Query(`
  797. create class if not exists /matrix/entity/wheel (
  798. size int '尺寸',
  799. color varchar '颜色'
  800. ) with ttl=366 day , alias='wheel', nickname='wheel';
  801. `)*/
  802. /*rst,meta,err := g.Query(`
  803. create class if not exists /matrix/entity/wheel (
  804. sise int "尺寸",
  805. color varchar "颜色"
  806. ) with ttl=366 day , alias='wheel', nickname='wheel';
  807. create class if not exists /matrix/entity/car (
  808. wheel wheel[4..4] "轮子",
  809. sise int "尺寸",
  810. color varchar "颜色"
  811. ) with ttl=366 day , alias='car', nickname='car';
  812. `)*/
  813. if err != nil {
  814. logger.Info("Query error:" + err.Error())
  815. logger.Warn(meta["type"])
  816. } else {
  817. logger.Info("rst ===>", rst)
  818. //logger.Error("meta ===>", meta)
  819. if meta["trace"] != nil && len(meta["trace"].([]string)) > 0 {
  820. for _, msg := range meta["trace"].([]string) {
  821. logger.Error(msg)
  822. }
  823. }
  824. logger.Warn(meta["columns"])
  825. }
  826. }