boot901.sql 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452
  1. { ************************************************************************* }
  2. { }
  3. { Licensed Materials - Property of IBM and/or HCL }
  4. { }
  5. { IBM Informix Dynamic Server }
  6. { (c) Copyright IBM Corporation 1996, 2004 All rights reserved. }
  7. { (c) Copyright HCL Technologies Ltd. 2017. All Rights Reserved. }
  8. { }
  9. { ************************************************************************* }
  10. { }
  11. { Title: boot901.sql }
  12. { }
  13. { Description: }
  14. { sql script for migrating from 9.00 database to a 9.00D1 database. }
  15. { construction. }
  16. { }
  17. { ************************************************************************* }
  18. { }
  19. { ** IMPORTANT - PLEASE READ }
  20. { }
  21. { All types and routines referenced in this file must be prefixed }
  22. { with the user name "informix". E.g., use "informix.boolean" }
  23. { and not "boolean" }
  24. { }
  25. { Also, please follow the formatting conventions!!! }
  26. { }
  27. { ************************************************************************* }
  28. -- Add all the language builtin functions for serial datatypes.
  29. create function informix.equal(serial, serial) returns informix.boolean
  30. specific ifx_serial_equal
  31. with (commutator = equal, negator = notequal, class = 'CPU',
  32. not variant)
  33. external name '9' language builtin;
  34. create function informix.equal(serial8, serial8) returns informix.boolean
  35. specific ifx_serial8_equal
  36. with (commutator = equal, negator = notequal, class = 'CPU',
  37. not variant)
  38. external name '9' language builtin;
  39. create function informix.notequal(serial, serial) returns informix.boolean
  40. specific ifx_serial_not_equal
  41. with (commutator = notequal, negator = equal, class = 'CPU',
  42. not variant)
  43. external name '26' language builtin;
  44. create function informix.notequal(serial8, serial8) returns informix.boolean
  45. specific ifx_serial8_not_equal
  46. with (commutator = notequal, negator = equal, class = 'CPU',
  47. not variant)
  48. external name '26' language builtin;
  49. create function informix.greaterthan(serial, serial) returns informix.boolean
  50. specific ifx_serial_greater_than
  51. with (negator = lessthanorequal, class = 'CPU', not variant)
  52. external name '13' language builtin;
  53. create function informix.greaterthan(serial8, serial8) returns informix.boolean
  54. specific ifx_serial8_greater_than
  55. with (negator = lessthanorequal, class = 'CPU', not variant)
  56. external name '13' language builtin;
  57. create function informix.lessthan(serial, serial) returns informix.boolean
  58. specific ifx_serial_less_than
  59. with (negator = greaterthanorequal, class = 'CPU', not variant)
  60. external name '18' language builtin;
  61. create function informix.lessthan(serial8, serial8) returns informix.boolean
  62. specific ifx_serial8_less_than
  63. with (negator = greaterthanorequal, class = 'CPU', not variant)
  64. external name '18' language builtin;
  65. create function informix.greaterthanorequal(serial, serial) returns informix.boolean
  66. specific ifx_serial_greater_than_or_equal
  67. with (negator = lessthan, class = 'CPU', not variant)
  68. external name '12' language builtin;
  69. create function informix.greaterthanorequal(serial8, serial8)
  70. returns informix.boolean
  71. specific ifx_serial8_greater_than_or_equal
  72. with (negator = lessthan, class = 'CPU', not variant)
  73. external name '12' language builtin;
  74. create function informix.lessthanorequal(serial, serial) returns informix.boolean
  75. specific ifx_serial_less_than_or_equal
  76. with (negator = greaterthan, class = 'CPU', not variant)
  77. external name '15' language builtin;
  78. create function informix.lessthanorequal(serial8, serial8) returns informix.boolean
  79. specific ifx_serial8_less_than_or_equal
  80. with (negator = greaterthan, class = 'CPU', not variant)
  81. external name '15' language builtin;
  82. create function informix.negate(serial) returns serial
  83. specific ifx_serial_negate
  84. with (class = 'CPU', not variant)
  85. external name '23' language builtin;
  86. create function informix.negate(serial8) returns serial8
  87. specific ifx_serial8_negate
  88. with (class = 'CPU', not variant)
  89. external name '23' language builtin;
  90. create function informix.minus(serial, serial) returns decimal
  91. specific ifx_serial_minus
  92. with (class = 'CPU', not variant)
  93. external name '23' language builtin;
  94. create function informix.minus(serial8, serial8) returns decimal
  95. specific ifx_serial8_minus
  96. with (class = 'CPU', not variant)
  97. external name '23' language builtin;
  98. create function informix.positive(serial) returns serial
  99. specific ifx_serial_positive
  100. with (class = 'CPU', not variant)
  101. external name '35' language builtin;
  102. create function informix.positive(serial8) returns serial8
  103. specific ifx_serial8_positive
  104. with (class = 'CPU', not variant)
  105. external name '35' language builtin;
  106. create function informix.plus(serial, serial) returns decimal
  107. specific ifx_serial_plus
  108. with (class = 'CPU', commutator = plus, not variant)
  109. external name '35' language builtin;
  110. create function informix.plus(serial8, serial8) returns decimal
  111. specific ifx_serial8_plus
  112. with (class = 'CPU', commutator = plus, not variant)
  113. external name '35' language builtin;
  114. create function informix.times(serial, serial) returns decimal
  115. specific ifx_serial_times
  116. with (class = 'CPU', commutator = times, not variant)
  117. external name '25' language builtin;
  118. create function informix.times(serial8, serial8) returns decimal
  119. specific ifx_serial8_times
  120. with (class = 'CPU', commutator = times, not variant)
  121. external name '25' language builtin;
  122. create function informix.divide(serial, serial) returns decimal
  123. specific ifx_serial_divide
  124. with (class = 'CPU', not variant)
  125. external name '8' language builtin;
  126. create function informix.divide(serial8, serial8) returns decimal
  127. specific ifx_serial8_divide
  128. with (class = 'CPU', not variant)
  129. external name '8' language builtin;
  130. create function informix.abs(serial)
  131. returns serial
  132. specific ifx_serial_abs
  133. with (class = 'CPU', not variant)
  134. external name '100' language builtin;
  135. create function informix.abs(serial8)
  136. returns serial8
  137. specific ifx_serial8_abs
  138. with (class = 'CPU', not variant)
  139. external name '100' language builtin;
  140. create function informix.exp(serial)
  141. returns float
  142. specific ifx_serial_exp
  143. with (class = 'CPU', not variant)
  144. external name '103' language builtin;
  145. create function informix.exp(serial8)
  146. returns float
  147. specific ifx_serial8_exp
  148. with (class = 'CPU', not variant)
  149. external name '103' language builtin;
  150. create function informix.hex(serial)
  151. returns char(20)
  152. specific ifx_serial_hex
  153. with (class = 'CPU', not variant)
  154. external name '92' language builtin;
  155. create function informix.hex(serial8)
  156. returns char(20)
  157. specific ifx_serial8_hex
  158. with (class = 'CPU', not variant)
  159. external name '92' language builtin;
  160. create function informix.log10(serial)
  161. returns float
  162. specific ifx_serial_log10
  163. with (class = 'CPU', not variant)
  164. external name '102' language builtin;
  165. create function informix.log10(serial8)
  166. returns float
  167. specific ifx_serial8_log10
  168. with (class = 'CPU', not variant)
  169. external name '102' language builtin;
  170. create function informix.logn(serial)
  171. returns float
  172. specific ifx_serial_logn
  173. with (class = 'CPU', not variant)
  174. external name '101' language builtin;
  175. create function informix.logn(serial8)
  176. returns float
  177. specific ifx_serial8_logn
  178. with (class = 'CPU', not variant)
  179. external name '101' language builtin;
  180. create function informix.mod(serial, integer)
  181. returns int
  182. specific ifx_serial_mod
  183. with (class = 'CPU', not variant)
  184. external name '104' language builtin;
  185. create function informix.mod(serial8, integer)
  186. returns int8
  187. specific ifx_serial8_mod
  188. with (class = 'CPU', not variant)
  189. external name '104' language builtin;
  190. create function informix.pow(serial, float)
  191. returns float
  192. specific ifx_serial_pow
  193. with (class = 'CPU', not variant)
  194. external name '105' language builtin;
  195. create function informix.pow(serial8, float)
  196. returns float
  197. specific ifx_serial8_pow
  198. with (class = 'CPU', not variant)
  199. external name '105' language builtin;
  200. create function informix.root(serial, float default 2.0)
  201. returns float
  202. specific ifx_serial_root
  203. with (class = 'CPU', not variant)
  204. external name '106' language builtin;
  205. create function informix.root(serial8, float default 2.0)
  206. returns float
  207. specific ifx_serial8_root
  208. with (class = 'CPU', not variant)
  209. external name '106' language builtin;
  210. create function informix.round(serial, integer default 0)
  211. returns decimal
  212. specific ifx_serial_round
  213. with (class = 'CPU', not variant)
  214. external name '90' language builtin;
  215. create function informix.round(serial8, integer default 0)
  216. returns decimal
  217. specific ifx_serial8_round
  218. with (class = 'CPU', not variant)
  219. external name '90' language builtin;
  220. create function informix.sqrt(serial)
  221. returns float
  222. specific ifx_serial_sqrt
  223. with (class = 'CPU', not variant)
  224. external name '107' language builtin;
  225. create function informix.sqrt(serial8)
  226. returns float
  227. specific ifx_serial8_sqrt
  228. with (class = 'CPU', not variant)
  229. external name '107' language builtin;
  230. create function informix.trunc(serial, integer default 0)
  231. returns decimal
  232. specific ifx_serial_trunc
  233. with (class = 'CPU', not variant)
  234. external name '91' language builtin;
  235. create function informix.trunc(serial8, integer default 0)
  236. returns decimal
  237. specific ifx_serial8_trunc
  238. with (class = 'CPU', not variant)
  239. external name '91' language builtin;
  240. create function informix.cos(serial)
  241. returns float
  242. specific ifx_serial_cos
  243. with (class = 'CPU', not variant)
  244. external name '97' language builtin;
  245. create function informix.cos(serial8)
  246. returns float
  247. specific ifx_serial8_cos
  248. with (class = 'CPU', not variant)
  249. external name '97' language builtin;
  250. create function informix.sin(serial)
  251. returns float
  252. specific ifx_serial_sin
  253. with (class = 'CPU', not variant)
  254. external name '96' language builtin;
  255. create function informix.sin(serial8)
  256. returns float
  257. specific ifx_serial8_sin
  258. with (class = 'CPU', not variant)
  259. external name '96' language builtin;
  260. create function informix.tan(serial)
  261. returns float
  262. specific ifx_serial_tan
  263. with (class = 'CPU', not variant)
  264. external name '93' language builtin;
  265. create function informix.tan(serial8)
  266. returns float
  267. specific ifx_serial8_tan
  268. with (class = 'CPU', not variant)
  269. external name '93' language builtin;
  270. create function informix.acos(serial)
  271. returns float
  272. specific ifx_serial_acos
  273. with (class = 'CPU', not variant)
  274. external name '99' language builtin;
  275. create function informix.acos(serial8)
  276. returns float
  277. specific ifx_serial8_acos
  278. with (class = 'CPU', not variant)
  279. external name '99' language builtin;
  280. create function informix.asin(serial)
  281. returns float
  282. specific ifx_serial_asin
  283. with (class = 'CPU', not variant)
  284. external name '98' language builtin;
  285. create function informix.asin(serial8)
  286. returns float
  287. specific ifx_serial8_asin
  288. with (class = 'CPU', not variant)
  289. external name '98' language builtin;
  290. create function informix.atan(serial)
  291. returns float
  292. specific ifx_serial_atan
  293. with (class = 'CPU', not variant)
  294. external name '94' language builtin;
  295. create function informix.atan(serial8)
  296. returns float
  297. specific ifx_serial8_atan
  298. with (class = 'CPU', not variant)
  299. external name '94' language builtin;
  300. create function informix.atan2(serial, float)
  301. returns float
  302. specific ifx_serial_atan2
  303. with (class = 'CPU', not variant)
  304. external name '95' language builtin;
  305. create function informix.atan2(serial8, float)
  306. returns float
  307. specific ifx_serial8_atan2
  308. with (class = 'CPU', not variant)
  309. external name '95' language builtin;
  310. create function informix.ifx_lo_release(informix.blob)
  311. returns integer
  312. external name '(sq_lo_release)'
  313. language c; {this is variant}
  314. create function informix.like(lvarchar, lvarchar) returns informix.boolean
  315. specific ifx_lvarchar_like_with_no_escape
  316. with (class = 'CPU', not variant)
  317. external name '17' language builtin;
  318. create function informix.like(lvarchar, lvarchar, lvarchar)
  319. returns informix.boolean
  320. specific ifx_lvarchar_like_with_escape
  321. with (class = 'CPU', not variant)
  322. external name '17' language builtin;
  323. create function informix.matches(lvarchar, lvarchar)
  324. returns informix.boolean
  325. specific ifx_lvarchar_matches_binary
  326. with (class = 'CPU', not variant)
  327. external name '19' language builtin;
  328. create function informix.matches(lvarchar, lvarchar, lvarchar)
  329. returns informix.boolean
  330. specific ifx_lvarchar_matches_trinary
  331. with (class = 'CPU', not variant)
  332. external name '19' language builtin;
  333. create function informix.concat(informix.lvarchar, informix.lvarchar)
  334. returns informix.lvarchar
  335. with (class = 'CPU', not variant)
  336. external name '(lvarchar_concat)' language C;
  337. create function informix.length(lvarchar)
  338. returns int
  339. specific ifx_lvarchar_length
  340. with (class = 'CPU', not variant)
  341. external name '16' language builtin;
  342. create function informix.octet_length(lvarchar)
  343. returns int
  344. specific ifx_lvarchar_octet_length
  345. with (class = 'CPU', not variant)
  346. external name '74' language builtin;
  347. create function informix.char_length(lvarchar)
  348. returns int
  349. specific ifx_lvarchar_char_length
  350. with (class = 'CPU', not variant)
  351. external name '75' language builtin;