boot1210.sql 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714
  1. { ************************************************************************* }
  2. { }
  3. { Licensed Materials - Property of IBM and/or HCL }
  4. { }
  5. { IBM Informix Dynamic Server }
  6. { Copyright IBM Corporation 2011, 2013 }
  7. { (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved. }
  8. { }
  9. { Title: boot1210.sql }
  10. { }
  11. { Description: }
  12. { Bootstrapping script for a 12.10 database }
  13. { }
  14. { ************************************************************************* }
  15. { }
  16. { ** IMPORTANT - PLEASE READ }
  17. { }
  18. { All types and routines referenced in this file must be prefixed }
  19. { with the user name "informix". E.g., use "informix.boolean" }
  20. { and not "boolean" }
  21. { }
  22. { Also, please follow the formatting conventions!!! }
  23. { }
  24. { Please ensure that the identifiers that you choose are <= 18 }
  25. { characters in length. Otherwise the changes would affect database }
  26. { reversion. }
  27. { }
  28. { ************************************************************************* }
  29. create procedure informix.dummyproc_1210()
  30. end procedure;
  31. grant execute on procedure informix.dummyproc_1210 to public as informix;
  32. { drop version 11.70 IWA admin SQL routines }
  33. drop procedure if exists informix.probe2mart(varchar,varchar,int8);
  34. drop function if exists informix.genmartdef(varchar);
  35. drop function if exists informix.setupdwa(varchar,varchar,varchar,varchar);
  36. drop function if exists informix.removedwa(varchar);
  37. drop function if exists informix.getdwastat(varchar);
  38. drop function if exists informix.createmart(varchar,clob);
  39. drop function if exists informix.createmart(varchar,varchar,varchar);
  40. drop function if exists informix.dropmart(varchar,varchar);
  41. drop function if exists informix.loadmart(varchar,varchar,varchar);
  42. drop function if exists informix.setmart(varchar,varchar,varchar);
  43. drop function if exists informix.getmartdef(varchar,varchar);
  44. drop function if exists informix.getmartstat(varchar,varchar);
  45. drop function if exists informix.listmarts(varchar);
  46. drop procedure if exists informix.def2mart(varchar,varchar,varchar);
  47. drop procedure if exists informix.xml2mart(clob,varchar);
  48. drop function if exists informix.getdwametrics(varchar);
  49. drop function if exists informix.dropPartMart(varchar,varchar,varchar,varchar,varchar);
  50. drop function if exists informix.loadPartMart(varchar,varchar,varchar,varchar,varchar);
  51. create dba procedure
  52. informix.ifx_grid_copy(
  53. informix.lvarchar,
  54. informix.lvarchar)
  55. with (handlesnulls)
  56. external name '(grid_copy1)'
  57. language C
  58. end procedure;
  59. grant execute on procedure informix.ifx_grid_copy(
  60. informix.lvarchar,
  61. informix.lvarchar)
  62. to public as informix;
  63. create dba procedure
  64. informix.ifx_grid_copy(
  65. informix.lvarchar,
  66. informix.lvarchar,
  67. informix.lvarchar)
  68. with (handlesnulls)
  69. external name '(grid_copy2)'
  70. language C
  71. end procedure;
  72. grant execute on procedure informix.ifx_grid_copy(
  73. informix.lvarchar,
  74. informix.lvarchar,
  75. informix.lvarchar)
  76. to public as informix;
  77. create dba procedure
  78. informix.ifx_grid_copy(
  79. informix.lvarchar,
  80. informix.lvarchar,
  81. informix.lvarchar,
  82. informix.lvarchar)
  83. with (handlesnulls)
  84. external name '(grid_copy3)'
  85. language C
  86. end procedure;
  87. grant execute on procedure informix.ifx_grid_copy(
  88. informix.lvarchar,
  89. informix.lvarchar,
  90. informix.lvarchar,
  91. informix.lvarchar)
  92. to public as informix;
  93. create dba function
  94. informix.ifx_file_checksum(informix.lvarchar)
  95. returns integer
  96. external name '(ifx_get_file_checksum)'
  97. language C;
  98. grant execute on function informix.ifx_file_checksum(informix.lvarchar)
  99. to public as informix;
  100. create dba function
  101. informix.ifx_bit_leftshift(integer, integer)
  102. returns integer
  103. external name '(ifx_bit_leftShift1)'
  104. language C;
  105. grant execute on function informix.ifx_bit_leftshift(integer, integer)
  106. to public as informix;
  107. create dba function
  108. informix.ifx_bit_leftShift(informix.bigint, integer)
  109. returns informix.bigint
  110. external name '(ifx_bit_leftShift2)'
  111. language C;
  112. grant execute on function
  113. informix.ifx_bit_leftShift(informix.bigint, integer)
  114. to public as informix;
  115. create dba function
  116. informix.ifx_bit_rightshift(integer, integer)
  117. returns integer
  118. external name '(ifx_bit_rightShift1)'
  119. language C;
  120. grant execute on function informix.ifx_bit_rightshift(integer, integer)
  121. to public as informix;
  122. create dba function
  123. informix.ifx_bit_rightShift(informix.bigint, integer)
  124. returns informix.bigint
  125. external name '(ifx_bit_rightShift2)'
  126. language C;
  127. grant execute on function
  128. informix.ifx_bit_rightShift(informix.bigint, integer)
  129. to public as informix;
  130. create dba function informix.cdrcmdLV(informix.integer, informix.integer,
  131. informix.integer)
  132. returns informix.lvarchar
  133. external name '(cdrcmdLV_3)'
  134. language C;
  135. grant execute on function informix.cdrcmdLV(informix.integer, informix.integer,
  136. informix.integer)
  137. to public as informix;
  138. create dba function informix.ifx_node_id()
  139. returns integer as ifx_node_id
  140. with (not variant)
  141. external name '(ifx_grid_id)'
  142. language C;
  143. grant execute on function
  144. informix.ifx_node_id()
  145. to public as informix;
  146. create dba function informix.ifx_node_name()
  147. returns informix.lvarchar as ifx_node_name
  148. with (not variant)
  149. external name '(ifx_grid_name)'
  150. language C;
  151. grant execute on function
  152. informix.ifx_node_name()
  153. to public as informix;
  154. create function
  155. informix.syspurge(loglevel integer default 0,
  156. tabid integer default 0)
  157. returns integer
  158. external name '(ifx_syspurge)'
  159. language C;
  160. grant execute on function
  161. informix.syspurge(integer, integer)
  162. to public as informix;
  163. create dba function informix.cdrcmd_get(informix.integer)
  164. returns informix.lvarchar
  165. external name '(cdrcmd_get)'
  166. language C;
  167. grant execute on function informix.cdrcmd_get(informix.integer)
  168. to public as informix;
  169. create dba function informix.ifx_gridquery_skipped_nodes()
  170. returns informix.lvarchar
  171. external name '(gridQueryGetSkippedNode)'
  172. language C;
  173. grant execute on function informix.ifx_gridquery_skipped_nodes()
  174. to public as informix;
  175. create dba function informix.ifx_gridquery_skipped_node_count()
  176. returns integer
  177. external name '(gridQueryGetSkippedNodeCount)'
  178. language C;
  179. grant execute on function informix.ifx_gridquery_skipped_node_count()
  180. to public as informix;
  181. create dba function informix.ifx_grid_release(
  182. informix.lvarchar, informix.lvarchar)
  183. returns integer
  184. external name '(ifx_grid_release)'
  185. language C;
  186. grant execute on function informix.ifx_grid_release(
  187. informix.lvarchar, informix.lvarchar)
  188. to public as informix;
  189. create dba function informix.ifx_grid_remove(
  190. informix.lvarchar, informix.lvarchar)
  191. returns integer
  192. external name '(ifx_grid_remove)'
  193. language C;
  194. grant execute on function informix.ifx_grid_remove(
  195. informix.lvarchar, informix.lvarchar)
  196. to public as informix;
  197. /*---------- longlvarchar built-in UDT -------------------------*/
  198. create opaque type informix.longlvarchar
  199. (
  200. internallength=variable,
  201. maxlen=4096,
  202. alignment=4,
  203. cannothash
  204. );
  205. create implicit cast(lvarchar as longlvarchar with informix.llvc_in);
  206. create implicit cast(longlvarchar as lvarchar with informix.llvc_out);
  207. create explicit cast(longlvarchar as sendrecv with informix.llvc_send);
  208. create implicit cast(sendrecv as longlvarchar with informix.llvc_recv);
  209. create implicit cast(impexp as longlvarchar with informix.llvc_import_txt);
  210. create explicit cast(longlvarchar as impexp with informix.llvc_export_txt);
  211. create implicit cast(impexpbin as longlvarchar with informix.llvc_import_bin);
  212. create explicit cast(longlvarchar as impexpbin with informix.llvc_export_bin);
  213. create dba function informix.llvc_in(lvarchar) returns longlvarchar
  214. with (not variant, parallelizable)
  215. external name '(llvc_input)' language c;
  216. create dba function informix.llvc_out(longlvarchar) returns lvarchar
  217. with (not variant, parallelizable)
  218. external name '(llvc_output)' language c;
  219. create dba function informix.llvc_send(longlvarchar) returns sendrecv
  220. with (not variant, parallelizable)
  221. external name '(llvc_send)' language c;
  222. create dba function informix.llvc_recv(sendrecv) returns longlvarchar
  223. with (not variant, parallelizable)
  224. external name '(llvc_recv)' language c;
  225. create dba function informix.llvc_import_txt(impexp) returns longlvarchar
  226. with (not variant, parallelizable)
  227. external name '(llvc_import_txt)' language c;
  228. create dba function informix.llvc_export_txt(longlvarchar) returns impexp
  229. with (not variant, parallelizable)
  230. external name '(llvc_export_txt)' language c;
  231. create dba function informix.llvc_import_bin(impexpbin) returns longlvarchar
  232. with (not variant, parallelizable)
  233. external name '(llvc_import_bin)' language c;
  234. create dba function informix.llvc_export_bin(longlvarchar) returns impexpbin
  235. with (not variant, parallelizable)
  236. external name '(llvc_export_bin)' language c;
  237. create dba function informix.streamwrite(informix.stream, informix.longlvarchar)
  238. returns informix.integer
  239. external name '(llvc_streamwrite)' language c;
  240. create dba function informix.streamread(informix.stream, out informix.longlvarchar)
  241. returns informix.integer
  242. external name '(llvc_streamread)' language c;
  243. create dba function informix.assign(longlvarchar) returns longlvarchar
  244. external name '(llvc_assign)' language c;
  245. create dba procedure informix.destroy(longlvarchar)
  246. external name '(llvc_destroy)' language c
  247. end procedure;
  248. create dba function informix.deepcopy(longlvarchar) returns longlvarchar
  249. external name '(llvc_deep_copy)' language c;
  250. create function informix.compare(informix.longlvarchar, informix.longlvarchar)
  251. returns integer
  252. external name '(llvc_cmp)' language c not variant;
  253. create function informix.equal(informix.longlvarchar, informix.longlvarchar)
  254. returns informix.boolean
  255. external name '(llvc_eq)' language c not variant;
  256. create function informix.notequal(informix.longlvarchar, informix.longlvarchar)
  257. returns informix.boolean
  258. external name '(llvc_ne)' language c not variant;
  259. create function informix.greaterthan(informix.longlvarchar, informix.longlvarchar)
  260. returns informix.boolean
  261. external name '(llvc_gt)' language c not variant;
  262. create function informix.lessthan(informix.longlvarchar, informix.longlvarchar)
  263. returns informix.boolean
  264. external name '(llvc_lt)' language c not variant;
  265. create function informix.greaterthanorequal(informix.longlvarchar, informix.longlvarchar)
  266. returns informix.boolean
  267. external name '(llvc_ge)' language c not variant;
  268. create function informix.lessthanorequal(informix.longlvarchar, informix.longlvarchar)
  269. returns informix.boolean
  270. external name '(llvc_le)' language c not variant;
  271. grant execute on function informix.llvc_in(lvarchar) to public as informix;
  272. grant execute on function informix.llvc_out(longlvarchar) to public as informix;
  273. grant execute on function informix.llvc_send(longlvarchar) to public as informix;
  274. grant execute on function informix.llvc_recv(sendrecv) to public as informix;
  275. grant execute on function informix.llvc_import_txt(impexp) to public as informix;
  276. grant execute on function informix.llvc_export_txt(longlvarchar) to public as informix;
  277. grant execute on function informix.llvc_import_bin(impexpbin) to public as informix;
  278. grant execute on function informix.llvc_export_bin(longlvarchar) to public as informix;
  279. grant execute on function informix.assign(longlvarchar) to public as informix;
  280. grant execute on procedure informix.destroy(longlvarchar) to public as informix;
  281. grant execute on function informix.deepcopy(longlvarchar) to public as informix;
  282. grant execute on function informix.compare(longlvarchar, longlvarchar) to public as informix;
  283. grant execute on function informix.equal(longlvarchar, longlvarchar) to public as informix;
  284. grant execute on function informix.notequal(longlvarchar, longlvarchar) to public as informix;
  285. grant execute on function informix.greaterthan(longlvarchar, longlvarchar) to public as informix;
  286. grant execute on function informix.lessthan(longlvarchar, longlvarchar) to public as informix;
  287. grant execute on function informix.greaterthanorequal(longlvarchar, longlvarchar) to public as informix;
  288. grant execute on function informix.lessthanorequal(longlvarchar, longlvarchar) to public as informix;
  289. /*---------- json built-in UDT -------------------------*/
  290. create opaque type informix.json
  291. (
  292. internallength=variable,
  293. maxlen=4096,
  294. alignment=4
  295. );
  296. create implicit cast(lvarchar as json with informix.json_in);
  297. create implicit cast(json as lvarchar with informix.json_out);
  298. create explicit cast(json as sendrecv with informix.json_send);
  299. create implicit cast(sendrecv as json with informix.json_recv);
  300. create implicit cast(impexp as json with informix.json_import_txt);
  301. create explicit cast(json as impexp with informix.json_export_txt);
  302. create implicit cast(impexpbin as json with informix.json_import_bin);
  303. create explicit cast(json as impexpbin with informix.json_export_bin);
  304. create dba function informix.json_in(lvarchar) returns json
  305. with (not variant, parallelizable)
  306. external name '(json_input)' language c;
  307. create dba function informix.json_out(json) returns lvarchar
  308. with (not variant, parallelizable)
  309. external name '(json_out)' language c;
  310. create dba function informix.json_send(json) returns sendrecv
  311. with (not variant, parallelizable)
  312. external name '(json_send)' language c;
  313. create dba function informix.json_recv(sendrecv) returns json
  314. with (not variant, parallelizable)
  315. external name '(json_recv)' language c;
  316. create dba function informix.json_import_txt(impexp) returns json
  317. with (not variant, parallelizable)
  318. external name '(json_import_txt)' language c;
  319. create dba function informix.json_export_txt(json) returns impexp
  320. with (not variant, parallelizable)
  321. external name '(json_export_txt)' language c;
  322. create dba function informix.json_import_bin(impexpbin) returns json
  323. with (not variant, parallelizable)
  324. external name '(json_import_bin)' language c;
  325. create dba function informix.json_export_bin(json) returns impexpbin
  326. with (not variant, parallelizable)
  327. external name '(json_export_bin)' language c;
  328. create dba function informix.streamwrite(informix.stream, informix.json)
  329. returns informix.integer
  330. external name '(json_streamwrite)' language c;
  331. create dba function informix.streamread(informix.stream, out informix.json)
  332. returns informix.integer
  333. external name '(json_streamread)' language c;
  334. create dba function informix.assign(json) returns json
  335. external name '(json_assign)' language c;
  336. create dba procedure informix.destroy(json)
  337. external name '(json_type_destroy)' language c
  338. end procedure;
  339. create dba function informix.deepcopy(json) returns json
  340. external name '(json_deep_copy)' language c;
  341. create function informix.compare(informix.json, informix.json)
  342. returns integer
  343. external name '(json_cmp)' language c not variant;
  344. create function informix.equal(informix.json, informix.json)
  345. returns informix.boolean
  346. external name '(json_eq)' language c not variant;
  347. create function informix.notequal(informix.json, informix.json)
  348. returns informix.boolean
  349. external name '(json_ne)' language c not variant;
  350. grant execute on function informix.json_in(lvarchar) to public as informix;
  351. grant execute on function informix.json_out(json) to public as informix;
  352. grant execute on function informix.json_send(json) to public as informix;
  353. grant execute on function informix.json_recv(sendrecv) to public as informix;
  354. grant execute on function informix.json_import_txt(impexp) to public as informix;
  355. grant execute on function informix.json_export_txt(json) to public as informix;
  356. grant execute on function informix.json_import_bin(impexpbin) to public as informix;
  357. grant execute on function informix.json_export_bin(json) to public as informix;
  358. grant execute on function informix.assign(json) to public as informix;
  359. grant execute on procedure informix.destroy(json) to public as informix;
  360. grant execute on function informix.deepcopy(json) to public as informix;
  361. grant execute on function informix.compare(json, json) to public as informix;
  362. grant execute on function informix.equal(json, json) to public as informix;
  363. grant execute on function informix.notequal(json, json) to public as informix;
  364. /*---------- bson built-in UDT -------------------------*/
  365. create opaque type informix.bson
  366. (
  367. internallength=variable,
  368. maxlen=4096,
  369. alignment=4
  370. );
  371. create implicit cast(lvarchar as bson with informix.bson_in);
  372. create implicit cast(bson as lvarchar with informix.bson_out);
  373. create explicit cast(bson as sendrecv with informix.bson_send);
  374. create implicit cast(sendrecv as bson with informix.bson_recv);
  375. create implicit cast(impexp as bson with informix.bson_import_txt);
  376. create explicit cast(bson as impexp with informix.bson_export_txt);
  377. create implicit cast(impexpbin as bson with informix.bson_import_bin);
  378. create explicit cast(bson as impexpbin with informix.bson_export_bin);
  379. create dba function informix.bson_in(lvarchar) returns bson
  380. with (not variant, parallelizable)
  381. external name '(bson_input)' language c;
  382. create dba function informix.bson_out(bson) returns lvarchar
  383. with (not variant, parallelizable)
  384. external name '(bson_output)' language c;
  385. create dba function informix.bson_send(bson) returns sendrecv
  386. with (not variant, parallelizable)
  387. external name '(bson_send)' language c;
  388. create dba function informix.bson_recv(sendrecv) returns bson
  389. with (not variant, parallelizable)
  390. external name '(bson_recv)' language c;
  391. create dba function informix.bson_import_txt(impexp) returns bson
  392. with (not variant, parallelizable)
  393. external name '(bson_import_txt)' language c;
  394. create dba function informix.bson_export_txt(bson) returns impexp
  395. with (not variant, parallelizable)
  396. external name '(bson_export_txt)' language c;
  397. create dba function informix.bson_import_bin(impexpbin) returns bson
  398. with (not variant, parallelizable)
  399. external name '(bson_import_bin)' language c;
  400. create dba function informix.bson_export_bin(bson) returns impexpbin
  401. with (not variant, parallelizable)
  402. external name '(bson_export_bin)' language c;
  403. create dba function informix.streamwrite(informix.stream, informix.bson)
  404. returns informix.integer
  405. external name '(bson_streamwrite)' language c;
  406. create dba function informix.streamread(informix.stream, out informix.bson)
  407. returns informix.integer
  408. external name '(bson_streamread)' language c;
  409. create dba function informix.assign(bson) returns bson
  410. external name '(bson_assign)' language c;
  411. create dba procedure informix.destroy(bson)
  412. external name '(bson_type_destroy)' language c
  413. end procedure;
  414. create dba function informix.deepcopy(bson) returns bson
  415. external name '(bson_deep_copy)' language c;
  416. create function informix.bson_extract(informix.bson, informix.lvarchar)
  417. returns informix.bson
  418. external name '(bson_extract)' language c not variant;
  419. create function informix.compare(informix.bson, informix.bson)
  420. returns integer
  421. external name '(bson_cmpr)' language c not variant;
  422. grant execute on function informix.bson_in(lvarchar) to public as informix;
  423. grant execute on function informix.bson_out(bson) to public as informix;
  424. grant execute on function informix.bson_send(bson) to public as informix;
  425. grant execute on function informix.bson_recv(sendrecv) to public as informix;
  426. grant execute on function informix.bson_import_txt(impexp) to public as informix;
  427. grant execute on function informix.bson_export_txt(bson) to public as informix;
  428. grant execute on function informix.bson_import_bin(impexpbin) to public as informix;
  429. grant execute on function informix.bson_export_bin(bson) to public as informix;
  430. grant execute on function informix.assign(bson) to public as informix;
  431. grant execute on procedure informix.destroy(bson) to public as informix;
  432. grant execute on function informix.deepcopy(bson) to public as informix;
  433. grant execute on function informix.bson_extract(bson, lvarchar) to public as informix;
  434. grant execute on function informix.compare(bson, bson) to public as informix;
  435. create dba function informix.jsonoutput(informix.bson) returning informix.json
  436. external name '(json_output)'
  437. language c not variant;
  438. grant execute on function informix.jsonoutput(bson) to public as informix;
  439. create dba function informix.bson_valid(informix.bson) returning informix.lvarchar
  440. external name '(bson_valid)'
  441. language c not variant;
  442. grant execute on function informix.bson_valid(informix.bson) to public as informix;
  443. create explicit cast(informix.bson as informix.json with informix.jsonoutput);
  444. create implicit cast (informix.json as informix.bson with
  445. informix.json_to_bson);
  446. create dba function informix.json_to_bson(informix.json) returning informix.bson
  447. external name '(json_to_bson_output)'
  448. language c not variant;
  449. grant execute on function informix.json_to_bson(json) to public as informix;
  450. create dba function informix.ifx_shard_delete(informix.lvarchar, informix.lvarchar,
  451. informix.lvarchar)
  452. returning integer
  453. external name '(ifx_shard_delete)'
  454. language C not variant;
  455. grant execute on function informix.ifx_shard_delete(informix.lvarchar,
  456. informix.lvarchar, informix.lvarchar)
  457. to public as informix;
  458. create function informix.ifx_Collection_Create(informix.lvarchar,
  459. informix.lvarchar, informix.lvarchar default NULL)
  460. returning integer
  461. with (handlesnulls)
  462. external name '(json_collection_create)'
  463. language C;
  464. grant execute on function informix.ifx_Collection_Create(informix.lvarchar,
  465. informix.lvarchar, informix.lvarchar )
  466. to public as informix;
  467. create function informix.ifx_Collection_Drop( informix.lvarchar,
  468. informix.lvarchar default NULL)
  469. returning integer
  470. with (handlesnulls)
  471. external name '(json_collection_drop)'
  472. language C;
  473. grant execute on function informix.ifx_Collection_Drop( informix.lvarchar,
  474. informix.lvarchar )
  475. to public as informix;
  476. create function informix.ifx_Collection_Index_Create(
  477. informix.lvarchar, informix.lvarchar,
  478. informix.lvarchar, informix.lvarchar, informix.lvarchar,
  479. informix.INTEGER DEFAULT 0, informix.lvarchar DEFAULT NULL)
  480. returning integer
  481. with (handlesnulls)
  482. external name '(json_collection_index_create)'
  483. language C;
  484. grant execute on function informix.ifx_Collection_Index_Create(
  485. informix.lvarchar, informix.lvarchar, informix.lvarchar,
  486. informix.lvarchar, informix.lvarchar, informix.INTEGER,
  487. informix.lvarchar )
  488. to public as informix;
  489. create function informix.ifx_Collection_Index_Drop(
  490. informix.lvarchar, informix.lvarchar default NULL)
  491. returning integer
  492. with (handlesnulls)
  493. external name '(json_collection_index_drop)'
  494. language C;
  495. grant execute on function informix.ifx_Collection_Index_Drop(
  496. informix.lvarchar, informix.lvarchar)
  497. to public as informix;
  498. create function informix.ifx_explain(informix.lvarchar)
  499. returns lvarchar
  500. external name '(sql_sqexplain_single_statement)'
  501. language C;
  502. grant execute on function informix.ifx_explain(informix.lvarchar)
  503. to public as informix;
  504. create function informix.bson_explain(informix.lvarchar)
  505. returns bson
  506. external name '(bson_sqexplain_single_statement)'
  507. language C;
  508. grant execute on function informix.bson_explain(informix.lvarchar)
  509. to public as informix;
  510. create function informix.addtoset_init(informix.bson)
  511. returns informix.lvarchar with (handlesnulls, not variant)
  512. external name '(bson_addtoset_init)' language c;
  513. create function informix.addtoset_iter(informix.lvarchar, informix.bson)
  514. returns informix.lvarchar with (handlesnulls, not variant)
  515. external name '(bson_addtoset_iter)' language c;
  516. create function informix.addtoset_final(informix.lvarchar)
  517. returns informix.bson with (handlesnulls, not variant)
  518. external name '(bson_addtoset_final)' language c;
  519. create function informix.addtoset_combine(informix.lvarchar, informix.lvarchar)
  520. returns informix.lvarchar with (handlesnulls, not variant)
  521. external name '(bson_addtoset_combine)' language c ;
  522. create function informix.addtoset2_init(informix.bson)
  523. returns informix.lvarchar with (handlesnulls, not variant)
  524. external name '(bson_addtoset2_init)' language c;
  525. create function informix.addtoset2_iter(informix.lvarchar, informix.bson)
  526. returns informix.lvarchar with (handlesnulls, not variant)
  527. external name '(bson_addtoset2_iter)' language c;
  528. create function informix.addtoset2_final(informix.lvarchar)
  529. returns informix.bson with (handlesnulls, not variant)
  530. external name '(bson_addtoset2_final)' language c;
  531. create function informix.addtoset2_combine(informix.lvarchar, informix.lvarchar)
  532. returns informix.lvarchar with (handlesnulls, not variant)
  533. external name '(bson_addtoset2_combine)' language c;
  534. create function informix.push_init(informix.bson)
  535. returns informix.lvarchar with (handlesnulls, not variant)
  536. external name '(bson_push_init)' language c;
  537. create function informix.push_iter(informix.lvarchar, informix.bson)
  538. returns informix.lvarchar with (handlesnulls, not variant)
  539. external name '(bson_push_iter)' language c;
  540. create function informix.push_final(informix.lvarchar)
  541. returns informix.bson with (handlesnulls, not variant)
  542. external name '(bson_push_final)' language c;
  543. create function informix.push_combine(informix.lvarchar, informix.lvarchar)
  544. returns informix.lvarchar with (handlesnulls, not variant)
  545. external name '(bson_push_combine)' language c ;
  546. create function informix.push2_init(informix.bson)
  547. returns informix.lvarchar with (handlesnulls, not variant)
  548. external name '(bson_push2_init)' language c;
  549. create function informix.push2_iter(informix.lvarchar, informix.bson)
  550. returns informix.lvarchar with (handlesnulls, not variant)
  551. external name '(bson_push2_iter)' language c;
  552. create function informix.push2_final(informix.lvarchar)
  553. returns informix.bson with (handlesnulls, not variant)
  554. external name '(bson_push2_final)' language c;
  555. create function informix.push2_combine(informix.lvarchar, informix.lvarchar)
  556. returns informix.lvarchar with (handlesnulls, not variant)
  557. external name '(bson_push2_combine)' language c ;
  558. create aggregate informix.addtoset
  559. with(init = addtoset_init,
  560. iter = addtoset_iter,
  561. combine = addtoset_combine,
  562. final = addtoset_final,
  563. handlesnulls);
  564. create aggregate informix.addtoset2
  565. with(init = addtoset2_init,
  566. iter = addtoset2_iter,
  567. combine = addtoset2_combine,
  568. final = addtoset2_final,
  569. handlesnulls);
  570. create aggregate informix.push
  571. with(init = push_init,
  572. iter = push_iter,
  573. combine = push_combine,
  574. final = push_final,
  575. handlesnulls);
  576. create aggregate informix.push2
  577. with(init = push2_init,
  578. iter = push2_iter,
  579. combine = push2_combine,
  580. final = push2_final,
  581. handlesnulls);