boot1150.sql 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. { ************************************************************************* }
  2. { }
  3. { Licensed Materials - Property of IBM and/or HCL }
  4. { }
  5. { IBM Informix Dynamic Server }
  6. { (c) Copyright IBM Corporation 2008 All rights reserved. }
  7. { (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved. }
  8. { }
  9. { Title: boot1150.sql }
  10. { }
  11. { Description: }
  12. { Bootstrapping script for a 11.50 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 dba function informix.explain_sql(INOUT major_version int,
  30. INOUT minor_version int,
  31. requested_locale varchar(33),
  32. xml_input blob,
  33. xml_filter blob,
  34. OUT xml_output blob,
  35. OUT xml_message blob)
  36. returns blob as xml_plan
  37. with (HANDLESNULLS)
  38. external name '(explain_sql)'
  39. language C;
  40. grant execute on function informix.explain_sql(int, int, varchar(33), blob,
  41. blob, blob, blob) to public as informix;
  42. create dba function informix.xsltransform(informix.lvarchar,
  43. informix.lvarchar)
  44. returns informix.lvarchar(32739)
  45. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  46. PERCALL_COST = 32768 )
  47. external name '$INFORMIXDIR/lib/libxml.udr(xsltransform_lv)'
  48. language C;
  49. grant execute on function informix.xsltransform(informix.lvarchar, informix.lvarchar) to public as informix;
  50. create dba function informix.xsltransform(informix.clob,
  51. informix.lvarchar)
  52. returns informix.lvarchar(32739)
  53. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  54. PERCALL_COST = 32768 )
  55. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformincloblv)'
  56. language C;
  57. grant execute on function informix.xsltransform(informix.clob,informix.lvarchar)
  58. to public as informix;
  59. create dba function informix.xsltransform(informix.clob,
  60. informix.clob)
  61. returns informix.lvarchar(32739)
  62. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  63. PERCALL_COST = 32768 )
  64. external name '$INFORMIXDIR/lib/libxml.udr(xsltransforminclob)'
  65. language C;
  66. grant execute on function informix.xsltransform(informix.clob,informix.clob)
  67. to public as informix;
  68. create dba function informix.xsltransform(informix.blob,
  69. informix.lvarchar)
  70. returns informix.lvarchar(32739)
  71. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  72. PERCALL_COST = 32768 )
  73. external name '$INFORMIXDIR/lib/libxml.udr(xsltransforminbloblv)'
  74. language C;
  75. grant execute on function informix.xsltransform(informix.blob,informix.lvarchar)
  76. to public as informix;
  77. create dba function informix.xsltransform(informix.blob,
  78. informix.blob)
  79. returns informix.lvarchar(32739)
  80. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  81. PERCALL_COST = 32768 )
  82. external name '$INFORMIXDIR/lib/libxml.udr(xsltransforminblob)'
  83. language C;
  84. grant execute on function informix.xsltransform(informix.blob,informix.blob)
  85. to public as informix;
  86. create dba function informix.xsltransformAsClob(informix.lvarchar,
  87. informix.lvarchar)
  88. returns informix.clob
  89. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  90. PERCALL_COST = 32768 )
  91. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformclobinlv)'
  92. language C;
  93. grant execute on function informix.xsltransformAsClob(informix.lvarchar,informix.lvarchar) to public as informix;
  94. create dba function informix.xsltransformAsClob(informix.clob,
  95. informix.lvarchar)
  96. returns informix.clob
  97. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  98. PERCALL_COST = 32768 )
  99. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformclob_lv)'
  100. language C;
  101. grant execute on function informix.xsltransformAsClob(informix.clob,informix.lvarchar) to public as informix;
  102. create dba function informix.xsltransformAsClob(informix.clob,
  103. informix.clob)
  104. returns informix.clob
  105. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  106. PERCALL_COST = 32768 )
  107. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformclob)'
  108. language C;
  109. grant execute on function informix.xsltransformAsClob(informix.clob,informix.clob) to public as informix;
  110. create dba function informix.xsltransformAsBlob(informix.lvarchar,
  111. informix.lvarchar)
  112. returns informix.blob
  113. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  114. PERCALL_COST = 32768 )
  115. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformblobinlv)'
  116. language C;
  117. grant execute on function informix.xsltransformAsBlob(informix.lvarchar,informix.lvarchar) to public as informix;
  118. create dba function informix.xsltransformAsBlob(informix.blob,
  119. informix.lvarchar)
  120. returns informix.blob
  121. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  122. PERCALL_COST = 32768 )
  123. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformblob_lv)'
  124. language C;
  125. grant execute on function informix.xsltransformAsBlob(informix.blob,informix.lvarchar) to public as informix;
  126. create dba function informix.xsltransformAsBlob(informix.blob,
  127. informix.blob)
  128. returns informix.blob
  129. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE, CLASS = 'idsxmlvp',
  130. PERCALL_COST = 32768 )
  131. external name '$INFORMIXDIR/lib/libxml.udr(xsltransformblob)'
  132. language C;
  133. grant execute on function informix.xsltransformAsBlob(informix.blob,informix.blob) to public as informix;
  134. create dba function informix.ifx_checksum(informix.bigint, informix.integer)
  135. returns informix.integer
  136. with (NOT VARIANT, HANDLESNULLS, PARALLELIZABLE)
  137. external name '(bigint_checksum)'
  138. language C;
  139. grant execute on function informix.ifx_checksum(informix.bigint, informix.integer) to public as informix;
  140. { RCI and STATIC HASH index methods }
  141. create function informix.rci_create(informix.pointer)
  142. returns int
  143. external name '(rci_create)'
  144. language C;
  145. grant execute on function informix.rci_create(informix.pointer) to public as informix;
  146. create function informix.rci_drop(informix.pointer)
  147. returns int
  148. external name '(rci_drop)'
  149. language C;
  150. grant execute on function informix.rci_drop(informix.pointer) to public as informix;
  151. create function informix.rci_open(informix.pointer)
  152. returns int
  153. external name '(rci_open)'
  154. language C;
  155. grant execute on function informix.rci_open(informix.pointer) to public as informix;
  156. create function informix.rci_close(informix.pointer)
  157. returns int
  158. external name '(rci_close)'
  159. language C;
  160. grant execute on function informix.rci_close(informix.pointer) to public as informix;
  161. create function informix.rci_insert(informix.pointer, informix.pointer, informix.pointer)
  162. returns int
  163. external name '(shash_stub3)'
  164. language C;
  165. grant execute on function informix.rci_insert(informix.pointer, informix.pointer, informix.pointer) to public as informix;
  166. create function informix.rci_delete(informix.pointer, informix.pointer, informix.pointer)
  167. returns int
  168. external name '(shash_stub3)'
  169. language C;
  170. grant execute on function informix.rci_delete(informix.pointer, informix.pointer, informix.pointer) to public as informix;
  171. create function informix.rci_update(informix.pointer, informix.pointer, informix.pointer, informix.pointer, informix.pointer)
  172. returns int
  173. external name '(shash_stub5)'
  174. language C;
  175. grant execute on function informix.rci_update(informix.pointer, informix.pointer, informix.pointer, informix.pointer, informix.pointer) to public as informix;
  176. create function informix.rci_beginscan(informix.pointer)
  177. returns int
  178. external name '(rci_beginscan)'
  179. language C;
  180. grant execute on function informix.rci_beginscan(informix.pointer) to public as informix;
  181. create function informix.rci_scancost(informix.pointer)
  182. returns float
  183. external name '(rci_scancost)'
  184. language C;
  185. grant execute on function informix.rci_scancost(informix.pointer) to public as informix;
  186. create function informix.rci_endscan(informix.pointer)
  187. returns int
  188. external name '(rci_endscan)'
  189. language C;
  190. grant execute on function informix.rci_endscan(informix.pointer) to public as informix;
  191. create function informix.rci_rescan(informix.pointer)
  192. returns int
  193. external name '(rci_rescan)'
  194. language C;
  195. grant execute on function informix.rci_rescan(informix.pointer) to public as informix;
  196. create function informix.rci_getnext(informix.pointer, informix.pointer, informix.pointer)
  197. returns int
  198. external name '(rci_getnext)'
  199. language C;
  200. grant execute on function informix.rci_getnext(informix.pointer, informix.pointer, informix.pointer) to public as informix;
  201. create secondary access_method informix.ifx_rci (
  202. am_create = informix.rci_create,
  203. am_drop = informix.rci_drop,
  204. am_open = informix.rci_open,
  205. am_close = informix.rci_close,
  206. am_insert = informix.rci_insert,
  207. am_delete = informix.rci_delete,
  208. am_update = informix.rci_update,
  209. am_scancost = informix.rci_scancost,
  210. am_beginscan = informix.rci_beginscan,
  211. am_endscan = informix.rci_endscan,
  212. am_rescan = informix.rci_rescan,
  213. am_getnext = informix.rci_getnext,
  214. am_sptype = 'D',
  215. am_unique);
  216. create function informix.shash_create(informix.pointer)
  217. returns int
  218. external name '(shash_create)'
  219. language C;
  220. grant execute on function informix.shash_create(informix.pointer) to public as informix;
  221. create function informix.shash_drop(informix.pointer)
  222. returns int
  223. external name '(shash_stub1)'
  224. language C;
  225. grant execute on function informix.shash_drop(informix.pointer) to public as informix;
  226. create function informix.shash_open(informix.pointer)
  227. returns int
  228. external name '(shash_stub1)'
  229. language C;
  230. grant execute on function informix.shash_open(informix.pointer) to public as informix;
  231. create function informix.shash_close(informix.pointer)
  232. returns int
  233. external name '(shash_stub1)'
  234. language C;
  235. grant execute on function informix.shash_close(informix.pointer) to public as informix;
  236. create function informix.shash_insert(informix.pointer, informix.pointer, informix.pointer)
  237. returns int
  238. external name '(shash_stub3)'
  239. language C;
  240. grant execute on function informix.shash_insert(informix.pointer, informix.pointer, informix.pointer) to public as informix;
  241. create function informix.shash_delete(informix.pointer, informix.pointer, informix.pointer)
  242. returns int
  243. external name '(shash_stub3)'
  244. language C;
  245. grant execute on function informix.shash_delete(informix.pointer, informix.pointer, informix.pointer) to public as informix;
  246. create function informix.shash_update(informix.pointer, informix.pointer, informix.pointer, informix.pointer, informix.pointer)
  247. returns int
  248. external name '(shash_stub5)'
  249. language C;
  250. grant execute on function informix.shash_update(informix.pointer, informix.pointer, informix.pointer, informix.pointer, informix.pointer) to public as informix;
  251. create function informix.shash_beginscan(informix.pointer)
  252. returns int
  253. external name '(shash_beginscan)'
  254. language C;
  255. grant execute on function informix.shash_beginscan(informix.pointer) to public as informix;
  256. create function informix.shash_scancost(informix.pointer)
  257. returns float
  258. external name '(shash_scancost)'
  259. language C;
  260. grant execute on function informix.shash_scancost(informix.pointer) to public as informix;
  261. create function informix.shash_endscan(informix.pointer)
  262. returns int
  263. external name '(shash_endscan)'
  264. language C;
  265. grant execute on function informix.shash_endscan(informix.pointer) to public as informix;
  266. create function informix.shash_rescan(informix.pointer)
  267. returns int
  268. external name '(shash_rescan)'
  269. language C;
  270. grant execute on function informix.shash_rescan(informix.pointer) to public as informix;
  271. create function informix.shash_getnext(informix.pointer, informix.pointer, informix.pointer)
  272. returns int
  273. external name '(shash_getnext)'
  274. language C;
  275. grant execute on function informix.shash_getnext(informix.pointer, informix.pointer, informix.pointer) to public as informix;
  276. create secondary access_method informix.ifx_shash (
  277. am_create = informix.shash_create,
  278. am_drop = informix.shash_drop,
  279. am_open = informix.shash_open,
  280. am_close = informix.shash_close,
  281. am_insert = informix.shash_insert,
  282. am_delete = informix.shash_delete,
  283. am_update = informix.shash_update,
  284. am_scancost = informix.shash_scancost,
  285. am_beginscan = informix.shash_beginscan,
  286. am_endscan = informix.shash_endscan,
  287. am_rescan = informix.shash_rescan,
  288. am_getnext = informix.shash_getnext,
  289. am_sptype = 'D',
  290. am_unique);
  291. create function informix.bytetoblob(references byte, char(128), char(128))
  292. returns informix.blob
  293. external name '(bytetoblob_colspec)'
  294. language c not variant;
  295. grant execute on function informix.bytetoblob(references byte, char(128), char(128))
  296. to public as informix;
  297. create function informix.texttoclob(references text, char(128), char(128))
  298. returns informix.clob
  299. external name '(bytetoblob_colspec)'
  300. language c not variant;
  301. grant execute on function informix.texttoclob(references text, char(128), char(128))
  302. to public as informix;