boot940.sql 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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: boot940.sql }
  12. { }
  13. { Description: }
  14. { Bootstrapping script for a 9.40 database }
  15. { }
  16. { ************************************************************************* }
  17. { }
  18. { ** IMPORTANT - PLEASE READ }
  19. { }
  20. { All types and routines referenced in this file must be prefixed }
  21. { with the user name "informix". E.g., use "informix.boolean" }
  22. { and not "boolean" }
  23. { }
  24. { Also, please follow the formatting conventions!!! }
  25. { }
  26. { Please ensure that the identifiers that you choose are <= 18 }
  27. { characters in length. Otherwise the changes would affect database }
  28. { reversion. }
  29. { }
  30. { ************************************************************************* }
  31. { ifx_replace_module() with a new parameter to replace module in }
  32. { user specific schema. }
  33. create dba procedure informix.ifx_replace_module (oldmodulename varchar(255),
  34. newmodulename varchar(255),
  35. languagename varchar(255), module_ownername varchar(32)) returns int
  36. define retvalue int;
  37. let retvalue = ifx_invalid_module(oldmodulename,
  38. languagename);
  39. if retvalue = 0 then
  40. let retvalue = ifx_update_extern( oldmodulename, newmodulename, languagename);
  41. update informix.sysprocedures
  42. set externalname = ifx_new_external(newmodulename, externalname,
  43. languagename)
  44. where owner = module_ownername
  45. and ifx_match_external(oldmodulename, externalname) = 1;
  46. let retvalue = ifx_load_internal(newmodulename, languagename);
  47. end if;
  48. if retvalue = 0 then
  49. return 0;
  50. else
  51. raise exception -9720;
  52. end if;
  53. end procedure;
  54. grant execute on procedure informix.ifx_replace_module (varchar(255),varchar(255),
  55. varchar(255), varchar(32)) to public as informix;